diff --git a/addons/main/CfgFunctions.hpp b/addons/main/CfgFunctions.hpp index d3af463..835a6a5 100644 --- a/addons/main/CfgFunctions.hpp +++ b/addons/main/CfgFunctions.hpp @@ -64,6 +64,9 @@ class CfgFunctions { class convert_to_malden { file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_malden.sqf"; }; + class convert_to_southen_sahrani { + file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_southen_sahrani.sqf"; + }; class convert_to_stratis { file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_stratis.sqf"; }; @@ -73,6 +76,9 @@ class CfgFunctions { class convert_to_tanoa { file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_tanoa.sqf"; }; + class convert_to_united_sahrani { + file = "\armatak\armatak\armatak_main\functions\map\fn_convert_to_united_sahrani.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_to_southen_sahrani.sqf b/addons/main/functions/map/fn_convert_to_southen_sahrani.sqf new file mode 100644 index 0000000..45069af --- /dev/null +++ b/addons/main/functions/map/fn_convert_to_southen_sahrani.sqf @@ -0,0 +1,30 @@ +params ["_longitudeInGame", "_latitudeInGame", "_altitude"]; + +private _mapWidth = 30720; +private _mapHeight = 30720; + +// SW corner (used as origin) +private _SW_lat = 39.796275; +private _SW_lon = -40.220492; + +// SE corner +private _SE_lat = 39.796274; +private _SE_lon = -39.819538; + +// NW corner +private _NW_lat = 40.103688; +private _NW_lon = -40.220492; + +private _edgeSE_lat = _SE_lat - _SW_lat; +private _edgeSE_lon = _SE_lon - _SW_lon; + +private _edgeNW_lat = _NW_lat - _SW_lat; +private _edgeNW_lon = _NW_lon - _SW_lon; + +private _fx = _longitudeInGame / _mapWidth; +private _fy = _latitudeInGame / _mapHeight; + +private _realLat = _SW_lat + (_fx * _edgeSE_lat) + (_fy * _edgeNW_lat); +private _realLon = _SW_lon + (_fx * _edgeSE_lon) + (_fy * _edgeNW_lon); + +[_realLat, _realLon, _altitude] \ No newline at end of file diff --git a/addons/main/functions/map/fn_convert_to_united_sahrani.sqf b/addons/main/functions/map/fn_convert_to_united_sahrani.sqf new file mode 100644 index 0000000..54662d8 --- /dev/null +++ b/addons/main/functions/map/fn_convert_to_united_sahrani.sqf @@ -0,0 +1,30 @@ +params ["_longitudeInGame", "_latitudeInGame", "_altitude"]; + +private _mapWidth = 20480; +private _mapHeight = 20480; + +// SW corner (used as origin) +private _SW_lat = 39.837699; +private _SW_lon = -40.124932; + +// SE corner +private _SE_lat = 39.837699; +private _SE_lon = -39.924494; + +// NW corner +private _NW_lat = 39.991422; +private _NW_lon = -40.124932; + +private _edgeSE_lat = _SE_lat - _SW_lat; +private _edgeSE_lon = _SE_lon - _SW_lon; + +private _edgeNW_lat = _NW_lat - _SW_lat; +private _edgeNW_lon = _NW_lon - _SW_lon; + +private _fx = _longitudeInGame / _mapWidth; +private _fy = _latitudeInGame / _mapHeight; + +private _realLat = _SW_lat + (_fx * _edgeSE_lat) + (_fy * _edgeNW_lat); +private _realLon = _SW_lon + (_fx * _edgeSE_lon) + (_fy * _edgeNW_lon); + +[_realLat, _realLon, _altitude] \ No newline at end of file