From 8297ba1bc26c79814eb47923b8b2def508e415ba Mon Sep 17 00:00:00 2001 From: Lars Storjord Date: Wed, 9 Jul 2014 20:24:48 +0200 Subject: [PATCH 1/7] #5: Convert to addon. Note: Same limitation as script version is currently in effect. This only works when the player starts in a plane (for now). --- .../B_Plane_CAS_01_F_ccipProvider.sqf | 0 .../I_Plane_Fighter_03_CAS_F_ccipProvider.sqf | 0 .../O_Plane_CAS_02_F_ccipProvider.sqf | 0 addons/arma_ccip/config.cpp | 20 ++++++++++++ .../arma_ccip/getImpactPos.sqf | 0 .../arma_ccip/getImpactPosBomb.sqf | 0 .../arma_ccip/getImpactPosRocket.sqf | 0 includes.sqf => addons/arma_ccip/includes.sqf | 2 +- .../arma_ccip/init.sqf | 31 ++++++++++++------- mod.cpp | 5 +++ 10 files changed, 46 insertions(+), 12 deletions(-) rename {ccipProviders => addons/arma_ccip/ccipProviders}/B_Plane_CAS_01_F_ccipProvider.sqf (100%) rename {ccipProviders => addons/arma_ccip/ccipProviders}/I_Plane_Fighter_03_CAS_F_ccipProvider.sqf (100%) rename {ccipProviders => addons/arma_ccip/ccipProviders}/O_Plane_CAS_02_F_ccipProvider.sqf (100%) create mode 100644 addons/arma_ccip/config.cpp rename getImpactPos.sqf => addons/arma_ccip/getImpactPos.sqf (100%) rename getImpactPosBomb.sqf => addons/arma_ccip/getImpactPosBomb.sqf (100%) rename getImpactPosRocket.sqf => addons/arma_ccip/getImpactPosRocket.sqf (100%) rename includes.sqf => addons/arma_ccip/includes.sqf (90%) rename jonimake_ccip.sqf => addons/arma_ccip/init.sqf (87%) create mode 100644 mod.cpp diff --git a/ccipProviders/B_Plane_CAS_01_F_ccipProvider.sqf b/addons/arma_ccip/ccipProviders/B_Plane_CAS_01_F_ccipProvider.sqf similarity index 100% rename from ccipProviders/B_Plane_CAS_01_F_ccipProvider.sqf rename to addons/arma_ccip/ccipProviders/B_Plane_CAS_01_F_ccipProvider.sqf diff --git a/ccipProviders/I_Plane_Fighter_03_CAS_F_ccipProvider.sqf b/addons/arma_ccip/ccipProviders/I_Plane_Fighter_03_CAS_F_ccipProvider.sqf similarity index 100% rename from ccipProviders/I_Plane_Fighter_03_CAS_F_ccipProvider.sqf rename to addons/arma_ccip/ccipProviders/I_Plane_Fighter_03_CAS_F_ccipProvider.sqf diff --git a/ccipProviders/O_Plane_CAS_02_F_ccipProvider.sqf b/addons/arma_ccip/ccipProviders/O_Plane_CAS_02_F_ccipProvider.sqf similarity index 100% rename from ccipProviders/O_Plane_CAS_02_F_ccipProvider.sqf rename to addons/arma_ccip/ccipProviders/O_Plane_CAS_02_F_ccipProvider.sqf diff --git a/addons/arma_ccip/config.cpp b/addons/arma_ccip/config.cpp new file mode 100644 index 0000000..657de3f --- /dev/null +++ b/addons/arma_ccip/config.cpp @@ -0,0 +1,20 @@ +class CfgPatches { + class arma_ccip { + units[] = {}; + weapons[] = {}; + requiredVersion = 0.1; + requiredAddons[] = {"A3_Air_F"}; + author[] = {"jonimake", "Lstor"}; + }; +}; + +class CfgFunctions { + class ccip { + class ccip_functions { + class ccip_main { + file = "\arma_ccip\init.sqf"; + postInit = 1; + }; + }; + }; +}; diff --git a/getImpactPos.sqf b/addons/arma_ccip/getImpactPos.sqf similarity index 100% rename from getImpactPos.sqf rename to addons/arma_ccip/getImpactPos.sqf diff --git a/getImpactPosBomb.sqf b/addons/arma_ccip/getImpactPosBomb.sqf similarity index 100% rename from getImpactPosBomb.sqf rename to addons/arma_ccip/getImpactPosBomb.sqf diff --git a/getImpactPosRocket.sqf b/addons/arma_ccip/getImpactPosRocket.sqf similarity index 100% rename from getImpactPosRocket.sqf rename to addons/arma_ccip/getImpactPosRocket.sqf diff --git a/includes.sqf b/addons/arma_ccip/includes.sqf similarity index 90% rename from includes.sqf rename to addons/arma_ccip/includes.sqf index 8031b78..f6447d4 100644 --- a/includes.sqf +++ b/addons/arma_ccip/includes.sqf @@ -7,4 +7,4 @@ //#define TRACE //visualize weapon position on aircraft -//#define WEAPON_POS_DEBUG \ No newline at end of file +//#define WEAPON_POS_DEBUG diff --git a/jonimake_ccip.sqf b/addons/arma_ccip/init.sqf similarity index 87% rename from jonimake_ccip.sqf rename to addons/arma_ccip/init.sqf index 142ee4e..1b32567 100644 --- a/jonimake_ccip.sqf +++ b/addons/arma_ccip/init.sqf @@ -1,5 +1,8 @@ // CCIP script by Joni Mäkelä +// Addon version by Lars Storjord +// // For custom vehicles please provide a provider TODO description + #include "includes.sqf" ccip_iterations = 512; @@ -27,7 +30,7 @@ sampleRatio = 1/numSamples; ccipString = ""; ccipColor = [0,1,0,0.5]; ccipColor2 = [1,0,0,.5]; -ccipIcon = getText (configfile >> "CfgWeaponCursors" >> "arifle" >> "texture");//(configfile >> "CfgWeaponIcons" >> "srifle"); +ccipIcon = getText (configfile >> "CfgWeaponCursors" >> "arifle" >> "texture"); ccipFontSize = 0.0175 * SafeZoneW; ccipIconHeight = 1; ccipIconWidth = 1; @@ -41,9 +44,9 @@ trajectoryPositions = []; currentPlane = objNull; currentProvider = []; -getImpactPos = compile preprocessFileLineNumbers "jonimake_ccip\getImpactPos.sqf"; -getImpactPosRocket = compile preprocessFileLineNumbers "jonimake_ccip\getImpactPosRocket.sqf"; -getImpactPosBomb = compile preprocessFileLineNumbers "jonimake_ccip\getImpactPosBomb.sqf"; +getImpactPos = compile preprocessFileLineNumbers "arma_ccip\getImpactPos.sqf"; +getImpactPosRocket = compile preprocessFileLineNumbers "arma_ccip\getImpactPosRocket.sqf"; +getImpactPosBomb = compile preprocessFileLineNumbers "arma_ccip\getImpactPosBomb.sqf"; getDrawPos = { _plane = _this; @@ -177,6 +180,7 @@ ccip_shutdown = { }; ccip_start = { + private "_plane"; _plane = _this select 0; _engineState = _this select 1; if(!_engineState) exitWith { @@ -184,7 +188,7 @@ ccip_start = { }; if(isPlayer (driver _plane) && ! ccip_hasEventHandler) then { currentPlane = _plane; - _providerFileName = "jonimake_ccip\ccipProviders\" + (typeOf _plane + "_ccipProvider.sqf"); + _providerFileName = "arma_ccip\ccipProviders\" + (typeOf _plane + "_ccipProvider.sqf"); currentProvider = call compile preprocessFileLineNumbers _providerFileName; //returns a pairs array (hashmap/dictionary of some sorts) ["ccip_frameHandler", "onEachFrame", { call calculateImpactPoint; @@ -196,10 +200,15 @@ ccip_start = { }; }; -if(_this isKindOf "plane") then { - _getOutHandle = _this addEventHandler ["GetOut", {_this spawn ccip_shutdown}]; - _startHandle = _this addEventHandler ["Engine", {[(_this select 0), (_this select 1)] spawn ccip_start}]; - if(isPlayer driver _this) then { - _handle = [_this, isEngineOn _this] spawn ccip_start; +private "_plane"; +_plane = vehicle player; + +if(_plane isKindOf "plane") then { + _getOutHandle = _plane addEventHandler ["GetOut", {_this spawn ccip_shutdown}]; + + if(isEngineOn _plane) then { + _handle = [_plane, true] spawn ccip_start; + } else { + _startHandle = _plane addEventHandler ["Engine", {[(_this select 0), (_this select 1)] spawn ccip_start}]; }; -}; \ No newline at end of file +}; diff --git a/mod.cpp b/mod.cpp new file mode 100644 index 0000000..970baf7 --- /dev/null +++ b/mod.cpp @@ -0,0 +1,5 @@ +name = "Arma-CCIP"; +picture = ""; +actionName = "Website"; +action = "http://github.com/jonimake/arma-ccip"; +description = "Arma-CCIP is a CCIP (Continuously Computed Impact Point) solver for aircraft in ArmA 3."; From d65cd79ce06387c834f64ea3842bf5e2e38eac3f Mon Sep 17 00:00:00 2001 From: Lars Storjord Date: Wed, 9 Jul 2014 20:29:01 +0200 Subject: [PATCH 2/7] Add .pbo to .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1bf8283..47c0273 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ ## ArmA specific ################# *.sqm +*.pbo ################# ## Eclipse From e4025f7d2a9a84c6a563bf40653f22030756123e Mon Sep 17 00:00:00 2001 From: Lars Storjord Date: Wed, 9 Jul 2014 21:12:07 +0200 Subject: [PATCH 3/7] #5: Working addon version This version features a fully working addon version. This has been tested will all three supported planes, and moving between them. Only tested in singleplayer. Known issue: - If using several playable characters in planes, the script is confused. The correct way to fix this is probably to add a check to continuously check if the driver (pilot) is a player. An alive check should probably also be added. Some cleaning up is in order before a proper release. Fixes #5. --- addons/arma_ccip/init.sqf | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/addons/arma_ccip/init.sqf b/addons/arma_ccip/init.sqf index 1b32567..f21b52a 100644 --- a/addons/arma_ccip/init.sqf +++ b/addons/arma_ccip/init.sqf @@ -200,15 +200,21 @@ ccip_start = { }; }; -private "_plane"; -_plane = vehicle player; +// Main entry point below -if(_plane isKindOf "plane") then { - _getOutHandle = _plane addEventHandler ["GetOut", {_this spawn ccip_shutdown}]; +while {true} do { + // Check every 1 sec if player is in a plane + waitUntil { sleep 1; vehicle player != player && {(vehicle player) isKindOf "plane"} }; - if(isEngineOn _plane) then { - _handle = [_plane, true] spawn ccip_start; + private "_vehicle"; + _vehicle = vehicle player; + + _getOutHandle = _vehicle addEventHandler ["GetOut", {_this spawn ccip_shutdown}]; + + if(isEngineOn _vehicle) then { + _handle = [_vehicle, true] spawn ccip_start; } else { - _startHandle = _plane addEventHandler ["Engine", {[(_this select 0), (_this select 1)] spawn ccip_start}]; + _startHandle = _vehicle addEventHandler ["Engine", {[(_this select 0), (_this select 1)] spawn ccip_start}]; }; }; + From d85b642d65a687433a41de45d4551f935fbf8ea4 Mon Sep 17 00:00:00 2001 From: Lars Storjord Date: Wed, 9 Jul 2014 21:25:09 +0200 Subject: [PATCH 4/7] Update README.md --- README.md | 120 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 66 insertions(+), 54 deletions(-) diff --git a/README.md b/README.md index cb418a8..a7cc63e 100644 --- a/README.md +++ b/README.md @@ -1,79 +1,73 @@ -arma-ccip +Arma-CCIP ========= -Arma-ccip is a CCIP (continously computed impact point) solver for aircrafts in ArmA 3. It is a client side script that only runs on clients. The script calculates the approximate impact point of the currently selected weapon in the aircraft. It is an approximation, so there will be a small degree of error between the calculated impact point and the real impact point. +Arma-CCIP is a CCIP (Continously Computed Impact Point) solver for aircraft in +ArmA 3. It is a client side script that only runs on clients. The script +calculates the approximate impact point of the currently selected weapon in the +aircraft. It is an approximation, so there will be a small degree of error +between the calculated impact point and the real impact point. Who it is for? -- - Vehicle authors - Other modders -- Other enthusiastic people +- Pilots and other enthusiasts -The script only calculates the impact point. There is just a crude cross on the HUD along with distance text to indicate the computed impact point. HUD development was never a focus of this project but that might change. +The script only calculates the impact point. There is just a crude cross on the +HUD along with distance text to indicate the computed impact point. HUD +development was never a focus of this project but that might change. The script provides two variables that can be accessed to get the impact point information: + ``` -//these are subject to change +// These are subject to change ccip_impactPos - contains the impact position in ASL format ccip_resultIndex - Value will be -1 if no impact point could be solved during the iteration. Otherwise the value will indicate which step of the Euler's method was below the ground. ``` -These variables are calculated on each frame and the ccip_impactPos variable is a moving average of the past ten frames. This is done to minimize jittering of the position. -Vehicle authors and other mod makers should only need to read these two variables in order to create a proper HUD for their aircraft. Of course suggestions for additional variables are welcome. +These variables are calculated on each frame and the `ccip_impactPos` variable is +a moving average of the past ten frames. This is done to minimize jittering of +the position. Vehicle authors and other mod makers should only need to read +these two variables in order to create a proper HUD for their aircraft. Of +course suggestions for additional variables are welcome. How does it work? -- -Approximation is done by using Euler's method to solve the projectile motion. +Approximation is done by using Euler's method to solve the projectile motion. The following ammo types are supported more or less: - - MissileCore and its sub-types. - - BulletCore and its sub-types. - - BombCore and its sub-types. + - `MissileCore` and its sub-types. + - `BulletCore` and its sub-types. + - `BombCore` and its sub-types. Installing and usage -- -**Note that you currently need to run this on the ArmA 3 dev branch due to the required vector functions that aren't yet on the main version.** -You just need to download the script files into your mission root so that the main function is in jonimake_ccip folder inside the mission root. -The script package has been tested with the following folder structure: -```sh -missionRoot -│ mission.sqm -│ -└───jonimake_ccip - │ getImpactPos.sqf - BulletCore solver - │ getImpactPosBomb.sqf - BombCore solver - │ getImpactPosRocket.sqf - MissileCore solver - │ includes.sqf - contains pre-processor defs for debugging - │ jonimake_ccip.sqf - main script file - │ - └───ccipProviders - place additional ccipProvider.sqf files here - B_Plane_CAS_01_F_ccipProvider.sqf - O_Plane_CAS_02_F_ccipProvider.sqf - I_Plane_Fighter_03_CAS_F_ccipProvider.sqf -``` -Run the script by writing the following script into the vehicle init: -``` -handle = this execVM "jonimake_ccip\jonimake_ccip.sqf" -``` -This event handlers to the vehicle that will enable and disable the ccip solver as needed. +**Note:** Running on ArmA 3 dev branch is no longer a requirement. + +[Install as a regular ArmA 3 addon](http://www.armaholic.com/forums.php?m=posts&q=20866). Configuring allowed weapons -- -In order to enable CCIP on a certain aircraft, you have to define all CCIP compatible weapons in a file that uses the vehicle type name suffixed with _ccipProvider.sqf. +In order to enable CCIP on a certain aircraft, you have to define all CCIP +compatible weapons in a file that uses the vehicle type name suffixed with +`_ccipProvider.sqf`. + +For example, the BLUFOR jet would use a file called +`B_Plane_CAS_01_F_ccipProvider.sqf` of which you can find an example below. -For example, the BLUFOR jet would use a file called B_Plane_CAS_01_F_ccipProvider.sqf of which you can find an example below. ```sqf _allowedWeapons = [ -"Rocket_04_HE_Plane_CAS_01_F", -"Rocket_04_AP_Plane_CAS_01_F", -"Gatling_30mm_Plane_CAS_01_F", -"Bomb_04_Plane_CAS_01_F"]; - -//These functions will be called in the jonimake_ccip.sqf file. -//The current plane is passed as _this parameter and the function -//has to return the position of the weapon in model space. This means -//you can either call _this selectionPosition "memoryposname" or just -//return the position as a three index array like the _heRocketInfo for example. + "Rocket_04_HE_Plane_CAS_01_F", + "Rocket_04_AP_Plane_CAS_01_F", + "Gatling_30mm_Plane_CAS_01_F", + "Bomb_04_Plane_CAS_01_F" +]; + +// These functions will be called in the jonimake_ccip.sqf file. +// The current plane is passed as _this parameter and the function +// has to return the position of the weapon in model space. This means +// you can either call _this selectionPosition "memoryposname" or just +// return the position as a three index array like the _heRocketInfo for example. _gatlinInfo = { _this selectionPosition "Gatling_barrels_end"; }; @@ -96,17 +90,35 @@ _pairs = [_pairs,"Gatling_30mm_Plane_CAS_01_F",_gatlinInfo,false] call BIS_fnc_a _pairs = [_pairs,"Rocket_04_HE_Plane_CAS_01_F",_heRocketInfo,false] call BIS_fnc_addToPairs; _pairs = [_pairs,"Rocket_04_AP_Plane_CAS_01_F",_apRocketInfo,false] call BIS_fnc_addToPairs; -[_allowedWeapons , _pairs]; //return as an array that contains the allowed weapons list and the pairs data structure +[_allowedWeapons , _pairs]; // Return as an array that contains the allowed weapons list and the pairs data structure ``` -License +Authors -- -MIT License: -Copyright (C) 2014 Joni Mäkelä +- Arma-CCIP is written by Joni Mäkelä (@jonimake). +- Addon version by Lars Storjord (@lstor). -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: +License +-- +MIT License: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +Copyright (C) 2014 Joni Mäkelä -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 +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. From 5d732c57b0c4b5d6e529c3bdf9360f8cd453f020 Mon Sep 17 00:00:00 2001 From: Lars Storjord Date: Wed, 9 Jul 2014 21:29:27 +0200 Subject: [PATCH 5/7] Add LICENSE.md --- LICENSE.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..ffa2eff --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License: + +Copyright (C) 2014 Joni Mäkelä + +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. From a6ac1434a6b924a51dd647473b853ac7cb853dcf Mon Sep 17 00:00:00 2001 From: Lars Storjord Date: Wed, 9 Jul 2014 21:32:38 +0200 Subject: [PATCH 6/7] Add addon .pbo file --- addons/arma_ccip.pbo | Bin 0 -> 17592 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 addons/arma_ccip.pbo diff --git a/addons/arma_ccip.pbo b/addons/arma_ccip.pbo new file mode 100644 index 0000000000000000000000000000000000000000..b2083011d4e89e8de8bf0354052bc9227adb4b7d GIT binary patch literal 17592 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 literal 0 HcmV?d00001 From 7e00981b77fb4edf1a0c9c98e334fd3161fe293b Mon Sep 17 00:00:00 2001 From: Lars Storjord Date: Wed, 9 Jul 2014 21:32:45 +0200 Subject: [PATCH 7/7] Revert "Add addon .pbo file" This reverts commit a6ac1434a6b924a51dd647473b853ac7cb853dcf. --- addons/arma_ccip.pbo | Bin 17592 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 addons/arma_ccip.pbo diff --git a/addons/arma_ccip.pbo b/addons/arma_ccip.pbo deleted file mode 100644 index b2083011d4e89e8de8bf0354052bc9227adb4b7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17592 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