From 6f64fcd0fbbe35841b7364693c6cfef107e9cab0 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 28 Sep 2015 18:45:10 +0200 Subject: [PATCH] search for door in geometry lod (lineintersectssurface) --- addons/interaction/functions/fnc_getDoor.sqf | 10 ++++------ addons/interaction/functions/fnc_joinTeam.sqf | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/interaction/functions/fnc_getDoor.sqf b/addons/interaction/functions/fnc_getDoor.sqf index 6b1134675d..8261aa44f0 100644 --- a/addons/interaction/functions/fnc_getDoor.sqf +++ b/addons/interaction/functions/fnc_getDoor.sqf @@ -19,18 +19,16 @@ params ["_distance"]; -private ["_position0", "_position1", "_intersections", "_count", "_house", "_door"]; +private ["_position0", "_position1", "_intersections", "_house", "_door"]; _position0 = positionCameraToWorld [0, 0, 0]; _position1 = positionCameraToWorld [0, 0, _distance]; -_intersections = lineIntersectsWith [AGLToASL _position0, AGLToASL _position1, objNull, objNull, true]; // @todo LIS +_intersections = lineIntersectsSurfaces [AGLToASL _position0, AGLToASL _position1, cameraOn, objNull, true, 1, "GEOM"]; -_count = count _intersections; +if (_intersections isEqualTo []) exitWith {[objNull, ""]}; -if (_count == 0) exitWith {[objNull, ""]}; - -_house = _intersections select (_count - 1); +_house = _intersections select 0 select 2; // shithouse is bugged if (typeOf _house == "") exitWith {[objNull, ""]}; diff --git a/addons/interaction/functions/fnc_joinTeam.sqf b/addons/interaction/functions/fnc_joinTeam.sqf index 9ee82353f7..9283e7b474 100644 --- a/addons/interaction/functions/fnc_joinTeam.sqf +++ b/addons/interaction/functions/fnc_joinTeam.sqf @@ -19,7 +19,7 @@ params ["_unit", "_team"]; // make sure correct team is set on JIP -_unit setVariable [QGVAR(assignedFireTeam), _team, true]; // @todo reset variable for Respawn+JIP - bug +_unit setVariable [QGVAR(assignedFireTeam), _team, true]; // join fire team on every machine in that group ["assignTeam", units group _unit, [_unit, _team]] call EFUNC(common,targetEvent);