ACE3/TO_MERGE/ace/arty_computers/gyk-37/fnc_stepBack.sqf

34 lines
796 B
Plaintext

// #define DEBUG_MODE_FULL
#include "script_component.hpp"
TRACE_1("", _this);
_airFriction = (_this select 0);
_vel = (_this select 1);
_useElevation = (_this select 2);
_y = (_this select 3);
_stepDis = (_this select 4);
_x = (_this select 5);
_time = (_this select 6);
_checkDistance = _x - _stepDis;
_vx = _vel * cos(_useElevation);
_vy = _vel * sin(_useElevation);
_grav = -9.80665;
_frame = 1/60;
_elev = 0;
while {_x >= _checkDistance} do
{
_vx = _vx - (_vx * _vel * _airFriction * _frame);
_vy = _vy - (_vy * _vel * _airFriction * _frame);
_vy = _vy + (abs(_grav * _frame));
_vel = sqrt(_vx*_vx + _vy*_vy);
_elev = asin (_vy / _vel);
_y = _y - (_vy * _frame);
_x = _x - (_vx * _frame);
_time = _time - _frame;
};
[_x, _y, _vel, _elev, _time]