mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
add camera tool to observe projectile in flight
This commit is contained in:
parent
e54e6ec254
commit
8948e8ac77
@ -11,3 +11,7 @@
|
|||||||
false
|
false
|
||||||
},
|
},
|
||||||
[15, [false, true, false]], false] call CBA_fnc_addKeybind; //Ctrl+Tab Key
|
[15, [false, true, false]], false] call CBA_fnc_addKeybind; //Ctrl+Tab Key
|
||||||
|
|
||||||
|
#ifdef ENABLE_PROJECTILE_CAMERA
|
||||||
|
GVAR(dev_fnc_projectileCamera) = compile preprocessFileLineNumbers QPATHTOF(dev\projectileCamera.sqf);
|
||||||
|
#endif
|
||||||
|
34
addons/missileguidance/dev/projectileCamera.sqf
Normal file
34
addons/missileguidance/dev/projectileCamera.sqf
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#include "\z\ace\addons\missileguidance\script_component.hpp"
|
||||||
|
// tracks a projectile until it explodes
|
||||||
|
params ["_projectile"];
|
||||||
|
|
||||||
|
private _camera = "camera" camCreate getPosATL _projectile;
|
||||||
|
_camera camPrepareFOV 0.7;
|
||||||
|
_camera cameraEffect ["internal", "back"];
|
||||||
|
|
||||||
|
_camera camCommitPrepared 0;
|
||||||
|
|
||||||
|
[{
|
||||||
|
params ["_args", "_pfh"];
|
||||||
|
_args params ["_projectile", "_camera", "_projectilePos"];
|
||||||
|
if !(alive _projectile) exitWith {
|
||||||
|
[{
|
||||||
|
params ["_camera"];
|
||||||
|
|
||||||
|
_camera cameraEffect ["terminate", "back"];
|
||||||
|
_camera camCommitPrepared 0;
|
||||||
|
camDestroy _camera;
|
||||||
|
}, [_camera], 1.5] call CBA_fnc_waitAndExecute;
|
||||||
|
|
||||||
|
_camera camPrepareTarget _projectilePos;
|
||||||
|
_camera camCommitPrepared 0;
|
||||||
|
|
||||||
|
[_pfh] call CBA_fnc_removePerFrameHandler;
|
||||||
|
};
|
||||||
|
|
||||||
|
_camera camPrepareTarget _projectile;
|
||||||
|
_camera camPrepareRelPos [0, -5, 1];
|
||||||
|
_camera camCommitPrepared 0;
|
||||||
|
|
||||||
|
_args set [2, getPosATL _projectile];
|
||||||
|
}, 0, [_projectile, _camera, getPosATL _projectile]] call CBA_fnc_addPerFrameHandler;
|
@ -175,6 +175,10 @@ if (_onFiredFunc != "") then {
|
|||||||
|
|
||||||
[LINKFUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler;
|
[LINKFUNC(guidancePFH),0, _args ] call CBA_fnc_addPerFrameHandler;
|
||||||
|
|
||||||
|
#ifdef ENABLE_PROJECTILE_CAMERA
|
||||||
|
[_projectile] call GVAR(dev_fnc_projectileCamera);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Clears locking settings
|
/* Clears locking settings
|
||||||
(vehicle _shooter) setVariable [QGVAR(target), nil];
|
(vehicle _shooter) setVariable [QGVAR(target), nil];
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include "\z\ace\addons\main\script_mod.hpp"
|
#include "\z\ace\addons\main\script_mod.hpp"
|
||||||
|
|
||||||
#define DRAW_GUIDANCE_INFO
|
#define DRAW_GUIDANCE_INFO
|
||||||
|
#define ENABLE_PROJECTILE_CAMERA
|
||||||
#define DEBUG_MODE_FULL
|
#define DEBUG_MODE_FULL
|
||||||
#define DISABLE_COMPILE_CACHE
|
#define DISABLE_COMPILE_CACHE
|
||||||
// #define ENABLE_PERFORMANCE_COUNTERS
|
// #define ENABLE_PERFORMANCE_COUNTERS
|
||||||
|
Loading…
Reference in New Issue
Block a user