// PabstMirror // ["mapConfigs"] call ace_common_fnc_runTests; // execVM "z\ace\addons\common\dev\test_mapConfigs.sqf"; #include "\z\ace\addons\common\script_component.hpp" diag_log text format ["--- Checking Map Configs ---"]; private _testPass = true; private _maps = configProperties [configFile >> "CfgWorldList", "(isClass _x)", true]; { private _mapConfigName = configName _x; private _worldConfig = configFile >> "CfgWorlds" >> _mapConfigName; private _mapDescription = getText (_worldConfig >> "description"); // Check if custom latitude/elevation in lookup table (ace_common_fnc_getMapData) private _getMapData = [_mapConfigName] call FUNC(getMapData); if (_getMapData isEqualTo []) then { diag_log text format ["%1 [%2] - Not in getMapData",_mapDescription,_mapConfigName]; diag_log text format [" - Using map's config [latitude: %1] [elevationOffset: %2]", getNumber (_worldConfig >> "latitude"), getNumber (_worldConfig >> "elevationOffset")]; }; // Test MGRS grid step size (from ace_common_fnc_getMapGridData) private _zoomMax = 1e38; private _formatX = ""; private _formatY = ""; private _stepX = 1e10; private _stepY = 1e10; { private _zoom = getnumber (_x >> "zoomMax"); if (_zoom < _zoomMax) then { _zoomMax = _zoom; _formatX = getText (_x >> "formatX"); _formatY = getText (_x >> "formatY"); _stepX = getNumber (_x >> "stepX"); _stepY = getNumber (_x >> "stepY"); }; } forEach configProperties [(_worldConfig >> "Grid"), "isClass _x", false]; private _stepXat5 = _stepX * 10 ^ ((count _formatX) - 5); private _stepYat5 = -1 * _stepY * 10 ^ ((count _formatY) - 5); if (_stepYat5 < 0) then {diag_log text format ["%1 [%2] - Northing is reversed.",_mapDescription,_mapConfigName];}; if (_stepXat5 != 1) then {diag_log text format ["%1 [%2] - MGRS 10 digit grid does not equal 1 meter: (%3) for x.",_mapDescription,_mapConfigName,_stepXat5];}; if (_stepYat5 != 1 && {_stepYat5 != -1}) then {diag_log text format ["%1 [%2] - MGRS 10 digit grid does not equal 1 meter: (%3) for y.",_mapDescription,_mapConfigName,_stepXat5];}; } forEach _maps; // Always return true, these are just warnings _testPass