mirror of
https://github.com/sethduda/AdvancedTowing.git
synced 2024-08-30 17:32:12 +00:00
Fixing issue causing cargo to drive on top of trees / bushes
This commit is contained in:
parent
5ae0345e80
commit
679ea3fcc5
Binary file not shown.
Binary file not shown.
@ -13,23 +13,27 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|||||||
#define SA_Find_Surface_ASL_Under_Position(_object,_positionAGL,_returnSurfaceASL,_canFloat) \
|
#define SA_Find_Surface_ASL_Under_Position(_object,_positionAGL,_returnSurfaceASL,_canFloat) \
|
||||||
_objectASL = AGLToASL (_object modelToWorldVisual (getCenterOfMass _object)); \
|
_objectASL = AGLToASL (_object modelToWorldVisual (getCenterOfMass _object)); \
|
||||||
_surfaceIntersectStartASL = [_positionAGL select 0, _positionAGL select 1, (_objectASL select 2) + 1]; \
|
_surfaceIntersectStartASL = [_positionAGL select 0, _positionAGL select 1, (_objectASL select 2) + 1]; \
|
||||||
_surfaceIntersectEndASL = [_positionAGL select 0, _positionAGL select 1, (_objectASL select 2) - 10]; \
|
_surfaceIntersectEndASL = [_positionAGL select 0, _positionAGL select 1, (_objectASL select 2) - 5]; \
|
||||||
_surfaces = lineIntersectsSurfaces [_surfaceIntersectStartASL, _surfaceIntersectEndASL, _object, objNull, true, 2]; \
|
_surfaces = lineIntersectsSurfaces [_surfaceIntersectStartASL, _surfaceIntersectEndASL, _object, objNull, true, 5]; \
|
||||||
_returnSurfaceASL = [_positionAGL select 0, _positionAGL select 1, 0]; \
|
_returnSurfaceASL = AGLToASL _positionAGL; \
|
||||||
if(count _surfaces > 0) then { \
|
{ \
|
||||||
if!(((_surfaces select 0) select 2) isKindOf "RopeSegment") then { \
|
scopeName "surfaceLoop"; \
|
||||||
_returnSurfaceASL = (_surfaces select 0) select 0; \
|
if( isNull (_x select 2) ) then { \
|
||||||
|
_returnSurfaceASL = _x select 0; \
|
||||||
|
breakOut "surfaceLoop"; \
|
||||||
} else { \
|
} else { \
|
||||||
if(count _surfaces > 1) then { \
|
if!((_x select 2) isKindOf "RopeSegment") then { \
|
||||||
if!(((_surfaces select 1) select 2) isKindOf "RopeSegment") then { \
|
_objectFileName = str (_x select 2); \
|
||||||
_returnSurfaceASL = (_surfaces select 1) select 0; \
|
if((_objectFileName find " t_") == -1 && (_objectFileName find " b_") == -1) then { \
|
||||||
|
_returnSurfaceASL = _x select 0; \
|
||||||
|
breakOut "surfaceLoop"; \
|
||||||
}; \
|
}; \
|
||||||
}; \
|
}; \
|
||||||
}; \
|
}; \
|
||||||
if(_canFloat && (_returnSurfaceASL select 2) < 0) then { \
|
} forEach _surfaces; \
|
||||||
_returnSurfaceASL set [2,0]; \
|
if(_canFloat && (_returnSurfaceASL select 2) < 0) then { \
|
||||||
}; \
|
_returnSurfaceASL set [2,0]; \
|
||||||
};
|
}; \
|
||||||
|
|
||||||
#define SA_Find_Surface_ASL_Under_Model(_object,_modelOffset,_returnSurfaceASL,_canFloat) \
|
#define SA_Find_Surface_ASL_Under_Model(_object,_modelOffset,_returnSurfaceASL,_canFloat) \
|
||||||
SA_Find_Surface_ASL_Under_Position(_object, (_object modelToWorldVisual _modelOffset), _returnSurfaceASL,_canFloat);
|
SA_Find_Surface_ASL_Under_Position(_object, (_object modelToWorldVisual _modelOffset), _returnSurfaceASL,_canFloat);
|
||||||
|
Loading…
Reference in New Issue
Block a user