diff --git a/addons/main/CfgFunctions.hpp b/addons/main/CfgFunctions.hpp index 385dce1..66a51bb 100644 --- a/addons/main/CfgFunctions.hpp +++ b/addons/main/CfgFunctions.hpp @@ -33,6 +33,9 @@ class CfgFunctions { class convert_to_stratis { file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_stratis.sqf"; }; + class convert_to_vr { + file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_vr.sqf"; + }; class postMarker { file = "\armatak\armatak\armatak_main\functions\api\fn_postMarker.sqf"; diff --git a/addons/main/functions/map/fn_convert_location.sqf b/addons/main/functions/map/fn_convert_location.sqf index 37a284c..07121e5 100644 --- a/addons/main/functions/map/fn_convert_location.sqf +++ b/addons/main/functions/map/fn_convert_location.sqf @@ -11,6 +11,9 @@ switch (worldName) do { case "Stratis": { _realLocation = _position call armatak_fnc_convert_to_stratis; }; + case "VR": { + _realLocation = _position call armatak_fnc_convert_to_vr; + }; default {}; }; diff --git a/addons/main/functions/map/fn_convert_to_vr.sqf b/addons/main/functions/map/fn_convert_to_vr.sqf new file mode 100644 index 0000000..e5dd2fa --- /dev/null +++ b/addons/main/functions/map/fn_convert_to_vr.sqf @@ -0,0 +1,23 @@ +params["_latitude", "_longitude", "_altitude"]; + +_playerPosition = [_latitude, _longitude, _altitude]; + +_playerLatitude = _playerPosition select 0; +_playerLongitude = _playerPosition select 1; + +_playerMaxLongitude = 8192; +_playerMaxLatitude = 8192; + +_MapMaxLatitude = 37.266306; +_MapMinLatitude = 37.189233; + +_MapMaxLongitude = -115.771889; +_MapMinLongitude = -115.863786; + +_LongitudeDifference = _MapMaxLongitude - _MapMinLongitude; +_LatitudeDifference = _MapMaxLatitude - _MapMinLatitude; + +_RealLongitude = (_playerLongitude / _playerMaxLongitude) * _LongitudeDifference + _MapMinLongitude; +_RealLatitude = (_playerLatitude / _playerMaxLatitude) * _LatitudeDifference + _MapMinLatitude; + +[_RealLongitude, _RealLatitude, _playerPosition select 2] \ No newline at end of file