mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Code passing cleanup.
This commit is contained in:
parent
61f5324d29
commit
64724737cd
@ -17,8 +17,4 @@ PREP(laser_init);
|
|||||||
PREP(laserTargetPFH);
|
PREP(laserTargetPFH);
|
||||||
|
|
||||||
ACE_LASERS = [];
|
ACE_LASERS = [];
|
||||||
|
ACE_DEFAULT_LASER_CODE = 1001;
|
||||||
ACE_DEFAULT_LASER_CODE = 1001;
|
|
||||||
ACE_DEFAULT_FIRE_SELECTION = [FIREMODE_DIRECT_LOAL, ACE_DEFAULT_LASER_CODE];
|
|
||||||
|
|
||||||
FUNC(getPosASL) = {visiblePositionASL (_this select 0)};
|
|
@ -1,17 +1,21 @@
|
|||||||
|
#define DEBUG_MODE_FULL
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
private ["_missile", "_headingPitch", "_found", "_vectorTo", "_polarTo", "_dir", "_vertOk", "_horzOk", "_fov",
|
private ["_seeker", "_headingPitch", "_found", "_vectorTo", "_polarTo", "_dir", "_vertOk", "_horzOk", "_fov",
|
||||||
"_closestDistance", "_pos1", "_pos2", "_disCheck", "_currentTarget", "_potentialTargets", "_offset", "_vector"];
|
"_closestDistance", "_pos1", "_pos2", "_disCheck", "_currentTarget", "_potentialTargets", "_offset", "_vector"];
|
||||||
_missile = _this select 0;
|
|
||||||
|
_seeker = _this select 0;
|
||||||
_laserCode = _this select 1;
|
_laserCode = _this select 1;
|
||||||
_fov = if (count _this > 2) then {_this select 2} else {75};
|
_fov = if (count _this > 2) then {_this select 2} else {75};
|
||||||
_vector = if (count _this > 3) then {_this select 3} else {vectorDir _missile};
|
_vector = if (count _this > 3) then {_this select 3} else {vectorDir _seeker};
|
||||||
_offset = if (count _this > 4) then {_this select 4} else {[0,0,0]};
|
_offset = if (count _this > 4) then {_this select 4} else {[0,0,0]};
|
||||||
|
|
||||||
_headingPitch = _vector call CBA_fnc_vect2polar;
|
_headingPitch = _vector call CBA_fnc_vect2polar;
|
||||||
_currentTarget = nil;
|
_currentTarget = nil;
|
||||||
_found = false;
|
_found = false;
|
||||||
|
|
||||||
|
_getPosASL = {visiblePositionASL (_this select 0)};
|
||||||
|
|
||||||
LOG("Searching lasers");
|
LOG("Searching lasers");
|
||||||
if(!(isNil "ACE_LASERS")) then {
|
if(!(isNil "ACE_LASERS")) then {
|
||||||
_potentialTargets = [];
|
_potentialTargets = [];
|
||||||
@ -19,8 +23,8 @@ if(!(isNil "ACE_LASERS")) then {
|
|||||||
|
|
||||||
{
|
{
|
||||||
if(!(isNull _x)) then {
|
if(!(isNull _x)) then {
|
||||||
_sensorPos = ATLtoASL(_missile modelToWorldVisual _offset);
|
_sensorPos = ATLtoASL(_seeker modelToWorldVisual _offset);
|
||||||
_vectorTo = [_sensorPos, ([_x] call FUNC(getPosASL))] call BIS_fnc_vectorFromXToY;
|
_vectorTo = [_sensorPos, ([_x] call _getPosASL)] call BIS_fnc_vectorFromXToY;
|
||||||
_polarTo = _vectorTo call CBA_fnc_vect2polar;
|
_polarTo = _vectorTo call CBA_fnc_vect2polar;
|
||||||
_dir = _polarTo select 1;
|
_dir = _polarTo select 1;
|
||||||
_dir = _dir - (_headingPitch select 1);
|
_dir = _dir - (_headingPitch select 1);
|
||||||
@ -42,7 +46,7 @@ if(!(isNil "ACE_LASERS")) then {
|
|||||||
|
|
||||||
if(_vertOk && {_horzOk}) then {
|
if(_vertOk && {_horzOk}) then {
|
||||||
// Does the laser currently have our current code, if we have one?
|
// Does the laser currently have our current code, if we have one?
|
||||||
_targetCode = _x getVariable ["ACE_LASERTARGET_CODE", ACE_DEFAULT_LASER_CODE];
|
_targetCode = _x getVariable ["ACE_LASER_CODE", ACE_DEFAULT_LASER_CODE];
|
||||||
TRACE_1("Target in sight, checking code", _targetCode, _laserCode);
|
TRACE_1("Target in sight, checking code", _targetCode, _laserCode);
|
||||||
if(_targetCode == _laserCode) then {
|
if(_targetCode == _laserCode) then {
|
||||||
_potentialTargets set[(count _potentialTargets), _x];
|
_potentialTargets set[(count _potentialTargets), _x];
|
||||||
@ -56,11 +60,11 @@ if(!(isNil "ACE_LASERS")) then {
|
|||||||
|
|
||||||
_closestDistance = 100000;
|
_closestDistance = 100000;
|
||||||
{
|
{
|
||||||
_pos1 = (getPosASL _missile);
|
_pos1 = (getPosASL _seeker);
|
||||||
_pos2 = ([_x] call FUNC(getPosASL));
|
_pos2 = ([_x] call _getPosASL);
|
||||||
_disCheck = _pos1 distance _pos2;
|
_disCheck = _pos1 distance _pos2;
|
||||||
// shouldn't this bail out when a valid target is found instead of iterating over all potential targets ?
|
// 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 {
|
if(_disCheck < _closestDistance && {[_pos1, _pos2, _x, _seeker] call FUNC(checkLos)}) then {
|
||||||
_found = true;
|
_found = true;
|
||||||
_currentTarget = _x;
|
_currentTarget = _x;
|
||||||
_closestDistance = _disCheck;
|
_closestDistance = _disCheck;
|
||||||
|
@ -9,7 +9,7 @@ TRACE_1("enter", _this);
|
|||||||
// Add the laser localized to the laser array, and give it the default localized code
|
// Add the laser localized to the laser array, and give it the default localized code
|
||||||
PUSH(ACE_LASERS, _laserTarget);
|
PUSH(ACE_LASERS, _laserTarget);
|
||||||
// Check the vehicle, otherwise use the default
|
// Check the vehicle, otherwise use the default
|
||||||
_laserTarget setVariable ["ACE_LASERTARGET_CODE", ACE_DEFAULT_LASER_CODE, false];
|
_laserTarget setVariable ["ACE_LASER_CODE", ACE_DEFAULT_LASER_CODE, false];
|
||||||
// Clean the lasers of any null objects while we are here
|
// Clean the lasers of any null objects while we are here
|
||||||
REM(ACE_LASERS, objNull);
|
REM(ACE_LASERS, objNull);
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ FUNC(laserHudDesignatePFH) = {
|
|||||||
_laserTarget = _args select 0;
|
_laserTarget = _args select 0;
|
||||||
_shooter = _args select 1;
|
_shooter = _args select 1;
|
||||||
|
|
||||||
TRACE_1("", _args);
|
TRACE_1("", _args, (_laserTarget getVariable["ACE_LASER_CODE"]));
|
||||||
|
|
||||||
if((vehicle ACE_player) != _shooter || !alive _shooter || isNull _vehicle || isNull _laserTarget || !GVAR(active) ) exitWith {
|
if((vehicle ACE_player) != _shooter || !alive _shooter || isNull _vehicle || isNull _laserTarget || !GVAR(active) ) exitWith {
|
||||||
[_vehicle, _shooter, _laserTarget] call FUNC(laserHudDesignateOff);
|
[_vehicle, _shooter, _laserTarget] call FUNC(laserHudDesignateOff);
|
||||||
|
@ -2,9 +2,14 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
EXPLODE_7_PVT((_this select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
|
EXPLODE_7_PVT((_this select 0),_shooter,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile);
|
||||||
private["_targets", "_foundTargetPos"];
|
private["_targets", "_foundTargetPos", "_launchParams", "_seekerParams", "_targetLaunchParams"];
|
||||||
|
|
||||||
_targets = [_projectile, ACE_DEFAULT_LASER_CODE, 70, (velocity _projectile)] call ace_laser_fnc_findLaserDesignator;
|
_launchParams = _this select 1;
|
||||||
|
_targetLaunchParams = _launchParams select 1;
|
||||||
|
|
||||||
|
_seekerParams = _this select 3;
|
||||||
|
|
||||||
|
_targets = [_projectile, ACE_DEFAULT_LASER_CODE, (_seekerParams select 0)] call ace_laser_fnc_findLaserDesignator;
|
||||||
_foundTargetPos = getPosASL (_targets select 1);
|
_foundTargetPos = getPosASL (_targets select 1);
|
||||||
|
|
||||||
TRACE_1("Seeker return target pos", _foundTargetPos);
|
TRACE_1("Seeker return target pos", _foundTargetPos);
|
||||||
|
Loading…
Reference in New Issue
Block a user