From de5ac9dbb5435ed41db1ec0fe5cb5c893cfc8b08 Mon Sep 17 00:00:00 2001 From: Valmo Trindade Date: Fri, 12 Dec 2025 19:12:04 -0300 Subject: [PATCH] Added Malvinas Maps --- .../functions/fnc_convertClientLocation.sqf | 15 ++++++++++ addons/main/CfgFunctions.hpp | 12 ++++++++ ...n_convert_to_malvinas_malvinasfalkands.sqf | 30 +++++++++++++++++++ ...onvert_to_malvinas_p_argentino_stanley.sqf | 30 +++++++++++++++++++ ...ert_to_malvinas_pebble_island_airfield.sqf | 30 +++++++++++++++++++ .../fn_convert_to_malvinas_pradera_ganso.sqf | 0 .../fn_convert_to_malvinas_top_malo_house.sqf | 23 ++++++++++++++ 7 files changed, 140 insertions(+) create mode 100644 addons/main/functions/map/fn_convert_to_malvinas_malvinasfalkands.sqf create mode 100644 addons/main/functions/map/fn_convert_to_malvinas_p_argentino_stanley.sqf create mode 100644 addons/main/functions/map/fn_convert_to_malvinas_pebble_island_airfield.sqf create mode 100644 addons/main/functions/map/fn_convert_to_malvinas_pradera_ganso.sqf create mode 100644 addons/main/functions/map/fn_convert_to_malvinas_top_malo_house.sqf diff --git a/addons/client/functions/fnc_convertClientLocation.sqf b/addons/client/functions/fnc_convertClientLocation.sqf index 1eb60d1..78c5e55 100644 --- a/addons/client/functions/fnc_convertClientLocation.sqf +++ b/addons/client/functions/fnc_convertClientLocation.sqf @@ -74,6 +74,21 @@ switch (toLower worldName) do { case "kunduz_valley": { _realLocation = _position call armatak_fnc_convert_to_kunduz_valley; }; + case "malvinasfalkands": { + _realLocation = _position call armatak_fnc_convert_to_malvinas_malvinasfalkands; + }; + case "pebble_island_airfield": { + _realLocation = _position call armatak_fnc_convert_to_malvinas_pebble_island_airfield; + }; + case "p_argentino_stanley": { + _realLocation = _position call armatak_fnc_convert_to_malvinas_p_argentino_stanley; + }; + case "top_malo_house": { + _realLocation = _position call armatak_fnc_convert_to_malvinas_top_malo_house; + }; + case "pradera_ganso": { + _realLocation = _position call armatak_fnc_convert_to_malvinas_pradera_ganso; + }; case "tanoa": { _realLocation = _position call armatak_fnc_convert_to_tanoa; }; diff --git a/addons/main/CfgFunctions.hpp b/addons/main/CfgFunctions.hpp index a2ded73..6eb2ff9 100644 --- a/addons/main/CfgFunctions.hpp +++ b/addons/main/CfgFunctions.hpp @@ -74,6 +74,18 @@ class CfgFunctions { class convert_to_malden { file = "\armatak\armatak\addons\main\functions\map\fn_convert_to_malden.sqf"; }; + class convert_to_malvinas_malvinasfalkands { + file = "\armatak\armatak\addons\main\functions\map\fn_convert_to_malvinas_malvinasfalkands.sqf"; + }; + class convert_to_malvinas_p_argentino_stanley { + file = "\armatak\armatak\addons\main\functions\map\fn_convert_to_malvinas_p_argentino_stanley.sqf"; + }; + class convert_to_malvinas_pebble_island_airfield { + file = "\armatak\armatak\addons\main\functions\map\fn_convert_to_malvinas_pebble_island_airfield.sqf"; + }; + class convert_to_malvinas_top_malo_house { + file = "\armatak\armatak\addons\main\functions\map\fn_convert_to_malvinas_top_malo_house.sqf"; + }; class convert_to_southen_sahrani { file = "\armatak\armatak\addons\main\functions\map\fn_convert_to_southen_sahrani.sqf"; }; diff --git a/addons/main/functions/map/fn_convert_to_malvinas_malvinasfalkands.sqf b/addons/main/functions/map/fn_convert_to_malvinas_malvinasfalkands.sqf new file mode 100644 index 0000000..665ee96 --- /dev/null +++ b/addons/main/functions/map/fn_convert_to_malvinas_malvinasfalkands.sqf @@ -0,0 +1,30 @@ +params ["_longitudeInGame", "_latitudeInGame", "_altitude"]; + +private _mapWidth = 11264; +private _mapHeight = 11264; + +// SW corner (used as origin) +private _SW_lat = -51.736078; +private _SW_lon = -57.915032; + +// SE corner +private _SE_lat = -51.736078; +private _SE_lon = -58.077879; + +// NW corner +private _NW_lat = -51.634750; +private _NW_lon = -58.077879; + +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] diff --git a/addons/main/functions/map/fn_convert_to_malvinas_p_argentino_stanley.sqf b/addons/main/functions/map/fn_convert_to_malvinas_p_argentino_stanley.sqf new file mode 100644 index 0000000..5d9d0ad --- /dev/null +++ b/addons/main/functions/map/fn_convert_to_malvinas_p_argentino_stanley.sqf @@ -0,0 +1,30 @@ +params ["_longitudeInGame", "_latitudeInGame", "_altitude"]; + +private _mapWidth = 16384; +private _mapHeight = 16384; + +// SW corner (used as origin) +private _SW_lat = -51.806546; +private _SW_lon = -57.939747; + +// SE corner +private _SE_lat = -51.806546; +private _SE_lon = -57.701978; + +// NW corner +private _NW_lat = -51.658913; +private _NW_lon = -57.939747; + +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] diff --git a/addons/main/functions/map/fn_convert_to_malvinas_pebble_island_airfield.sqf b/addons/main/functions/map/fn_convert_to_malvinas_pebble_island_airfield.sqf new file mode 100644 index 0000000..f5b8bc8 --- /dev/null +++ b/addons/main/functions/map/fn_convert_to_malvinas_pebble_island_airfield.sqf @@ -0,0 +1,30 @@ +params ["_longitudeInGame", "_latitudeInGame", "_altitude"]; + +private _mapWidth = 10240; +private _mapHeight = 10240; + +// SW corner (used as origin) +private _SW_lat = -51.863358; +private _SW_lon = -59.054585; + +// SE corner +private _SE_lat = -51.863358; +private _SE_lon = -58.906155; + +// NW corner +private _NW_lat = -51.771493; +private _NW_lon = -59.054585; + +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] diff --git a/addons/main/functions/map/fn_convert_to_malvinas_pradera_ganso.sqf b/addons/main/functions/map/fn_convert_to_malvinas_pradera_ganso.sqf new file mode 100644 index 0000000..e69de29 diff --git a/addons/main/functions/map/fn_convert_to_malvinas_top_malo_house.sqf b/addons/main/functions/map/fn_convert_to_malvinas_top_malo_house.sqf new file mode 100644 index 0000000..8556b18 --- /dev/null +++ b/addons/main/functions/map/fn_convert_to_malvinas_top_malo_house.sqf @@ -0,0 +1,23 @@ +params["_latitude", "_longitude", "_altitude"]; + +_playerPosition = [_latitude, _longitude, _altitude]; + +_playerLatitude = _playerPosition select 0; +_playerLongitude = _playerPosition select 1; + +_playerMaxLongitude = 5120; +_playerMaxLatitude = 5120; + +_MapMaxLatitude = -51.619725; +_MapMinLatitude = -51.664223; + +_MapMaxLongitude = -58.394630; +_MapMinLongitude = -58.469580; + +_LongitudeDifference = _MapMaxLongitude - _MapMinLongitude; +_LatitudeDifference = _MapMaxLatitude - _MapMinLatitude; + +_RealLongitude = (_playerLongitude / _playerMaxLongitude) * _LongitudeDifference + _MapMinLongitude; +_RealLatitude = (_playerLatitude / _playerMaxLatitude) * _LatitudeDifference + _MapMinLatitude; + +[_RealLongitude, _RealLatitude, _playerPosition select 2]