From e64657adf21da2750f0fe31216e35696e8ef7800 Mon Sep 17 00:00:00 2001 From: Valmo Trindade Date: Tue, 3 Dec 2024 04:22:15 -0300 Subject: [PATCH] added Malden map suppport --- addons/main/CfgFunctions.hpp | 3 +++ .../functions/map/fn_convert_location.sqf | 7 +++++- .../functions/map/fn_convert_to_malden.sqf | 23 +++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 addons/main/functions/map/fn_convert_to_malden.sqf diff --git a/addons/main/CfgFunctions.hpp b/addons/main/CfgFunctions.hpp index 55f7c91..8a18378 100644 --- a/addons/main/CfgFunctions.hpp +++ b/addons/main/CfgFunctions.hpp @@ -18,6 +18,9 @@ class CfgFunctions { class convert_to_stratis { file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_stratis.sqf"; }; + class convert_to_malden { + file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_malden.sqf"; + }; class convert_to_vr { file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_vr.sqf"; }; diff --git a/addons/main/functions/map/fn_convert_location.sqf b/addons/main/functions/map/fn_convert_location.sqf index 07121e5..d986187 100644 --- a/addons/main/functions/map/fn_convert_location.sqf +++ b/addons/main/functions/map/fn_convert_location.sqf @@ -11,10 +11,15 @@ switch (worldName) do { case "Stratis": { _realLocation = _position call armatak_fnc_convert_to_stratis; }; + case "Malden": { + _realLocation = _position call armatak_fnc_convert_to_malden; + }; case "VR": { _realLocation = _position call armatak_fnc_convert_to_vr; }; - default {}; + default { + _realLocation = [0, 0, 0]; + }; }; _realLocation \ No newline at end of file diff --git a/addons/main/functions/map/fn_convert_to_malden.sqf b/addons/main/functions/map/fn_convert_to_malden.sqf new file mode 100644 index 0000000..7e7eed8 --- /dev/null +++ b/addons/main/functions/map/fn_convert_to_malden.sqf @@ -0,0 +1,23 @@ +params["_latitude", "_longitude", "_altitude"]; + +_playerPosition = [_latitude, _longitude, _altitude]; + +_playerLatitude = _playerPosition select 0; +_playerLongitude = _playerPosition select 1; + +_playerMaxLongitude = 12800; +_playerMaxLatitude = 12800; + +_MapMaxLatitude = 20.827781; +_MapMinLatitude = 20.516731; + +_MapMaxLongitude = 38.863442; +_MapMinLongitude = 38.549869; + +_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