From 2309a52671290a01c96a62a8e4e04262e149e62a Mon Sep 17 00:00:00 2001 From: looterz Date: Wed, 17 Feb 2016 15:31:12 -0600 Subject: [PATCH 001/285] Fixed c4996 compiler warning/error due to use of strncpy --- extensions/break_line/ace_break_line.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/extensions/break_line/ace_break_line.cpp b/extensions/break_line/ace_break_line.cpp index 7644748378..c408ceab5c 100644 --- a/extensions/break_line/ace_break_line.cpp +++ b/extensions/break_line/ace_break_line.cpp @@ -13,6 +13,7 @@ #include "shared.hpp" +#include #include #include #include @@ -56,23 +57,16 @@ std::string addLineBreaks(const std::vector &words) { } } } - + return sstream.str(); } -// i like to live dangerously. jk, fix strncpy sometime pls. -#pragma warning( push ) -#pragma warning( disable : 4996 ) - void __stdcall RVExtension(char *output, int outputSize, const char *function) { ZERO_OUTPUT(); if (!strcmp(function, "version")) { - strncpy(output, ACE_FULL_VERSION_STR, outputSize); + strncpy_s(output, outputSize, ACE_FULL_VERSION_STR, _TRUNCATE); } else { - strncpy(output, addLineBreaks(splitString(function)).c_str(), outputSize); - output[outputSize - 1] = '\0'; + strncpy_s(output, outputSize, addLineBreaks(splitString(function)).c_str(), _TRUNCATE); } EXTENSION_RETURN(); } - -#pragma warning( pop ) From 1f95c0f021e73d51a3ed7080ed5768df79820c23 Mon Sep 17 00:00:00 2001 From: looterz Date: Wed, 17 Feb 2016 16:19:23 -0600 Subject: [PATCH 002/285] Patched fcs, parse_imagepath extensions --- extensions/fcs/ace_fcs.cpp | 13 +++---------- .../parse_imagepath/ace_parse_imagepath.cpp | 16 +++++----------- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/extensions/fcs/ace_fcs.cpp b/extensions/fcs/ace_fcs.cpp index 5bc750235e..18be398b55 100644 --- a/extensions/fcs/ace_fcs.cpp +++ b/extensions/fcs/ace_fcs.cpp @@ -15,6 +15,7 @@ #define _USE_MATH_DEFINES +#include #include #include #include @@ -96,15 +97,10 @@ double getSolution(double initSpeed, double airFriction, double angleTarget, dou return a2 - angleTarget; } -// i like to live dangerously. jk, fix strncpy sometime pls. -#pragma warning( push ) -#pragma warning( disable : 4996 ) - void __stdcall RVExtension(char *output, int outputSize, const char *function) { ZERO_OUTPUT(); - if (!strcmp(function, "version")) { - strncpy(output, ACE_FULL_VERSION_STR, outputSize); + strncpy_s(output, outputSize, ACE_FULL_VERSION_STR, _TRUNCATE); } else { std::vector argStrings = splitString(function); double initSpeed = std::stod(argStrings[0]); @@ -117,10 +113,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { std::stringstream sstream; sstream << result; - strcpy(output, sstream.str().c_str()); - output[outputSize - 1] = '\0'; + strncpy_s(output, outputSize, sstream.str().c_str(), _TRUNCATE); } EXTENSION_RETURN(); } - -#pragma warning( pop ) diff --git a/extensions/parse_imagepath/ace_parse_imagepath.cpp b/extensions/parse_imagepath/ace_parse_imagepath.cpp index fa1a8643e7..110cb904cc 100644 --- a/extensions/parse_imagepath/ace_parse_imagepath.cpp +++ b/extensions/parse_imagepath/ace_parse_imagepath.cpp @@ -13,6 +13,7 @@ #include "shared.hpp" +#include #include #include @@ -36,19 +37,12 @@ std::string getImagePathFromStructuredText(const std::string & input) { return returnValue; } -// i like to live dangerously. jk, fix strncpy sometime pls. -#pragma warning( push ) -#pragma warning( disable : 4996 ) - void __stdcall RVExtension(char *output, int outputSize, const char *function) { - ZERO_OUTPUT(); + ZERO_OUTPUT(); if (!strcmp(function, "version")) { - strncpy(output, ACE_FULL_VERSION_STR, outputSize); + strncpy_s(output, outputSize, ACE_FULL_VERSION_STR, _TRUNCATE); } else { - strncpy(output, getImagePathFromStructuredText(function).c_str(), outputSize); - output[outputSize - 1] = '\0'; + strncpy_s(output, outputSize, getImagePathFromStructuredText(function).c_str(), _TRUNCATE); } - EXTENSION_RETURN(); + EXTENSION_RETURN(); } - -#pragma warning( pop ) From aae0709772b92000e35f30d346811d6f28a29c0a Mon Sep 17 00:00:00 2001 From: looterz Date: Wed, 17 Feb 2016 16:26:14 -0600 Subject: [PATCH 003/285] Patched medical extension --- extensions/medical/medical.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/extensions/medical/medical.cpp b/extensions/medical/medical.cpp index 5f999caaa2..aca062e205 100644 --- a/extensions/medical/medical.cpp +++ b/extensions/medical/medical.cpp @@ -6,6 +6,8 @@ */ #include "shared.hpp" + +#include #include #include #include @@ -31,13 +33,13 @@ std::vector parseExtensionInput(const std::string& input) void __stdcall RVExtension(char *output, int outputSize, const char *function) { if (!strcmp(function, "version")) { - strncpy(output, ACE_FULL_VERSION_STR, outputSize); + strncpy_s(output, outputSize, ACE_FULL_VERSION_STR, _TRUNCATE); } - else + else { std::string returnValue = ""; std::vector arguments = parseExtensionInput(function); - if (arguments.size() > 0) + if (arguments.size() > 0) { try { std::string command = arguments.at(0); @@ -82,8 +84,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { returnValue = debugreturn.str(); } } - strncpy(output, returnValue.c_str(), outputSize); - output[outputSize - 1] = '\0'; + + strncpy_s(output, outputSize, returnValue.c_str(), _TRUNCATE); } } - From 8b16912ad7af00449e5acf0df1bcef5338f6c6cd Mon Sep 17 00:00:00 2001 From: looterz Date: Wed, 17 Feb 2016 16:51:09 -0600 Subject: [PATCH 004/285] Patched advanced_ballistics extension --- .../AdvancedBallistics.cpp | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp index 8286e054d2..e9082ad2d1 100644 --- a/extensions/advanced_ballistics/AdvancedBallistics.cpp +++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp @@ -1,5 +1,6 @@ #include "shared.hpp" +#include #include #include #include @@ -238,7 +239,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) ZERO_OUTPUT(); std::stringstream outputStr; if (!strcmp(function, "version")) { - strncpy(output, ACE_FULL_VERSION_STR, outputSize); + strncpy_s(output, outputSize, ACE_FULL_VERSION_STR, _TRUNCATE); EXTENSION_RETURN(); } @@ -261,8 +262,8 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) // int n = sprintf(output, "%f", retard); outputStr << retard; - strncpy(output, outputStr.str().c_str(), outputSize); - + strncpy_s(output, outputSize, outputStr.str().c_str(), _TRUNCATE); + EXTENSION_RETURN(); } else if (!strcmp(mode, "atmosphericCorrection")) { double ballisticCoefficient = 1.0; @@ -280,7 +281,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) ballisticCoefficient = calculateAtmosphericCorrection(ballisticCoefficient, temperature, pressure, humidity, atmosphereModel); //int n = sprintf(output, "%f", ballisticCoefficient); outputStr << ballisticCoefficient; - strncpy(output, outputStr.str().c_str(), outputSize); + strncpy_s(output, outputSize, outputStr.str().c_str(), _TRUNCATE); EXTENSION_RETURN(); } else if (!strcmp(mode, "new")) { unsigned int index = 0; @@ -375,7 +376,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) bulletDatabase[index].frames = 0.0; bulletDatabase[index].randSeed = 0; - strncpy(output, "", outputSize); + strncpy_s(output, outputSize, "", _TRUNCATE); EXTENSION_RETURN(); } else if (!strcmp(mode, "simulate")) { // simulate:0:[-0.109985,542.529,-3.98301]:[3751.57,5332.23,214.252]:[0.598153,2.38829,0]:28.6:0:0.481542:0:215.16 @@ -592,9 +593,9 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) velocityOffset[1] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; velocityOffset[2] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef; }; - + outputStr << "_bullet setVelocity (_bulletVelocity vectorAdd [" << velocityOffset[0] << "," << velocityOffset[1] << "," << velocityOffset[2] << "]); _bullet setPosASL (_bulletPosition vectorAdd [" << positionOffset[0] << "," << positionOffset[1] << "," << positionOffset[2] << "]);"; - strncpy(output, outputStr.str().c_str(), outputSize); + strncpy_s(output, outputSize, outputStr.str().c_str(), _TRUNCATE); EXTENSION_RETURN(); } else if (!strcmp(mode, "set")) { int height = 0; @@ -609,7 +610,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) map->gridBuildingNums.push_back(numObjects); map->gridSurfaceIsWater.push_back(surfaceIsWater); - strncpy(output, outputStr.str().c_str(), outputSize); + strncpy_s(output, outputSize, outputStr.str().c_str(), _TRUNCATE); EXTENSION_RETURN(); } else if (!strcmp(mode, "init")) { int mapSize = 0; @@ -625,7 +626,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) map = &mapDatabase[worldName]; if (map->gridHeights.size() == gridCells) { outputStr << "Terrain already initialized"; - strncpy(output, outputStr.str().c_str(), outputSize); + strncpy_s(output, outputSize, outputStr.str().c_str(), _TRUNCATE); EXTENSION_RETURN(); } @@ -638,9 +639,9 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) map->gridBuildingNums.reserve(gridCells); map->gridSurfaceIsWater.reserve(gridCells); - strncpy(output, outputStr.str().c_str(), outputSize); + strncpy_s(output, outputSize, outputStr.str().c_str(), _TRUNCATE); EXTENSION_RETURN(); } - strncpy(output, outputStr.str().c_str(), outputSize); + strncpy_s(output, outputSize, outputStr.str().c_str(), _TRUNCATE); EXTENSION_RETURN(); } From 051973a54610ae3796af9da2a33db8a12a84b144 Mon Sep 17 00:00:00 2001 From: looterz Date: Wed, 17 Feb 2016 17:07:06 -0600 Subject: [PATCH 005/285] Cleaned up and patched ace_clipboard. --- extensions/clipboard/ace_clipboard.cpp | 59 ++++++++++++++++---------- 1 file changed, 37 insertions(+), 22 deletions(-) diff --git a/extensions/clipboard/ace_clipboard.cpp b/extensions/clipboard/ace_clipboard.cpp index cdd5f7c423..bade6f5b67 100644 --- a/extensions/clipboard/ace_clipboard.cpp +++ b/extensions/clipboard/ace_clipboard.cpp @@ -1,7 +1,7 @@ /* * ace_clipboard.cpp * - * Takes a string and copies it to the clipboard; bypasses arma 8k clippy limit. + * Takes a string and copies it to the clipboard; bypasses arma 8k clippy limit. Windows only. * * Takes: * Localized string as string @@ -9,7 +9,10 @@ * Returns: * None */ + #include "shared.hpp" + +#include #include #include @@ -30,44 +33,56 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { } if (!strcmp(function, "version")) { - strncpy(output, ACE_FULL_VERSION_STR, outputSize); + strncpy_s(output, outputSize, ACE_FULL_VERSION_STR, _TRUNCATE); EXTENSION_RETURN(); } -#ifdef _WIN32 + #ifndef _WIN32 + EXTENSION_RETURN(); + #endif - if (!strcmp(function, "--COMPLETE--")) { + if (!strcmp(function, "--COMPLETE--")) + { HGLOBAL hClipboardData = GlobalAlloc(GMEM_FIXED, gClipboardData.length() + 1); - if (!hClipboardData) { + if (!hClipboardData) + { result = "GlobalAlloc() failed, GetLastError=" + GetLastError(); gClipboardData = ""; EXTENSION_RETURN(); } char *pClipboardData = (char *)GlobalLock(hClipboardData); - if (!pClipboardData) { + if (!pClipboardData) + { result = "GlobalLock() failed, GetLastError=" + GetLastError(); gClipboardData = ""; EXTENSION_RETURN(); } - memcpy(pClipboardData, gClipboardData.c_str(), gClipboardData.length()); - pClipboardData[gClipboardData.length() + 1] = 0x00; + + strncpy_s(pClipboardData, gClipboardData.length(), gClipboardData.c_str(), _TRUNCATE); GlobalUnlock(hClipboardData); - if (!OpenClipboard(NULL)) { + if (!OpenClipboard(NULL)) + { result = "OpenClipboard() failed, GetLastError=" + GetLastError(); } - else { - if (!EmptyClipboard()) { + else + { + if (!EmptyClipboard()) + { result = "OpenClipboard() failed, GetLastError=" + GetLastError(); } - else { - if (!SetClipboardData(CF_TEXT, hClipboardData)) { + else + { + if (!SetClipboardData(CF_TEXT, hClipboardData)) + { result = "SetClipboardData() failed, GetLastError=" + GetLastError(); } - else { - if (!CloseClipboard()) { + else + { + if (!CloseClipboard()) + { result = "CloseClipboard() failed, GetLastError=" + GetLastError(); } } @@ -75,16 +90,16 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { } gClipboardData = ""; - } else { + } + else + { gClipboardData = gClipboardData + cur_input; } - end: - if(result.length() > 1) - memcpy(output, result.c_str(), result.length()+1); - - #endif + if (result.length() > 1) + { + strncpy_s(output, outputSize, result.c_str(), _TRUNCATE); + } EXTENSION_RETURN(); } - From dffc087a5054f0739171cff0d3b277c839178578 Mon Sep 17 00:00:00 2001 From: looterz Date: Wed, 17 Feb 2016 17:41:17 -0600 Subject: [PATCH 006/285] Update AUTHORS.txt --- AUTHORS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.txt b/AUTHORS.txt index b812ed0ae7..230e69fcf7 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -85,6 +85,7 @@ Kllrt legman Legolasindar "Viper" licht-im-Norden87 +looter Macusercom MarcBook meat From a1224c5ca6d0b29ee063a00c442563778e35aaa5 Mon Sep 17 00:00:00 2001 From: looterz Date: Wed, 17 Feb 2016 20:06:24 -0600 Subject: [PATCH 007/285] Fixed several issues with ace_clipboard's implementation --- extensions/clipboard/ace_clipboard.cpp | 43 +++++++++++--------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/extensions/clipboard/ace_clipboard.cpp b/extensions/clipboard/ace_clipboard.cpp index bade6f5b67..5cdd445110 100644 --- a/extensions/clipboard/ace_clipboard.cpp +++ b/extensions/clipboard/ace_clipboard.cpp @@ -43,45 +43,38 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { if (!strcmp(function, "--COMPLETE--")) { - HGLOBAL hClipboardData = GlobalAlloc(GMEM_FIXED, gClipboardData.length() + 1); - if (!hClipboardData) - { - result = "GlobalAlloc() failed, GetLastError=" + GetLastError(); - gClipboardData = ""; - EXTENSION_RETURN(); - } - - char *pClipboardData = (char *)GlobalLock(hClipboardData); - if (!pClipboardData) - { - result = "GlobalLock() failed, GetLastError=" + GetLastError(); - gClipboardData = ""; - EXTENSION_RETURN(); - } - - strncpy_s(pClipboardData, gClipboardData.length(), gClipboardData.c_str(), _TRUNCATE); - - GlobalUnlock(hClipboardData); - - if (!OpenClipboard(NULL)) + if (OpenClipboard(NULL) == 0) { result = "OpenClipboard() failed, GetLastError=" + GetLastError(); } else { - if (!EmptyClipboard()) + if (EmptyClipboard() == 0) { - result = "OpenClipboard() failed, GetLastError=" + GetLastError(); + result = "EmptyClipboard() failed, GetLastError=" + GetLastError(); } else { - if (!SetClipboardData(CF_TEXT, hClipboardData)) + // GPTR = GMEM_FIXED + GMEM_ZEROINIT, returns a ptr, no need for GlobalLock/GlobalUnlock + char *pClipboardData = (char *)GlobalAlloc(GPTR, gClipboardData.length()); + if (pClipboardData == NULL) + { + result = "GlobalAlloc() failed, GetLastError=" + GetLastError(); + EXTENSION_RETURN(); + } + + strncpy_s(pClipboardData, gClipboardData.length(), gClipboardData.c_str(), _TRUNCATE); + + // if success, system owns the memory, if fail, free it from the heap + if (SetClipboardData(CF_TEXT, pClipboardData) == NULL) { result = "SetClipboardData() failed, GetLastError=" + GetLastError(); + + GlobalFree(pClipboardData); } else { - if (!CloseClipboard()) + if (CloseClipboard() == 0) { result = "CloseClipboard() failed, GetLastError=" + GetLastError(); } From ff04ca898115da5b3ae2c54f103fe38b279701ae Mon Sep 17 00:00:00 2001 From: esteldunedain Date: Thu, 18 Feb 2016 20:20:02 -0300 Subject: [PATCH 008/285] Uniformize interaction distance for vehicle. Distance is now aprox 4m from the bounding box of the vehicle, consistent with interaction with people. --- .../functions/fnc_renderActionPoints.sqf | 6 +- .../functions/fnc_renderBaseMenu.sqf | 3 +- addons/interaction/CfgVehicles.hpp | 16 ++-- addons/interaction/XEH_preInit.sqf | 1 + .../functions/fnc_getVehiclePos.sqf | 75 +++++++++++++++++++ 5 files changed, 90 insertions(+), 11 deletions(-) create mode 100644 addons/interaction/functions/fnc_getVehiclePos.sqf diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 1d42f38c6c..99c32ac81b 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -16,8 +16,8 @@ GVAR(currentOptions) = []; private _player = ACE_player; -private _cameraPosASL = AGLtoASL (positionCameraToWorld [0, 0, 0]); -private _cameraDir = (AGLtoASL (positionCameraToWorld [0, 0, 1])) vectorDiff _cameraPosASL; +GVAR(cameraPosASL) = AGLtoASL (positionCameraToWorld [0, 0, 0]); +GVAR(cameraDir) = (AGLtoASL (positionCameraToWorld [0, 0, 1])) vectorDiff GVAR(cameraPosASL); private _fnc_renderNearbyActions = { // Render all nearby interaction menus @@ -32,7 +32,7 @@ private _fnc_renderNearbyActions = { private _target = _x; // Quick oclussion test. Skip objects more than 1 m behind the camera plane - private _lambda = ((getPosASL _x) vectorDiff _cameraPosASL) vectorDotProduct _cameraDir; + private _lambda = ((getPosASL _x) vectorDiff GVAR(cameraPosASL)) vectorDotProduct GVAR(cameraDir); if ((_lambda > -1) && {!isObjectHidden _target}) then { private _numInteractions = 0; // Prevent interacting with yourself or your own vehicle diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 57ded33be0..b08a1e45ad 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -90,9 +90,8 @@ if (_activeActionTree isEqualTo []) exitWith {false}; BEGIN_COUNTER(fnc_renderMenus); -// IGNORE_PRIVATE_WARNING(_cameraPosASL,_cameraDir); if (count _pos > 2) then { - _sPos pushBack (((AGLtoASL _pos) vectorDiff _cameraPosASL) vectorDotProduct _cameraDir); + _sPos pushBack (((AGLtoASL _pos) vectorDiff GVAR(cameraPosASL)) vectorDotProduct GVAR(cameraDir)); } else { _sPos pushBack 0; }; diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index f37e80ff33..a789045430 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -307,8 +307,9 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { displayName = CSTRING(MainAction); + position = QUOTE(call DFUNC(getVehiclePos)); selection = ""; - distance = 10; + distance = 4; condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); @@ -333,8 +334,9 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { displayName = CSTRING(MainAction); + position = QUOTE(call DFUNC(getVehiclePos)); selection = ""; - distance = 10; + distance = 4; condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); @@ -360,8 +362,9 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { displayName = CSTRING(MainAction); + position = QUOTE(call DFUNC(getVehiclePos)); selection = ""; - distance = 10; + distance = 4; condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); @@ -387,7 +390,7 @@ class CfgVehicles { class ACE_MainActions { displayName = CSTRING(MainAction); selection = ""; - distance = 10; + distance = 4; condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); @@ -413,8 +416,9 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { displayName = CSTRING(MainAction); + position = QUOTE(call DFUNC(getVehiclePos)); selection = ""; - distance = 10; + distance = 4; condition = "true"; class ACE_Push { @@ -449,7 +453,7 @@ class CfgVehicles { class ACE_MainActions { displayName = CSTRING(MainAction); selection = "gunnerview"; - distance = 2; + distance = 4; condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf index 258567482d..6220307788 100644 --- a/addons/interaction/XEH_preInit.sqf +++ b/addons/interaction/XEH_preInit.sqf @@ -5,6 +5,7 @@ ADDON = false; // interaction menu PREP(addPassengerActions); PREP(addPassengersActions); +PREP(getVehiclePos); PREP(getWeaponPos); PREP(moduleInteraction); PREP(removeTag); diff --git a/addons/interaction/functions/fnc_getVehiclePos.sqf b/addons/interaction/functions/fnc_getVehiclePos.sqf new file mode 100644 index 0000000000..207279539f --- /dev/null +++ b/addons/interaction/functions/fnc_getVehiclePos.sqf @@ -0,0 +1,75 @@ +/* + * Author: esteldunedain + * Return a suitable position for the action point for the given target vehicle + * + * Arguments: + * None (uses local variable _target) + * + * Return value: + * Children actions + * + * Example: + * call ace_interaction_fnc_getWeaponPos + * + * Public: No + */ +#include "script_component.hpp" +// IGNORE_PRIVATE_WARNING(_target); + +private _bb = boundingBoxReal _target; +_bb params ["_p1",""]; +private _relPos = _target worldToModelVisual ASLToAGL EGVAR(interact_menu,cameraPosASL); +#ifdef DEBUG_MODE_FULL + _relPos = _target worldToModelVisual ASLToAGL eyePos ACE_player; +#endif +_relPos params ["_dx", "_dy", "_dz"]; + +private _ndx = (abs _dx) / ((abs (_p1 select 0)) - 1); +private _ndy = (abs _dy) / ((abs (_p1 select 1)) - 1); +private _ndz = (abs _dz) / ((abs (_p1 select 2)) - 1); + +private "_pos"; +if (_ndx > _ndy) then { + if (_ndx > _ndz) then { + // _ndx is greater, will colide with x plane first + _pos = _relPos vectorMultiply ((1 / _ndx) min 0.8); + } else { + // _ndz is greater, will colide with z plane first + _pos = _relPos vectorMultiply ((1 / _ndz) min 0.8); + }; +} else { + if (_ndy > _ndz) then { + // _ndy is greater, will colide with y plane first + _pos = _relPos vectorMultiply ((1 / _ndy) min 0.8); + } else { + // _ndz is greater, will colide with z plane first + _pos = _relPos vectorMultiply ((1 / _ndz) min 0.8); + }; +}; +TRACE_3("",_bb,_relPos, _pos); +_pos + +/////////////////// +// The code belows works very well for cursor mode, but not at all in normal mode +// maybe it could be enabled by default only for that mode +/* +if (cursorObject isEqualTo _target) exitWith { + private _dest = EGVAR(interact_menu,cameraPosASL) vectorAdd (EGVAR(interact_menu,cameraDir) vectorMultiply 50); + private _origin = EGVAR(interact_menu,cameraPosASL); + //private _origin = EGVAR(interact_menu,cameraPosASL) vectorAdd [0, 0, -0.35] vectorDiff (EGVAR(interact_menu,cameraDir) vectorMultiply 1.5); + //private _dest = AGLtoASL (_target modelToWorldVisual [0,0,0]); + private _results = lineIntersectsSurfaces [_origin, _dest, ACE_player, objNull, true, 5]; + private _finalPos = [0,0,0]; + { + _x params ["_pos", "", "_obj"]; + TRACE_3("",_forEachIndex,_obj,_target); + if (_obj isEqualTo _target) exitWith { + _finalPos = _target worldToModelVisual ASLtoAGL (_pos vectorAdd (EGVAR(interact_menu,cameraDir) vectorMultiply 1.0)); + }; + } forEach _results; + _finalPos +}; +[0,0,0] +*/ +/////////////////// + From f0f7f14093caae901f7a879fb8579f76d38a62a9 Mon Sep 17 00:00:00 2001 From: looterz Date: Fri, 19 Feb 2016 12:24:08 -0600 Subject: [PATCH 009/285] Fixed linux compilation support --- extensions/clipboard/ace_clipboard.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/clipboard/ace_clipboard.cpp b/extensions/clipboard/ace_clipboard.cpp index 5cdd445110..2f5f8e6b58 100644 --- a/extensions/clipboard/ace_clipboard.cpp +++ b/extensions/clipboard/ace_clipboard.cpp @@ -37,9 +37,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { EXTENSION_RETURN(); } - #ifndef _WIN32 - EXTENSION_RETURN(); - #endif + #ifdef _WIN32 if (!strcmp(function, "--COMPLETE--")) { @@ -94,5 +92,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function) { strncpy_s(output, outputSize, result.c_str(), _TRUNCATE); } + #endif + EXTENSION_RETURN(); } From 7fc1c87bc427b02ce4dfd30765edb986b6a818c3 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 26 Feb 2016 00:57:18 -0600 Subject: [PATCH 010/285] Global Ai Set Skill Example --- addons/zeus/ACE_Settings.hpp | 43 +++++++ addons/zeus/CfgEventHandlers.hpp | 6 + addons/zeus/CfgVehicles.hpp | 15 +++ addons/zeus/UI_RscAttributes.hpp | 110 ++++++++++++++++++ addons/zeus/XEH_PREP.hpp | 4 + addons/zeus/XEH_postInit.sqf | 10 ++ addons/zeus/config.cpp | 3 +- addons/zeus/functions/fnc_setSkillsLocal.sqf | 29 +++++ addons/zeus/functions/fnc_zeusAttributes.sqf | 5 + .../fnc_zeusAttributes_globalSetSkill.sqf | 85 ++++++++++++++ .../functions/fnc_zeus_globalSetSkill.sqf | 43 +++++++ 11 files changed, 352 insertions(+), 1 deletion(-) create mode 100644 addons/zeus/UI_RscAttributes.hpp create mode 100644 addons/zeus/XEH_postInit.sqf create mode 100644 addons/zeus/functions/fnc_setSkillsLocal.sqf create mode 100644 addons/zeus/functions/fnc_zeusAttributes.sqf create mode 100644 addons/zeus/functions/fnc_zeusAttributes_globalSetSkill.sqf create mode 100644 addons/zeus/functions/fnc_zeus_globalSetSkill.sqf diff --git a/addons/zeus/ACE_Settings.hpp b/addons/zeus/ACE_Settings.hpp index 6488a23e4e..6fb1570c5a 100644 --- a/addons/zeus/ACE_Settings.hpp +++ b/addons/zeus/ACE_Settings.hpp @@ -26,4 +26,47 @@ class ACE_Settings { value = 0; typeName = "BOOL"; }; + + class GVAR(aiSkill_set) { + category = QUOTE(PREFIX); + displayName = "Global AI Set Skill: Master Enable"; + typeName = "BOOL"; + value = 0; + }; + class GVAR(aiSkill_general) { + category = QUOTE(PREFIX); + displayName = "Global AI Set Skill: general,commanding,courage"; + typeName = "SCALAR"; + value = 0.5; + }; + class GVAR(aiSkill_aimingAccuracy) { + category = QUOTE(PREFIX); + displayName = "Global AI Set Skill: aimingAccuracy"; + typeName = "SCALAR"; + value = 0.5; + }; + class GVAR(aiSkill_weaponHandling) { + category = QUOTE(PREFIX); + displayName = "Global AI Set Skill: aimingShake,aimingSpeed,reloadSpeed"; + typeName = "SCALAR"; + value = 0.5; + }; + class GVAR(aiSkill_spotting) { + category = QUOTE(PREFIX); + displayName = "Global AI Set Skill: spotDistance,spotTime"; + typeName = "SCALAR"; + value = 0.5; + }; + class GVAR(aiSkill_COVER) { + category = QUOTE(PREFIX); + displayName = "Global AI Set Skill: AI Seek Cover"; + typeName = "BOOL"; + value = 1; + }; + class GVAR(aiSkill_AUTOCOMBAT) { + category = QUOTE(PREFIX); + displayName = "Global AI Set Skill: Ai Switch To Combat Mode"; + typeName = "BOOL"; + value = 1; + }; }; diff --git a/addons/zeus/CfgEventHandlers.hpp b/addons/zeus/CfgEventHandlers.hpp index 89ab0bc900..7df1664c23 100644 --- a/addons/zeus/CfgEventHandlers.hpp +++ b/addons/zeus/CfgEventHandlers.hpp @@ -11,6 +11,12 @@ class Extended_PreInit_EventHandlers { }; }; +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_postInit) ); + }; +}; + class Extended_InitPost_EventHandlers { class AllVehicles { class ADDON { diff --git a/addons/zeus/CfgVehicles.hpp b/addons/zeus/CfgVehicles.hpp index 0013355370..aeeb4da457 100644 --- a/addons/zeus/CfgVehicles.hpp +++ b/addons/zeus/CfgVehicles.hpp @@ -186,4 +186,19 @@ class CfgVehicles { // sync[] = {}; // }; // }; + class GVAR(zeus_globalSetSkill): GVAR(moduleBase) { + author = ECSTRING(common,ACETeam); + category = "ACE"; + scope = 1; + scopeCurator = 2; + isTriggerActivated = 0; + displayName = "Global Set AI Skill"; + // icon = "\a3\Modules_F_Curator\Data\iconEndMission_ca.paa"; + // portrait = "\a3\Modules_F_Curator\Data\portraitEndMission_ca.paa"; + function = QFUNC(zeus_globalSetSkill); + curatorInfoType = QGVAR(RscDisplayAttributes_globalSetSkill); + curatorCost = 0; + class Arguments {}; + class Attributes {};//todo, make it a threden as well + }; }; diff --git a/addons/zeus/UI_RscAttributes.hpp b/addons/zeus/UI_RscAttributes.hpp new file mode 100644 index 0000000000..83f07aa67c --- /dev/null +++ b/addons/zeus/UI_RscAttributes.hpp @@ -0,0 +1,110 @@ +class RscControlsGroupNoScrollbars; +class RscText; +class RscListbox; +class RscEdit; +class RscXSliderH; +class RscCheckBox; + +class RscDisplayAttributes { + class Controls { + class Background; + class Title; + class Content; + class ButtonOK; + class ButtonCancel; + }; +}; +class GVAR(RscDisplayAttributes_globalSetSkill): RscDisplayAttributes { + onLoad = QUOTE([ARR_3('onLoad', _this, QUOTE(QGVAR(RscDisplayAttributes_globalSetSkill)))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload', _this, QUOTE(QGVAR(RscDisplayAttributes_globalSetSkill)))] call FUNC(zeusAttributes)); + class Controls: Controls { + class Background: Background {}; + class Title: Title {}; + class Content: Content { + class Controls { + class globalSetSkill: RscControlsGroupNoScrollbars { + onSetFocus = QUOTE(_this call FUNC(zeusAttributes_globalSetSkill)); + idc = 26422; + x = "0"; + y = "0"; + w = "26 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class controls { + class Title1: RscText { + idc = -1; + text = "Skill: General"; + toolTip = "Global AI Set Skill: general,commanding,courage"; + x = "0 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.5}; + }; + class Value1: RscXSliderH { + idc = 16184; + x = "10.1 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "15.9 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Title2: Title1 { + idc = -1; + text = "Skill: aimingAccuracy"; + toolTip = "Global AI Set Skill: aimingAccuracy"; + y = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Value2: Value1 { + idc = 16185; + y = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Title3: Title1 { + idc = -1; + text = "Skill: weaponHandling"; + toolTip = "Global AI Set Skill: aimingShake,aimingSpeed,reloadSpeed"; + y = "2.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Value3: Value1 { + idc = 16186; + y = "2.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Title4: Title1 { + idc = -1; + text = "Skill: spotting"; + toolTip = "Global AI Set Skill: spotDistance,spotTime"; + y = "3.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Value4: Value1 { + idc = 16187; + y = "3.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Title5: Title1 { + idc = -1; + text = "Seek Cover"; + toolTip = "Global AI Set Skill: AI Seek Cover"; + y = "4.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Value5: RscCheckBox { + idc = 16188; + x = "10.1 * (((safezoneW / safezoneH) min 1.2) / 40)"; + y = "4.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "1 * (((safezoneW / safezoneH) min 1.2) / 40)"; + h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Title6: Title5 { + idc = -1; + text = "AUTOCOMBAT"; + toolTip = "Global AI Set Skill: Ai Switch To Combat Mode"; + y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + class Value6: Value5 { + idc = 16189; + y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + }; + }; + }; + }; + class ButtonOK: ButtonOK {}; + class ButtonCancel: ButtonCancel {}; + }; +}; diff --git a/addons/zeus/XEH_PREP.hpp b/addons/zeus/XEH_PREP.hpp index 423b7f2f27..241cd385a2 100644 --- a/addons/zeus/XEH_PREP.hpp +++ b/addons/zeus/XEH_PREP.hpp @@ -14,3 +14,7 @@ PREP(moduleSetMedicalFacility); PREP(moduleSurrender); PREP(moduleUnconscious); PREP(moduleZeusSettings); +PREP(setSkillsLocal); +PREP(zeus_globalSetSkill); +PREP(zeusAttributes); +PREP(zeusAttributes_globalSetSkill); diff --git a/addons/zeus/XEH_postInit.sqf b/addons/zeus/XEH_postInit.sqf new file mode 100644 index 0000000000..187b46c669 --- /dev/null +++ b/addons/zeus/XEH_postInit.sqf @@ -0,0 +1,10 @@ +#include "script_component.hpp" + +["UpdateAISettings", { + TRACE_1("UpdateAISettings EH",_this); + { + if (local _x) then { + [_x] call FUNC(setSkillsLocal); + }; + } forEach allUnits; +}] call EFUNC(common,addEventHandler); diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 853edaf2e9..71e6c2b8fe 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -2,7 +2,7 @@ class CfgPatches { class ADDON { - units[] = {}; + units[] = {QGVAR(zeus_globalSetSkill)}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; @@ -42,3 +42,4 @@ class ACE_Curator { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" +#include "UI_RscAttributes.hpp" diff --git a/addons/zeus/functions/fnc_setSkillsLocal.sqf b/addons/zeus/functions/fnc_setSkillsLocal.sqf new file mode 100644 index 0000000000..fc99fb2f33 --- /dev/null +++ b/addons/zeus/functions/fnc_setSkillsLocal.sqf @@ -0,0 +1,29 @@ +#include "script_component.hpp" + +params ["_unit"]; +TRACE_1("params",_unit); + +{ + _unit setSkill [_x, GVAR(aiSkill_general)]; +} forEach ["general", "commanding", "courage"]; +{ + _unit setSkill [_x, GVAR(aiSkill_aimingAccuracy)]; +} forEach ["aimingAccuracy"]; +{ + _unit setSkill [_x, GVAR(aiSkill_weaponHandling)]; +} forEach ["aimingShake", "aimingSpeed", "reloadSpeed"]; +{ + _unit setSkill [_x, GVAR(aiSkill_spotting)]; +} forEach ["spotDistance", "spotTime"]; +if (GVAR(aiSkill_COVER)) then { + _unit enableAI "COVER"; +} else { + _unit disableAI "COVER"; +}; +if (GVAR(aiSkill_AUTOCOMBAT)) then { + _unit enableAI "AUTOCOMBAT"; +} else { + _unit disableAI "AUTOCOMBAT"; +}; + +TRACE_1("ai sills set",_unit); diff --git a/addons/zeus/functions/fnc_zeusAttributes.sqf b/addons/zeus/functions/fnc_zeusAttributes.sqf new file mode 100644 index 0000000000..b032ca2093 --- /dev/null +++ b/addons/zeus/functions/fnc_zeusAttributes.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +TRACE_1("params",_this); + +#include "\a3\ui_f_curator\UI\Displays\RscDisplayAttributes.sqf" diff --git a/addons/zeus/functions/fnc_zeusAttributes_globalSetSkill.sqf b/addons/zeus/functions/fnc_zeusAttributes_globalSetSkill.sqf new file mode 100644 index 0000000000..329102d599 --- /dev/null +++ b/addons/zeus/functions/fnc_zeusAttributes_globalSetSkill.sqf @@ -0,0 +1,85 @@ +#include "script_component.hpp" + +disableSerialization; + +params ["_control"]; +TRACE_1("params",_control); + +//Generic Init: +private _display = ctrlparent _control; +private _ctrlButtonOK = _display displayctrl 1; //IDC_OK +private _logic = missionNamespace getVariable ["BIS_fnc_initCuratorAttributes_target", objnull]; +TRACE_1("logicObject",_logic); + +_control ctrlRemoveAllEventHandlers "setFocus"; + +_fnc_sliderMove = { + params ["_slider"]; + private _idc = ctrlIDC _slider; + private _curVal = switch (_idc) do { + case (16184): {GVAR(aiSkill_general)}; + case (16185): {GVAR(aiSkill_aimingAccuracy)}; + case (16186): {GVAR(aiSkill_weaponHandling)}; + case (16187): {GVAR(aiSkill_spotting)}; + }; + _slider ctrlSetTooltip format ["%1 (was %2)", sliderPosition _slider, _curVal]; +}; + +//Specific on-load stuff: +(_display displayCtrl 16184) sliderSetRange [0, 1]; +(_display displayCtrl 16184) sliderSetPosition (GVAR(aiSkill_general) max 0); +(_display displayCtrl 16184) ctrlAddEventHandler ["SliderPosChanged", _fnc_sliderMove]; +(_display displayCtrl 16184) call _fnc_sliderMove; + +(_display displayCtrl 16185) sliderSetRange [0, 1]; +(_display displayCtrl 16185) sliderSetPosition (GVAR(aiSkill_aimingAccuracy) max 0); +(_display displayCtrl 16185) ctrlAddEventHandler ["SliderPosChanged", _fnc_sliderMove]; +(_display displayCtrl 16185) call _fnc_sliderMove; + +(_display displayCtrl 16186) sliderSetRange [0, 1]; +(_display displayCtrl 16186) sliderSetPosition (GVAR(aiSkill_weaponHandling) max 0); +(_display displayCtrl 16186) ctrlAddEventHandler ["SliderPosChanged", _fnc_sliderMove]; +(_display displayCtrl 16186) call _fnc_sliderMove; + +(_display displayCtrl 16187) sliderSetRange [0, 1]; +(_display displayCtrl 16187) sliderSetPosition (GVAR(aiSkill_spotting) max 0); +(_display displayCtrl 16187) ctrlAddEventHandler ["SliderPosChanged", _fnc_sliderMove]; +(_display displayCtrl 16187) call _fnc_sliderMove; + +(_display displayCtrl 16188) cbSetChecked GVAR(aiSkill_COVER); + +(_display displayCtrl 16189) cbSetChecked GVAR(aiSkill_AUTOCOMBAT); + + + +private _fnc_onUnload = { + params [["_display", displayNull, [displayNull]]]; + TRACE_1("_fnc_onUnload params",_display); + + private _logic = missionnamespace getVariable ["BIS_fnc_initCuratorAttributes_target", objnull]; + if (isNull _logic) exitWith {}; + + _logic setVariable ["closed", true]; +}; + +private _fnc_onConfirm = { + params [["_ctrlButtonOK", controlNull, [controlNull]]]; + TRACE_1("_fnc_onConfirm params",_this); + private _display = ctrlparent _ctrlButtonOK; + if (isNull _display) exitWith {}; + + private _logic = missionnamespace getvariable ["BIS_fnc_initCuratorAttributes_target", objnull]; + if (isNull _logic) exitWith {diag_log text format ["[POTATO] - ERROR Logic [%1] is null on confirm", _logic];}; + + TRACE_2("set",_logic, sliderPosition (_display displayCtrl 16184)); + _logic setVariable ["aiSkill_general", sliderPosition (_display displayCtrl 16184), true]; + _logic setVariable ["aiSkill_aimingAccuracy", sliderPosition (_display displayCtrl 16185), true]; + _logic setVariable ["aiSkill_weaponHandling", sliderPosition (_display displayCtrl 16186), true]; + _logic setVariable ["aiSkill_spotting", sliderPosition (_display displayCtrl 16187), true]; + _logic setVariable ["aiSkill_COVER", cbChecked (_display displayCtrl 16188), true]; + _logic setVariable ["aiSkill_AUTOCOMBAT", cbChecked (_display displayCtrl 16189), true]; + _logic setVariable ["set", true, true]; +}; + +_display displayaddeventhandler ["unload", _fnc_onUnload]; +_ctrlButtonOK ctrladdeventhandler ["buttonclick", _fnc_onConfirm]; diff --git a/addons/zeus/functions/fnc_zeus_globalSetSkill.sqf b/addons/zeus/functions/fnc_zeus_globalSetSkill.sqf new file mode 100644 index 0000000000..763947292f --- /dev/null +++ b/addons/zeus/functions/fnc_zeus_globalSetSkill.sqf @@ -0,0 +1,43 @@ +#include "script_component.hpp" + +params ["_logic"]; +TRACE_1("params",_logic); + +if (!isServer) exitWith {}; + +[{ + params ["_logic"]; + (isNull _logic) || {_logic getVariable ["closed", false]} +}, { + params ["_logic"]; + if (isNull _logic) exitWith {TRACE_1("null",_logic);}; + + if (_logic getVariable ["set", false]) then { + + [QGVAR(aiSkill_set), true, false, true] call ace_common_fnc_setSetting; + if (!GVAR(aiSkill_set)) exitWith { + TRACE_1("Setting must be forced off", GVAR(aiSkill_set)); + }; + + private _val = _logic getVariable ["aiSkill_general", -1]; + if (_val != -1) then { [QGVAR(aiSkill_general), _val, false, true] call ace_common_fnc_setSetting; }; + _val = _logic getVariable ["aiSkill_aimingAccuracy", -1]; + if (_val != -1) then { [QGVAR(aiSkill_aimingAccuracy), _val, false, true] call ace_common_fnc_setSetting; }; + _val = _logic getVariable ["aiSkill_weaponHandling", -1]; + if (_val != -1) then { [QGVAR(aiSkill_weaponHandling), _val, false, true] call ace_common_fnc_setSetting; }; + _val = _logic getVariable ["aiSkill_spotting", -1]; + if (_val != -1) then { [QGVAR(aiSkill_spotting), _val, false, true] call ace_common_fnc_setSetting; }; + _val = _logic getVariable ["aiSkill_COVER", -1]; + if (!(_val isEqualTo -1)) then { [QGVAR(aiSkill_COVER), _val, false, true] call ace_common_fnc_setSetting; }; + _val = _logic getVariable ["aiSkill_AUTOCOMBAT", -1]; + if (!(_val isEqualTo -1)) then { [QGVAR(aiSkill_AUTOCOMBAT), _val, false, true] call ace_common_fnc_setSetting; }; + + ["UpdateAISettings", []] call ace_common_fnc_globalEvent; + + TRACE_6("ai settings updated",GVAR(aiSkill_general),GVAR(aiSkill_aimingAccuracy),GVAR(aiSkill_weaponHandling),GVAR(aiSkill_spotting),GVAR(aiSkill_COVER),GVAR(aiSkill_AUTOCOMBAT)); + } else { + TRACE_1("closed but not set",_logic); + }; + + deleteVehicle _logic; +}, [_logic]] call ace_common_fnc_waitUntilAndExecute; From 424c6fe878c1d13a872a0e7d12704e888a2ba9e7 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Fri, 26 Feb 2016 01:37:00 -0600 Subject: [PATCH 011/285] Show Cargo Example --- addons/zeus/UI_RscAttributes.hpp | 51 ++++++++++++++++++- addons/zeus/XEH_PREP.hpp | 1 + .../functions/fnc_zeusAttributes_vehCargo.sqf | 14 +++++ 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 addons/zeus/functions/fnc_zeusAttributes_vehCargo.sqf diff --git a/addons/zeus/UI_RscAttributes.hpp b/addons/zeus/UI_RscAttributes.hpp index 83f07aa67c..24007c9f5d 100644 --- a/addons/zeus/UI_RscAttributes.hpp +++ b/addons/zeus/UI_RscAttributes.hpp @@ -1,3 +1,4 @@ +class RscControlsGroup; class RscControlsGroupNoScrollbars; class RscText; class RscListbox; @@ -9,7 +10,9 @@ class RscDisplayAttributes { class Controls { class Background; class Title; - class Content; + class Content: RscControlsGroup { + class controls; + }; class ButtonOK; class ButtonCancel; }; @@ -108,3 +111,49 @@ class GVAR(RscDisplayAttributes_globalSetSkill): RscDisplayAttributes { class ButtonCancel: ButtonCancel {}; }; }; + +class GVAR(cargoAttribute): RscControlsGroupNoScrollbars { + onSetFocus = QUOTE(_this call FUNC(zeusAttributes_vehCargo)); + idc = 80085; + x = "7 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; + y = "10 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; + w = "26 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class controls { + class Title: RscText { + idc = -1; + text = "Cargo:"; + x = "0 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {0,0,0,0.5}; + }; + class Background: RscText { + idc = -1; + x = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "16 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "2.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + colorBackground[] = {1,1,1,0.1}; + }; + class Cargo: RscListBox { + idc = 80086; + x = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + y = "0 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + w = "16 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; + h = "3 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + }; + + }; +}; + +class RscDisplayAttributesVehicle: RscDisplayAttributes { + class Controls: Controls { + class Content: Content { + class Controls: controls { + class Cargo: GVAR(cargoAttribute) { }; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/zeus/XEH_PREP.hpp b/addons/zeus/XEH_PREP.hpp index 241cd385a2..96fc87be01 100644 --- a/addons/zeus/XEH_PREP.hpp +++ b/addons/zeus/XEH_PREP.hpp @@ -18,3 +18,4 @@ PREP(setSkillsLocal); PREP(zeus_globalSetSkill); PREP(zeusAttributes); PREP(zeusAttributes_globalSetSkill); +PREP(zeusAttributes_vehCargo); diff --git a/addons/zeus/functions/fnc_zeusAttributes_vehCargo.sqf b/addons/zeus/functions/fnc_zeusAttributes_vehCargo.sqf new file mode 100644 index 0000000000..8c9087e31c --- /dev/null +++ b/addons/zeus/functions/fnc_zeusAttributes_vehCargo.sqf @@ -0,0 +1,14 @@ +#include "script_component.hpp" + +params ["_control"]; +TRACE_1("params",_control); + +private _veh = missionNamespace getVariable ["BIS_fnc_initCuratorAttributes_target", objnull]; +TRACE_1("",_veh); + +private _loaded = _veh getVariable [QEGVAR(cargo,loaded), []]; +TRACE_1("",_loaded); + +{ + ((ctrlParent _control) displayCtrl 80086) lbAdd (str _x); +} forEach _loaded; From 772c4cc1003eb828030d8907fdd7be05e798c025 Mon Sep 17 00:00:00 2001 From: NorXAengell Date: Tue, 1 Mar 2016 02:27:19 +0100 Subject: [PATCH 012/285] Another batch of translations and corrections (Fr) --- addons/advanced_ballistics/stringtable.xml | 16 +++---- addons/aircraft/stringtable.xml | 2 +- addons/atragmx/stringtable.xml | 8 ++-- addons/attach/stringtable.xml | 6 +-- addons/captives/stringtable.xml | 4 +- addons/cargo/stringtable.xml | 8 ++-- addons/common/stringtable.xml | 12 +++--- addons/fcs/stringtable.xml | 4 +- addons/flashlights/stringtable.xml | 6 +-- addons/grenades/stringtable.xml | 4 +- addons/hearing/stringtable.xml | 10 +++-- addons/huntir/stringtable.xml | 26 ++++++------ addons/interact_menu/stringtable.xml | 3 ++ addons/interaction/stringtable.xml | 46 ++++++++++++--------- addons/inventory/stringtable.xml | 9 +++- addons/kestrel4500/stringtable.xml | 12 +++--- addons/laserpointer/stringtable.xml | 4 +- addons/logistics_wirecutter/stringtable.xml | 10 ++--- addons/magazinerepack/stringtable.xml | 8 ++-- addons/main/stringtable.xml | 3 +- addons/map/stringtable.xml | 40 +++++++++--------- addons/maptools/stringtable.xml | 12 +++--- 22 files changed, 138 insertions(+), 115 deletions(-) diff --git a/addons/advanced_ballistics/stringtable.xml b/addons/advanced_ballistics/stringtable.xml index 50e8e1ff05..12e58c4969 100644 --- a/addons/advanced_ballistics/stringtable.xml +++ b/addons/advanced_ballistics/stringtable.xml @@ -68,7 +68,7 @@ Für Scharfschützen aktiviert Povoleno pro odstřelovače Ativar para caçadores - Activer pour les snipers + Activé pour les snipers Mesterlövészeknek engedélyezve Включена для снайперов Abilita per Tiratori Scelti @@ -92,7 +92,7 @@ Für Gruppenmitglieder aktiviert Povoleno pro členy skupiny Ativada para membros do grupo - Activer pour les membres groupés + Activé pour les membres groupés Csoporttagoknak engedélyezve Включена для группы Abilita per Membri del Gruppo @@ -116,7 +116,7 @@ Für jeden aktiviert Povoleno pro všechny Ativada para todos - Activer pour tout le monde + Activé pour tout le monde Mindenkinek engedélyezve Включена для всех Abilita per tutti @@ -164,7 +164,7 @@ Beim vollautomatischen Feuern deaktiviert Zakázáno v automatickém režimu střelby Desabilitar no modo automático - Désactiver en mode rafale libre + Désactiver en mode automatique Automata módban letiltva Выкл. для автомат. режима Disabilita in modalità di fuoco automatico @@ -176,7 +176,7 @@ Deaktiviert die erweiterte Ballistik beim vollautomatischen Feuern Zákáže pokročilou balistiku během střelby v režimu automat Desabilitar a balística avançada durante fogo automático - Désactive la balistique avancée pour les tirs en rafale libre + Désactive la balistique avancée pour les tirs en automatique Letiltja a fejlett ballisztikát automata tüzelés folyamán Выключает продвинутую баллистику при стрельбе в полностью автоматическом режиме Disabilita Balistica Avanzata durante fuoco automatico @@ -188,7 +188,7 @@ Simulation der Munitionstemperatur aktivieren Povolit simulaci teploty munice Ativar simulação de temperatura de munição - Activer la simulation de la température + Active la simulation de la température Lőszer-hő szimuláció engedélyezése Симуляция температуры для боеприпасов Abilita simulazione della temperatura delle munizioni @@ -236,7 +236,7 @@ Geschossspureffekt aktivieren Povolit efekt trasírek Ativa efeito traçante de projétil - Activer l'effet traçante + Activer l'effet balle traçante Nyomkövető-effekt engedélyezése Следы пуль Abilita effetto di tracciatura dei proiettili @@ -307,7 +307,7 @@ Moduł ten pozwala aktywować zaawansowaną balistykę biorącą przy obliczeniach trajektorii lotu pocisku pod uwagę takie rzeczy jak temperatura powietrza, ciśnienie atmosferyczne, wilgotność powietrza, siły Coriolisa i Eotvosa, grawitację a także broń z jakiej wykonywany jest strzał oraz rodzaj amunicji. Wszystko to sprowadza się na bardzo dokładne odwzorowanie balistyki. Tento modul umožňuje aktivovat pokročilou balistiku, která vypočítává trajektorii kulky a bere do úvahy věci jako je teplota vzduchu, atmosférický tlak, vlhkost vzduchu, gravitaci, typ munice a zbraň, ze které je náboj vystřelen. To vše přispívá k velmi přesné balistice. Este módulo permite que você ative cálculos de balística avançada, fazendo a trajetória do projétil levar em consideração coisas como temperatura do ar, pressão atmosférica, umidade, força de Coriolis, a gravidade, o modelo da arma no qual o disparo é realizado e o tipo de munição. Tudo isso acrescenta-se a um balística muito precisa. - Ce module active la simulation de balistique avancée - ie les projectiles sont influencé par des varibles comme le vent, la température, la pression atmosphérique, l'humidité, la gravité, le type de munition et l'arme avec laquelles ils sont tirés. + Ce module active la simulation de balistique avancée - les projectiles sont influencé par des varibles comme le vent, la température, la pression atmosphérique, l'humidité, la gravité, le type de munition et l'arme avec laquelles ils sont tirés. Ez a modul engedélyezi a fejlett ballisztikai szimulációt - a lövedékek röppályáját befolyásolni fogja a levegő hőmérséklete, légnyomás, páratartalom, gravitáció, a lövedék fajtája, valamint a fegyver, amiből kilőtték a lövedéket. Этот модуль включает симуляцию продвинутой баллистики - при этом на траекторию полета снаряда влияют различные параметры, такие как температура воздуха, атмосферное давление, влажность, гравитация, тип боеприпаса и оружия, из которого произвели выстрел. Este módulo permite la simulación balística avanzada - es decir, la trayectoria de los proyectiles está influenciada por variables como la temperatura del aire, la presión atmosférica, la humedad, la gravedad, el tipo de municiones y el arma desde el que fue disparada. diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 9c168d11ff..01990840c4 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -29,7 +29,7 @@ Open Cargo Door Laderampe öffnen Abrir compuerta de carga - Ourvir la rampe + Ouvrir la rampe Otwórz drzwi ładowni Otevřít nákladní prostor Rakodórámpa nyitása diff --git a/addons/atragmx/stringtable.xml b/addons/atragmx/stringtable.xml index a8e23ffbda..c4f358f5bc 100644 --- a/addons/atragmx/stringtable.xml +++ b/addons/atragmx/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -18,7 +18,7 @@ Otwórz ATragMX Открыть ATragMX Abrir ATragMX - Ouvrir ATragMX + Ouvrir l'ATragMX ATragMX öffnen Apri ATragMX ATragMX elővétele @@ -42,7 +42,7 @@ Otwórz ATragMX Открыть ATragMX Abrir ATragMX - Ouvrir ATragMX + Ouvrir l'ATragMX ATragMX öffnen Apri ATragMX ATragMX elővétele @@ -50,4 +50,4 @@ Abrir ATragMX - + \ No newline at end of file diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 4035b389a2..13ec80b714 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -90,7 +90,7 @@ Leuchtstab befestigt Barra de luz acoplada Przyczepiono światło chemiczne - Chemlight attachée + Cyalume attachée Chemické světlo připnuto Chemlight Fixada Chemlight attaccata @@ -102,7 +102,7 @@ Leuchtstab entfernt Barra de luz quitada Odczepiono światło chemiczne - Chemlight détachée + Cyalume détachée Chemické světlo odepnuto Chemlight Separada Chemlight staccata diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 52ed203fed..ec9120189d 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -5,7 +5,7 @@ Take Prisoner Gefangen nehmen Tomar prisionero - Prendre prisonnier + Prendre le prisonnier Aresztuj Zajmout osobu Arresta il prigioniero @@ -190,7 +190,7 @@ Spoutat jednotku Metti manette all'unità Hacer que la unidad esté esposada - Rend une unité captive + Rendre une unité captive Sync a unit to make them handcuffed. diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index b4210a7755..73bc4f220a 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -65,7 +65,7 @@ Povolit náklad Habilitar carga Abilita Cargo - Activer mise en cargaison + Activer la mise en cargaison Enable the load in cargo module @@ -76,7 +76,7 @@ Habilitar la carga en el módulo de carga Umožňuje naložit předměty do nákladového prostoru vozidla Abilita il modulo di caricamento in cargo - Active + Active le chargement de cargaison dans un vehicule Cargo Settings @@ -87,7 +87,7 @@ Nastavení nákladu Ajustes de carga Impostazioni Cargo - Options de cargaison + Paramètres de cargaison Configure the cargo module settings @@ -98,7 +98,7 @@ Configure los ajustes del módulo de carga Konfigurace nákladního modulu Configura le impostazioni del modulo cargo - Configure les options du module de cargaison + Configure les paramètres du module de cargaison %1<br/>loaded into<br/>%2 diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 7e9cba9802..e244701a8f 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -738,7 +738,7 @@ ACE3 Vybavení ACE3 Equipo Equipaggiamento ACE3 - Equipement ACE3 + ACE3 Equipement ACE3 Common @@ -749,7 +749,7 @@ ACE3 Común ACE3 Obecné Comune ACE3 - Commun ACE3 + ACE3 Commun ACE3 Weapons @@ -760,7 +760,7 @@ ACE3 Zbraně ACE3 Armas Armi ACE3 - Armes ACE3 + ACE3 Armes ACE3 Movement @@ -771,7 +771,7 @@ ACE3 Movimiento ACE3 Pohyb Movimento ACE3 - Mouvement ACE3 + ACE3 Mouvement ACE3 Scope Adjustment @@ -782,7 +782,7 @@ ACE3 Nastavení optiky ACE3 Ajuste de miras Regolazione Ottiche ACE3 - Ajustement de la lunette ACE3 + ACE3 Ajustement de la lunette ACE3 Vehicles @@ -793,7 +793,7 @@ ACE3 Vozidla ACE3 Vehículos Veicoli ACE3 - Vehicules ACE3 + ACE3 Vehicules No Room to unload diff --git a/addons/fcs/stringtable.xml b/addons/fcs/stringtable.xml index 035d9d7a36..2623351972 100644 --- a/addons/fcs/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -19,7 +19,7 @@ Ajustado a Wyzerowany na Nastaveno na - Zéroté à + Remise à zéro à Выставлено на Nullázási táv Fixado em diff --git a/addons/flashlights/stringtable.xml b/addons/flashlights/stringtable.xml index 3eb413f61c..1d097e1d2c 100644 --- a/addons/flashlights/stringtable.xml +++ b/addons/flashlights/stringtable.xml @@ -21,7 +21,7 @@ Svítilna s červeným filtrem. Pro nahlédnutí do mapy. Linterna con filtro rojo. Para su uso en el mapa. Torcia con filtro rosso. Da usare in mappa. - Lampe torche avec un filtre rouge. Pour utilisation sur carte. + Lampe torche avec un filtre rouge. Pour utilisation sur la carte. Maglite XL50 @@ -43,7 +43,7 @@ Bílá mini svítilna. Pro nahlédnutí do mapy. Mini linterna blanca. Para su uso en el mapa. Mini-torcia bianca. Da usare in mappa. - Mini lampe torche. Pour utilisation sur carte. + Mini lampe torche. Pour utilisation sur la carte. KSF-1 @@ -65,7 +65,7 @@ Svítilna s červeným filtrem. Pro nahlédnutí do mapy. Linterna con filtro rojo. Para su uso en el mapa. Torcia con filtro rosso. Da usare in mappa. - Lampe torche avec un filtre rouge. Pour utilisation sur carte. + Lampe torche avec un filtre rouge. Pour utilisation sur la carte. \ No newline at end of file diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index a05f6635cd..aadd1432d2 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -89,7 +89,7 @@ Also known as flashbang. Causes immediate flash blindness, deafness, tinnitus, and inner ear disturbance. Verursacht temporäre Blind- und Taubheit. Tambien conocida como granada cegadora. Produce de manera inmediata ceguera, sordera, tinitus y afecta el oído interior. - Les grenades incapacitantes servent à désorienter ou distraire une menace pendant quelques secondes. + Aussi connu en tant que "Flashbang". Explose en causant cécité, surdité, bourdonnements d'oreilles et perturbation de l'oreille interne. Znany też jako flashbang. Powoduje natychmiastową tymczasową ślepotę, głuchotę, dzwonienie w uszach i inne zaburzenia ucha wewnętrznego. Omračující granát je taktická nesmrtící zbraň používaná při záchraně rukojmí a zvládání davu. XM84 (M84) - граната нелетального действия, и предназначена для отвлечения и временного вывода из строя, либо дезориентации противника. Основное использование нашла при освобождении заложников, захвате преступников и террористов, а также проведении диверсионных миссий. diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index aa6f114f0e..188cc41a04 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -20,7 +20,7 @@ Stopery do uszu umożliwiają użytkownikowi przebywać w pobliżu głośnej broni bez poniesienia konsekwencji jaką jest utrata słuchu. Ochranné špunty umožňují uživateli, aby neutrpěl zranění jeho sluchu v blízkosti hlasitých zbraní. Беруши позволяют носителю находиться возле громкого вооружения без потери слуха. - Bouchons Anti-Bruits pour la prévention des traumatismes sonores aigus. + Bouchons Anti-Bruits permettant au porteur d'être près d'arme bruyante sans risque d'endommager son ouïe. Erősebb hanghatásoktól védő füldugó, megakadályozza a nagy hanggal járó fegyverzettől való halláskárosodást. Protetor para ouvidos permitem que o usuário esteja próximo a ruídos sem danificar sua audição. Proteggono l'apparato uditivo, permettendo a chi li indossa di resistere ai suoni particolarmente forti senza alcun danno. @@ -56,7 +56,7 @@ Stopery włożone Špunty v uších Беруши надеты - Bouchons mis + Les bouchons sont mis Füldugó berakva Protetores colocados Indossa i tappi auricolari @@ -68,7 +68,7 @@ Stopery wyjęte Špunty venku z uší Беруши сняты - Bouchons enlevés + Les bouchons sont enlevés Füldugó kivéve Protetores retirados Levati i tappi auricolari @@ -172,6 +172,7 @@ Efecto Zeus RC Vliv na Zeus RC Effetto Zeus RC + Effet sur le CàD du Zeus Allow zeus remote controlled units to be able to take hearing damage. @@ -182,6 +183,7 @@ Permitir a las unidades por control remoto de zeus que puedan tener daños auditivos. Aktivovat efekt ztráty sluchu pro vzdáleně ovládané jednotky. Consenti alle unità controllate in remoto da Zeus di ricevere danni all'udito. + Permet aux unités controlées à distance de subir des traumatismes sonores. Add earplugs to units @@ -192,6 +194,7 @@ Přidat špunty jednotce Aggiungi Tappi per Orecchie alle unità Agregar tapones de oida a la unidad + Ajouter des bouchons anti-bruits aux unités Add the `ACE_EarPlugs` item to all units that have loud weapons. Can disable if using custom loadouts. @@ -202,6 +205,7 @@ Přidat `ACE_EarPlugs` všem jednotkám které mají zbraň. Můžete vypnout, pokud používáte vlastní výbavu. Aggiungi l'oggetto 'ACE_EarPlugs' a tutte le unità che hanno armi rumorose. Può essere disabilitato se vengono usati loadout personalizzati. Agregar el item `ACE_EarPlugs` a todas las unidades equipadas con armas muy ruidosas. Desactivar si quieren utilizarse equipamientos personalizados. + Ajoute l'objet "Ace_EarPlugs" à toutes les unités ayant des armes bruyantes. Peut être désactivé par des loadouts personalisés. \ No newline at end of file diff --git a/addons/huntir/stringtable.xml b/addons/huntir/stringtable.xml index 2331c3855c..8db0e6afd1 100644 --- a/addons/huntir/stringtable.xml +++ b/addons/huntir/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -9,7 +9,7 @@ Ящик с HuntIR HuntIR Transport Box Skrzynia HuntIR - HuntIR Transport Box + Boite de transport HuntIR HuntIR Transport Box Caixa de transporte do HuntIR @@ -45,7 +45,7 @@ Включить HuntIR монитор Activate HuntIR monitor Włącz odbiornik HuntIR - Allumer écran HuntIR + Allumer l'écran du HuntIR HuntIR monitor aktiválása Ativar monitor do HuntIR @@ -57,7 +57,7 @@ Камера: Camera: Kamera: - Caméra: + Caméra : Kamera: Câmera: @@ -69,7 +69,7 @@ Высота: Altitude: Wysokość: - Altitude: + Altitude : Magasság: Altitude: @@ -81,7 +81,7 @@ Время записи: Recording Time: Czas nagrywania: - Temps d'enregistrement: + Temps d'enregistrement : Felvételi idő: Tempo de gravação: @@ -93,7 +93,7 @@ Нажмите ESC чтобы выйти из режима камеры Press ESC to quit camera Wciśnij ESC by wyjść z widoku kamery - Appuyer sur ESC pour quitter camera + Appuyer sur ESC pour quitter la camera Nyomj ESC-ket a kamerából való kilépéshez Pressione ESC para sair da câmera @@ -117,7 +117,7 @@ A/D - Приближение A/D - Cycle zoom A/D - powiększenie - A/D - Changement zoom + Q/D - Changement de zoom A/D - Nagyítás A/D - Troca zoom @@ -129,7 +129,7 @@ W/S - Выбрать камеру W/S - Select camera W/S - wybór kamery - W/S - Sélectionner caméra + Z/S - Sélectionner la caméra W/S - Kamera váltás W/S - Seleciona câmera @@ -141,7 +141,7 @@ Влево/Вправо - Вращать камеру Left/Right - Rotate camera Lewo/Prawo - obrót kamery w poziomie - Gauche/Droite - Rotation caméra + Gauche/Droite - Rotation de la caméra Jobb/Bal - Kamera forgatás Esquerda/Direita - Rotaciona câmera @@ -153,7 +153,7 @@ Вверх/Вниз - Поднять/Опустить камеру Up/Down - Elevate/lower camera Góra/Dół - obrót kamery w pionie - Haut/Bas - Monter/descendre caméra + Haut/Bas - Monter/descendre la caméra Fel/Le - Kamera döntése/süllyesztése Acima/Abaixo - Eleva/Abaixa a câmera @@ -177,7 +177,7 @@ R - Сбросить настройки камеры R - Reset camera R - resetuj kamerę - R - Reset caméra + R - Reset de la caméra R - Kamera visszaállítása R - Redefine a câmera @@ -194,4 +194,4 @@ Esc - Sai do Ajuda - + \ No newline at end of file diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index 6ea279c110..d44252e8e1 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -310,6 +310,7 @@ Menu interakce Menú de interacción Menù Interazioni + Menu d'interaction Interaction Animation Speed @@ -320,6 +321,7 @@ Rychlost animace interakce Velocità Animazioni Interazioni Velocidad de animación del menú de interacción + Vitesse de l'aniamtion d'interaction Makes menu animations faster and decreases the time needed to hover to show sub actions @@ -330,6 +332,7 @@ Zrychlí animaci menu a sníží tak čas potřebný pro plné zobrazení podmenu Rende le animazioni Menù più veloci e diminuisce il tempo richiesto per mostrare sotto-azioni Hace la animación del menú más rápida, reduciendo el tiempo necesario para abrir sub-acciones. + Rend les animations de menu plus rapide et réduit le temps nécessaire à l'affichage des sous menus d'action \ No newline at end of file diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index fcbeebb972..1e5b28a80c 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -127,7 +127,7 @@ Abrir / Cerrar puerta Otwórz / Zamknij drzwi Otevřít / Zavřít dveře - Ouvrir / Fermer Portes + Ouvrir / Fermer la porte Открыть / Закрыть двери Ajtó nyitása / zárása Abrir / Fechar Porta @@ -137,7 +137,7 @@ Lock Door Tür sperren Bloquear puerta - Verrouiller Porte + Verrouiller la porte Blocca la porta Заблокировать дверь Trancar Porta @@ -149,7 +149,7 @@ Unlock Door Tür entsperren Desbloquear puerta - Déverrouiller Porte + Déverrouiller la porte Sblocca la porta Разблокировать дверь Destrancar Porta @@ -161,7 +161,7 @@ Locked Door Tür gesperrt Puerta bloqueada - Porte Verrouillée + Porte verrouillée Porta bloccata Дверь заблокирована Porta Trancada @@ -173,7 +173,7 @@ Unlocked Door Tür entsperrt Puerta desbloqueada - Porte Déverrouillée + Porte déverrouillée Porta sbloccata Дверь разблокирована Porta Destrancada @@ -187,7 +187,7 @@ Unirse al grupo Dołącz do grupy Přidat se do skupiny - Rejoindre Groupe + Rejoindre le groupe Вступить в группу Csatlakozás a csoporthoz Unir-se ao grupo @@ -199,7 +199,7 @@ Dejar grupo Opuść grupę Opustit skupinu - Quitter Groupe + Quitter le groupe Выйти из группы Csoport elhagyása Deixar grupo @@ -211,7 +211,7 @@ Asumir el liderazgo Przejmij dowodzenie Stát se velitelem - Devenir Chef de groupe + Devenir chef de groupe Стать лидером Vezetés átvétele Tornar-se Líder @@ -223,7 +223,7 @@ BAILAR! TAŃCZ! TANCUJ! - Danse! + Danser ! ТАНЦЕВАТЬ! TÁNC! DANCE! @@ -281,7 +281,7 @@ You were tapped on the RIGHT shoulder Te tocaron el hombro DERECHO Dir wurde auf die rechte Schulter geklopft - On te tape sur l'épaule droite + On vous tape sur l'épaule droite Zostałeś klepnięty w prawe ramię Megveregették a JOBB válladat. Někdo tě poklepal na PRAVÉ rameno @@ -293,7 +293,7 @@ You were tapped on the LEFT shoulder. Te tocaron el hombro IZQUIERDO. Dir wurde auf die linke Schulter geklopft - On te tape sur l'épaule gauche + On vous tape sur l'épaule gauche Zostałeś klepnięty w lewe ramię Megveregették a BAL válladat. Někdo tě poklepal na LEVÉ rameno @@ -331,7 +331,7 @@ Aléjate! Odejdź! Jděte pryč! - Allez-vous-en! + Allez-vous-en ! Уходите отсюда! Tűnés! Vá Embora! @@ -343,7 +343,7 @@ Al suelo! Padnij! K zemi! - A terre! + A terre ! A földre! Ложись! Abaixe-se! @@ -355,6 +355,7 @@ Esci Aussteigen! Sal del vehículo! + Sortez ! Team Management @@ -516,7 +517,7 @@ You joined Team %1 Du bist Gruppe %1 beigetreten Te has unido al equipo %1 - Tu as rejoint l'équipe %1 + Vous avez rejoint l'équipe %1 Dołączyłeś do %1 Připojili jste se do %1 týmu Вы присоединились к группе %1 @@ -540,7 +541,7 @@ You left the Team Du hast die Gruppe verlassen Has dejado el equipo - Tu as quitté l'équipe + Vous avez quitté l'équipe Opuściłeś drużynę Opustili jste tým Вы покинули группу @@ -553,7 +554,7 @@ Begnadigen Perdonar Przebacz - Pardon + Pardonner Pardon Извините Perdão @@ -587,7 +588,7 @@ Not in Range Außer Reichweite - Hors de portée. + Hors de portée Fuera de rango Слишком далеко Fora do Alcançe @@ -675,7 +676,7 @@ Aktiviere Gruppenverwaltung Povolit správu týmu Управление группами - Active la gestion d'équipe + Activer la gestion d'équipe Csapatkezelés engedélyezése Habilitar gestão de equipes Abilità Management Squadra @@ -687,7 +688,7 @@ Sollen Spieler das Gruppenverwaltungsmenü verwenden dürfen? Standard: Ja Mohou hráči použít menu správy týmu? Výchozí: Ano Разрешить ли игрокам использовать меню управления группами? По-умолчани: Да - Permettre aux joueurs d'utiliser la gestion de groupe? Défaut: oui + Permettre aux joueurs d'utiliser la gestion de groupe? Défaut : oui A játékosoknak engedélyezve legyen a csapatkezelő menü? Alapértelmezett: Igen Devem os jogadores ter permissão de usar o menu de gestão de equipes? Padrão: Sim Possono i giocatori usare il Menù Managment Squadra? Default: Si @@ -725,6 +726,7 @@ Podat zásobník Passa caricatore Pasar cargador + Passer un chargeur Primary magazine @@ -735,6 +737,7 @@ Zásobník do primární zbraně Caricatore Primario Cargador primario + Chargeur de l'arme principale Pistol magazine @@ -745,6 +748,7 @@ Zásobník do pistole Caricatore Pistola Cargador de pistola + Chargeur de pistolet %1 passed you a %2 magazine. @@ -755,6 +759,7 @@ %1 ti podal %2 zásobník. %1 ti ha passato un caricatore %2 . %1 te pasó un cargador %2. + %1 vous a passé un chargeur de %2. Show "pass magazine" interaction @@ -765,6 +770,7 @@ Zobrazit "interakci "podat zásobník" Mostra interazione "passa caricatore" Mostrar "Pasar cargador" en el menú de interacción + Montrer l'interaction "Passer un chargeur" - + \ No newline at end of file diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 60cc8723c2..aa5b4e34ff 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -20,7 +20,7 @@ Обычно, размер окна инвентаря зависит от размеров пользовательского интерфейса. Эта настройка позволяет увеличить размер окна инвентаря, не увеличивая размеры шрифтов, так что отображется большее количество строк. Normálně se velikost invetáře škáluje s velikostí UI. Toto nastavení dovoluje škálování velikost inventáře ale nežvětšuje velikost fontu. To dovoluje zobrazení více řad v inventáři. Ekwipunek skalowany jest poprzez rozmiar UI. Ta opcja pozwala powiększyć rozmiar UI ekwipunku, lecz nie zwiększa rozmiaru fontu pozwalając na wyświetlanie większej ilości wierszy. - L'inventaire est normalement affiché en fonction de la taille de l'UI. Cette option permet d'agrandir l'affichage de l'inventaire, mais n'a aucun effet sur la taille des polices permettant d'afficher plus de ligne + L'inventaire est normalement affiché en fonction de la taille de l'UI. Cette option permet d'agrandir l'affichage de l'inventaire, mais n'a aucun effet sur la taille des polices permettant d'afficher plus de ligne. Alaphelyzetben a kezelőfelület mérete skálázza a felszerelési menüt. Ez az opció engedélyezi a menü felskálázását, de megtartja a betűméreteket, így növelve a láthatóságot. Normalmente il menù inventario è scalato in base alle dimensioni interfaccia. Questa opzione di permette di ingrandirlo ulteriormente ma senza aumentare la dimensione del testo. Normalmente o tamanho da tela do inventário é ditada pelo tamanho da UI. Isso permite aumentar o tamanho da tela de inventário, mas não aumenta o tamanho da fonte, permitindo que mais linhas sejam visualizadas. @@ -32,6 +32,7 @@ Plecaki Zaini Mochilas + Sacs à dos Headgear @@ -40,6 +41,7 @@ Hełmy Copricapi Cascos + Equipement de tête Glasses @@ -48,6 +50,7 @@ Gogle Occhiali Gafas + Lunettes Uniforms @@ -56,6 +59,7 @@ Uniformy Uniformi Uniformes + Uniformes Vests @@ -64,6 +68,7 @@ Kamizelki Vests Chalecos + Vestes Grenades @@ -72,6 +77,7 @@ Granaty Granate Granadas + Grenades Medical @@ -80,6 +86,7 @@ Medyczne Medico Médico + Médicale \ No newline at end of file diff --git a/addons/kestrel4500/stringtable.xml b/addons/kestrel4500/stringtable.xml index defb44c2dc..88f0e90363 100644 --- a/addons/kestrel4500/stringtable.xml +++ b/addons/kestrel4500/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -30,7 +30,7 @@ Otwórz Kestrel 4500 Kestrel 4500 elővétele Открыть Kestrel 4500NV - Ouvrir Kestrel 4500 + Ouvrir le Kestrel 4500 Accendi Kestrel 4500 Abrir Kestrel 4500 Kestrel 4500 öffnen @@ -41,7 +41,7 @@ Show Kestrel 4500 Pokaż Kestrel 4500 Показать Kestrel 4500NV - Afficher Kestrel 4500 + Afficher le Kestrel 4500 Mostra Kestrel 4500 Mostrar Kestrel 4500 Kestrel 4500 anzeigen @@ -53,7 +53,7 @@ Hide Kestrel 4500 Ukryj Kestrel 4500 Убрать Kestrel 4500NV - Cacher Kestrel 4500 + Cacher le Kestrel 4500 Nascondi Kestrel 4500 Ocultar Kestrel 4500 Kestrel 4500 wegstecken @@ -65,7 +65,7 @@ Open Kestrel 4500 Otwórz Kestrel 4500 Открыть Kestrel 4500NV - Ouvrir Kestrel 4500 + Ouvrir le Kestrel 4500 Accendi Kestrel 4500 Abrir Kestrel 4500 Kestrel 4500 öffnen @@ -77,7 +77,7 @@ Show Kestrel 4500 Pokaż Kestrel 4500 Показать Kestrel 4500NV - Afficher Kestrel 4500 + Afficher le Kestrel 4500 Mostra Kestrel 4500 Mostrar Kestrel 4500 Kestrel 4500 anzeigen diff --git a/addons/laserpointer/stringtable.xml b/addons/laserpointer/stringtable.xml index afd11addb1..b161b0998c 100644 --- a/addons/laserpointer/stringtable.xml +++ b/addons/laserpointer/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -27,7 +27,7 @@ Emits visible light. - Emettre de la lumière visible + Émet de la lumière visible. Strahlt sichtbares Licht aus. Испускает узкий пучок видимого света. Vyzařuje viditelné světlo. diff --git a/addons/logistics_wirecutter/stringtable.xml b/addons/logistics_wirecutter/stringtable.xml index ef5d0522e3..d3cf6f45fb 100644 --- a/addons/logistics_wirecutter/stringtable.xml +++ b/addons/logistics_wirecutter/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -31,7 +31,7 @@ Cortar alambrado Przetnij płot Přestřihnout plot - Cisailler Clôture + Cisailler l'obstacle Cortar Cerca Taglia Drótkerítés átvágása @@ -43,7 +43,7 @@ Cortando alambrado / cables... Przecinanie płotu / drutów... Přestřihávám plot / dráty... - Cisaille l'obstacle... + Cisaillement de l'obstacle... Cortando Cerca / Arame... Sto tagliando... Drótok elvágása... @@ -55,11 +55,11 @@ Alambrado cortado Płot przecięty Plot přestřižen - Clôture cisaillée + Obstacle cisaillée Cerca cortada Fatto! Drótkerítés átvágva Забор разрезан - + \ No newline at end of file diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index 1fc873f0c3..75cd177ed9 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -17,7 +17,7 @@ Select Magazine Menu Magazinauswahlmenü Menú de selección de cargador - Sélectionner menu des chargeurs + Sélectionner le menu des chargeurs Menu wyboru magazynków Zvolit menu zásobníků Seleziona menù di ricarica @@ -29,7 +29,7 @@ Select Mag Magazin auswählen Seleccionar cargador - Sélectionner chargeur + Sélectionner le chargeur Wybierz magazynek Vyber zásobník Seleziona caricatore @@ -110,4 +110,4 @@ %1 Total e %2 Parcial - + \ No newline at end of file diff --git a/addons/main/stringtable.xml b/addons/main/stringtable.xml index b1baef93a9..985bfb4836 100644 --- a/addons/main/stringtable.xml +++ b/addons/main/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -10,6 +10,7 @@ ACE Logistika ACE Logística Logistica ACE + ACE Logistique \ No newline at end of file diff --git a/addons/map/stringtable.xml b/addons/map/stringtable.xml index 2fb0283cd3..12503e8375 100644 --- a/addons/map/stringtable.xml +++ b/addons/map/stringtable.xml @@ -20,7 +20,7 @@ ¿Iluminación de mapa? Osvětlení mapy Iluminação do mapa? - Luminosité + Illumination de la carte Térkép megvilágítása? Освещение карты? Illuminazione Mappa? @@ -29,7 +29,7 @@ Simulate map lighting based on ambient lighting and player's items? Simuliere Kartenbeleuchtung auf Basis des Umgebungslichts sowie der mitgeführten Gegenstände? Symuluj oświetlenie mapy bazujące na oświetleniu otoczenia oraz przedmiotach gracza? - Calcul la luminosité de la carte en fonction des conditions de lumière ? + Calcule la luminosité de la carte en fonction des conditions de lumière. Симулировать освещение карты на основе окружающего света и приборов игрока? Simular a luz do mapa baseado em luz ambiente e itens do jogador? Simular iluminación de mapa basada en la iluminación ambiente y los elementos de los jugadores? @@ -50,7 +50,7 @@ Add external glow to players who use flashlight on map? Kartenbeleuchtung mittels Taschenlampe durch Dritte erkennbar? Pokaż poświatę światła latarki na graczu, który używa latarki na widoku mapy? - Ajouter un effet de lumière sur un joueur utilisant une lampe torche sur la carte ? + Ajoute un effet de lumière sur un joueur utilisant une lampe torche sur la carte. Добавить свет при использовании фонаря на карте? Adicionar brilho externo para jogadores que usam lanterna no mapa? Añadir resplandor externo a los jugadores que utilizan la linterna en el mapa? @@ -64,7 +64,7 @@ Kamerawackeln Třesení mapy? Tremor de mapa? - Tremblement de la carte? + Tremblement de la carte Térkép-rázkódás? Тряска карты? Scuoti la mappa? @@ -76,7 +76,7 @@ Kamerawackeln beim Gehen? Umožnit třesení mapy za pochodu? Tremer o mapa enquanto caminha? - La carte tremble lors d'un déplacement ? + Fais trembler la carte lors d'un déplacement. Rázkódjon-e a térkép mozgáskor? Заставлять карту трястись при ходьбе? Far scuotere la mappa mentre cammini? @@ -88,7 +88,7 @@ Kartenvergrößerung einschränken Omezit přiblížení mapy? Limitar zoom do mapa? - Limiter le zoom de la carte? + Limiter le zoom de la carte Térkép-nagyítás korlátozása? Ограничить приближение карты? Limita lo zoom in mappa? @@ -100,7 +100,7 @@ Schränkt die maximale Kartenvergrößerung ein. Omezit stupeň přiblížení pro mapu? Limitar a quantidade de zoom disponível para o mapa? - Limite le zoom maximum pour la carte? + Limite le zoom maximum de la carte. Korlátozva legyen-e a nagyítás mennyisége a térképnél? Ограничить максимальное приближение, доступное на карте? Limita l'ammontare di zoom disponibile per la mappa? @@ -112,7 +112,7 @@ Zeige Mauszeiger-Koordinaten? Zobrazit souřadnice u kurzoru? Mostrar coordenadas no cursor? - Afficher les coordonnées sur le curseur ? + Afficher les coordonnées sur le curseur Kurzor-koordináták mutatása? Показывать координаты курсора? Mostra coordinate sul cursore? @@ -124,7 +124,7 @@ Gitter-Koordinaten auf dem Mauszeiger anzeigen? Zobrazit souřadnice u kurzoru v mapě? Mostrar as coordenadas de grade no ponteiro do mouse? - Affiche les coordonnées à coté du curseur ? + Affiche les coordonnées de la grille à coté du curseur. Mutatva legyen-e a kurzornál található rész rácskoordinátája? Показывать координаты около курсора мыши? Mostra la griglia coordinate sul cursore mouse? @@ -135,7 +135,7 @@ Dieses Modul erweitert die Kartenfunktionen. Tento modul umožňuje přizpůsobit mapu s obrazem. Este módulo permite que você personalize a tela de mapa. - Ce module permet de personnaliser l'écran de la carte + Ce module permet de personnaliser l'écran de la carte. Ez a modul lehetővé teszi a térképnézet testreszabását. Этот модуль позволяет настроить отображение карты. Este módulo permite personalizar la pantalla del mapa. @@ -148,7 +148,7 @@ Blue Force Tracking Blue Force Tracking Rastreio de forças azuis - Blue Force Tracking + Blue Force Tracking (SFA) Blue Force követés Система слежения Blue Force Tracking Blue Force Tracking @@ -172,7 +172,7 @@ Aktywuj Blue Force Tracking. Domyślnie: Nie Povolit Blue Force Tracking. Výchozí: Ne Activar Blue Force Tracking. Por defecto: No - Activer le SFA. Défaut: non + Active le SFA. Défaut : non Blue Force követés engedélyezése. Alapértelmezett: Nem Включает систему служения BFT. По-умолчанию: Нет Abilita Blue Force Tracking. Default: No @@ -208,7 +208,7 @@ KI-Gruppen verstecken? Skrýt AI skupiny? Esconder grupos de IA? - Cacher les groupes IA ? + Cacher les groupes d'IA AI csoportok elrejtése? Скрыть группы ботов? Nascondere gruppi IA? @@ -220,7 +220,7 @@ Verstecke Marker für "nur KI"-Gruppen? Skrýt značky pouze pro AI skupiny? Esconder marcadores que pertencem ao grupo de IA? - Cacher les marqueurs pour les groupes d'IA seulement ? + Cache les marqueurs pour les groupes d'IA seulement. Jelölők elrejtése "csak AI" csoportoknál? Скрыть маркеры групп, которые состоят полностью из ботов? Nascondi markers per gruppi di sole IA? @@ -232,7 +232,7 @@ Zeigen Sie die Namen der Spieler? Zobrazit jména hráčů? Mostrar os nomes dos jogadores? - Afficher les noms des joueurs? + Afficher les noms des joueurs Itt található az a játékos nevét? Показать имена игроков? Mostra i nomi dei giocatori? @@ -244,7 +244,7 @@ Zeigen einzelnen Spielernamen? Zobrazit názvy jednotlivých hráčů? Mostrar nomes individuais dos jogadores? - Afficher les noms des joueurs individuels? + Affiche les noms des joueurs individuels. Itt található az adott játékos neveket? Показать отдельные имена игроков? Mostra i nomi dei giocatori singoli? @@ -277,7 +277,7 @@ NSG Noktowizja Óculos de Visão Noturna - Lunettes de vision nocturne + JVN ПНВ NVG NVG @@ -288,7 +288,7 @@ Ein Włącz Ligado - Allumer + Allumé Вкл. Zapnout Encendido @@ -299,7 +299,7 @@ Aus Wyłącz Desligado - Éteindre + Éteins Выкл. Vypnout Apagado @@ -360,6 +360,7 @@ Zvolit kanál po startu Imposta Canale all'Avvio Setear canal al comenzar + Mettre un canal par défaut Change the starting marker channel at mission start @@ -370,6 +371,7 @@ Nastavit kanál po startu mise Cambia il canale marker iniziale all'avvio di missione Cambiar el canal de marcadores inicial al comenzar la misión + Change le canal de communication par défaut au début de la mission. \ No newline at end of file diff --git a/addons/maptools/stringtable.xml b/addons/maptools/stringtable.xml index cde1096170..34104dc2e5 100644 --- a/addons/maptools/stringtable.xml +++ b/addons/maptools/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -53,7 +53,7 @@ Show Normal Map Tool Zeige Kartenwerkzeug (normal) Mostrar herr. de mapa normal - Montrer outils normaux + Montrer les outils de cartographie (normaux) Visualizza Strumenti Cartografici standard Mostrar Ferramenta de Mapa Padrão Térképészeti eszköz megjelenítése (normál méret) @@ -65,7 +65,7 @@ Show Small Map Tool Zeige Kartenwerkzeug (klein) Mostrar herr. de mapa pequeñas - Montrer petits outils + Montrer les outils de cartographie (petits) Visualizza Strumenti Cartografici piccoli Mostrar Ferramenta de Mapa Pequena Térképészeti eszköz megjelenítése (kicsinyített) @@ -77,7 +77,7 @@ Align Map Tool to North Kartenwerkzeug nach Norden ausrichten Alinear herr. de mapa al norte - Aligner au nord + Aligner les outils sur le nord Allinea gli Strumenti Cartografici con il Nord Alinhar Ferramenta de Mapa com o Norte Térképészeti eszköz Északhoz állítása @@ -89,7 +89,7 @@ Align Map Tool to Compass Kartenwerkzeug am Kompass ausrichten Alinear herr. de mapa a la brújula - Aligner sur la boussole + Aligner les outils sur la boussole Allinea gli Strumenti Cartografici con la bussola Alinhar Ferramenta de Mapa com a Bússola Térképészeti eszköz iránytűhöz állítása @@ -136,7 +136,7 @@ Direction: %1° Drehung: %1° - Direction: %1° + Direction : %1° Směr: %1° Kierunek: %1° Dirección: %1° From 309f48ee0b4849705db91d0dc0eca0cc2a21d0c6 Mon Sep 17 00:00:00 2001 From: Jonathan Pereira Date: Tue, 1 Mar 2016 08:56:43 -0300 Subject: [PATCH 013/285] Added remaining PT-BR translarions --- addons/cargo/stringtable.xml | 3 +++ addons/common/stringtable.xml | 1 + addons/explosives/stringtable.xml | 8 +++++++- addons/fastroping/stringtable.xml | 12 ++++++++++-- addons/frag/stringtable.xml | 4 +++- addons/gestures/stringtable.xml | 4 ++++ addons/headless/stringtable.xml | 7 +++++++ addons/hearing/stringtable.xml | 1 + addons/interaction/stringtable.xml | 5 ++++- addons/inventory/stringtable.xml | 7 +++++++ addons/medical/stringtable.xml | 18 ++++++++++++++++++ addons/mk6mortar/stringtable.xml | 21 +++++++++++++++++++++ addons/overheating/stringtable.xml | 13 ++++++++++++- addons/repair/stringtable.xml | 3 ++- addons/switchunits/stringtable.xml | 3 ++- addons/tagging/stringtable.xml | 13 +++++++++++++ addons/trenches/stringtable.xml | 12 ++++++++++++ 17 files changed, 127 insertions(+), 8 deletions(-) diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index b4210a7755..2b6ce0be17 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -175,6 +175,7 @@ Rendi oggetto caricabile Hacer objeto cargable Rendre l'objet chargeable + Fazer objeto carregável Sets the synced object as loadable by the cargo system. @@ -183,6 +184,7 @@ Imposta l'oggetto sincronizzato come caricabile dal sistema cargo Sincronizar un objecto para hacerlo cargable. Rend l'objet synchronisé chargeable par le système de cargaison. + Seta o objeto sincronizado como carregável Object's Size @@ -191,6 +193,7 @@ Dimensioni dell'oggetto Tamaño del objeto Taille de l'objet + Tamanho do objeto \ No newline at end of file diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 7e9cba9802..9ff98bf95f 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -802,6 +802,7 @@ Non c'è spazio per scaricare No hay espacio para descargar. Pas de place pour décharger + Sem espaço para descarregar \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index c63c990a16..80962d12dd 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -647,6 +647,7 @@ Mina M6 SLAM (atak od dołu) Mina M6 SLAM (Ataque Inferior) Mine M6 SLAM (Par le bas) + Mina M6 SLAM (Ataque Inferior) M6 SLAM Mine (Side Attack) @@ -661,6 +662,7 @@ Mina M6 SLAM (atak od boku) Mina M6 SLAM (Ataque Lateral) Mine M6 SLAM (De flanc) + Mina M6 SLAM (Ataque Lateral) Large IED (Urban, Pressure Plate) @@ -675,6 +677,7 @@ Duży IED (miejski, płyta naciskowa) IED Grande (Urbano, Placa de presión) Grand EEI (Urbain, plaque de pression) + IED Grande (Urbano, Placa de pressão) Large IED (Dug-in, Pressure Plate) @@ -689,6 +692,7 @@ Duży IED (zakopany, płyta naciskowa) IED Grande (Enterrado, Placa de presión) Grand EEI (Enterré, plaque de pression) + IED Grande (Enterrado, Placa de pressão) Small IED (Urban, Pressure Plate) @@ -703,6 +707,7 @@ Mały IED (miejski, płyta naciskowa) IED Pequeño (Urbano, Placa de presión) Petit EEI (Urbain, plaque de pression) + IED Pequeno(Urbano, Placa de pressão) Small IED (Dug-in, Pressure Plate) @@ -717,6 +722,7 @@ Mały IED (zakopany, płyta naciskowa) IED Pequeño (Enterrado, Placa de presión) Petit EEI (Enterré, plaque de pression) + IED Pequeno (Enterrado, Placa de pressão) Connect to %1 @@ -731,4 +737,4 @@ Conectar à %1 - + \ No newline at end of file diff --git a/addons/fastroping/stringtable.xml b/addons/fastroping/stringtable.xml index b65169b273..997ff32ecf 100644 --- a/addons/fastroping/stringtable.xml +++ b/addons/fastroping/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -6,48 +6,56 @@ Rüste FRIES aus Wyposaż FRIES Equiper le FRIES + Equipar FRIES Equips compatible helicopters with a Fast Rope Insertion Extraction System. Rüstet kompatible Helikopter mit einem Fast Rope Insertion Extraction System aus. Wyposaża kompatybilne helikoptery w zestaw Fast Rope Insertion Extraction System. Equipe les hélicoptères compatibles avec un Module Fast Rope Insertion Extraction System. + Equipa um helicóptero compatível com o Fast Rope Insertion Exctraction System. Prepare fast roping system Bereite Fast Roping System vor Przygotuj system zjazdu na linach Préparer le système de corde lisse + Prepara sistema de descida rápida Deploy ropes Seile auswerfen Wypuść liny Déployer les cordes + Jogar cordas Fast rope Abseilen Zjedź na linie Descendre à la corde + Descida rápida Cut ropes Seile abwerfen Odetnij liny Détacher les cordes + Cortar cordas Equip helicopter with FRIES Rüste Helicopter mit FRIES aus Wyposaż helikopter w FRIES Equiper l'hélicoptère avec le FRIED + Equipar helicóptero com FRIES Equips the selected helicopter with a Fast Rope Insertion Extraction System Rüstet den ausgewählten Helicopter mit einem Fast Rope Insertion Extraction System aus Wyposaża wybrany helikopter w zestaw Fast Rope Insertion Extraction System Equipe l'hélicoptère sélectionné avec un Fast Rope Insertion Extraction System + Equipa o helicóptero selecionado com o Fast Rope Insertion Extraction System - + \ No newline at end of file diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index 40b25f4aa6..9bd159ab4f 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -67,6 +67,7 @@ Simulazione Riflessi Esplosioni Druckwellensimulation Activar simulación de reflexiones + Simulação de reflexo de explosão Enable the ACE Explosion Reflection Simulation @@ -74,6 +75,7 @@ Abilita la Simulazione Riflessi Esplosioni di ACE Aktiviere die ACE-Druckwellensimulation Activa la simulación de reflexiones para las explosiones. + Ativa a simulação de reflexo de explosão do ACE Maximum Projectiles Tracked @@ -148,4 +150,4 @@ (Solo SP) Richiede un restart editor/missione. Abilita il tracciamento visivo di schegge da frammentazione/spalling in modalità Giocatore Singolo. - + \ No newline at end of file diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml index 442f10482d..d554ee8fa0 100644 --- a/addons/gestures/stringtable.xml +++ b/addons/gestures/stringtable.xml @@ -238,6 +238,7 @@ Mostra Gesti su Menù Interazione Mostrar gestos en el menú de interacción Afficher les signaux dans le menu d'interaction + Mostrar gestos no menu de interação Show gestures on the self interaction menu, or just use keybinds, or disable completely @@ -247,6 +248,7 @@ Mostra Gesti nel Menù Interazione Personale, o usa solamente Hotkey, o disabilita completamente Muestror los gestos en el menú de interacción propia, utilizar solo combinación de teclas o desactivarlos completamente Affiche les signaux dans le menu d'interaction personnel, ou seulement par raccourcis, ou encore les désactiver complètement + Mostra gestos no menu de interação, ou utilize um dos atalhos de teclado ou desative completamente Just Keybinds @@ -256,6 +258,7 @@ Solo Hotkey Solo mediante teclas Juste par raccourcis + Somente atalhos de teclado Keybinds + Interaction Menu @@ -265,6 +268,7 @@ Hotkey + Menù Interazione Teclas y Menú de Interacción Raccourcis et menu d'interaction + Atalhos + Menu de Interação \ No newline at end of file diff --git a/addons/headless/stringtable.xml b/addons/headless/stringtable.xml index 6ef7452611..bc0acd8481 100644 --- a/addons/headless/stringtable.xml +++ b/addons/headless/stringtable.xml @@ -8,6 +8,7 @@ Headless Headless Headless + Headless This module allows you to setup automatic transferring of AI to Headless Clients. (Default: No) @@ -16,6 +17,7 @@ Questo modulo ti consente di impostare il trasferimento automatico di IA all'Headless Client (Default: No) Éste módulo permite activar la transferencia automática de IA al Headless Client. (Por defecto: No) Ce module permet de configurer le trasnfert automatique des IA vers les Headless Client. (Défaut : Non) + Este módulo permite que você configure a transferência de AI's de forma automática para os Headless Clients (Padrão: Não) Enables transferring of AI to Headless Clients. @@ -24,6 +26,7 @@ Abilita trasferimento di IA a Headless Client Habilita la transferencia de IA al Headless Client. Autorise le transfert d'IA vers les Headless Clients. + Ativa a transferência de AI para os Headless Clients Delay @@ -32,6 +35,7 @@ Ritardo Retardo Délai + Atraso Minimal delay between transfers, in seconds. (Default: 15) @@ -40,6 +44,7 @@ Ritardo minimo tra trasferimenti, in secondi. (Default: 15) Retardo mínimo entre transferencias, en segundos (Por defecto: 15) Délai minimum entre les transferts, en secondes. (Défaut : 15) + Atraso mínimo entre transferências, em segundos. (Padrão: 15) Log @@ -48,6 +53,7 @@ Log Registro Journal + Registro Log transfer statistics and Headless Client (dis)connections to RPT. (Default: No) @@ -56,6 +62,7 @@ Logga statistiche trasferimenti e (dis)connessioni di Headless Client su RPT. (Default: No) Registrar transferencias y (des)conexiones del Headless Client en el RPT. (Por defecto: No) Enregistre les statistiques de transfert et les (dé)connections du Headless Client vers le RPT. (Défaut : Non) + Registra as estatísticas de transferências e (des)conexões dos Headless Clients para o RPT. (Padrão: Não) \ No newline at end of file diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index aa6f114f0e..ef36f3737c 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -115,6 +115,7 @@ Desactiva el efecto de zumbido cuando el jugador recibe daño auditivo. Usuń szum w uszach przy chwilowej utracie słuchu. Enlève l'effet de bourdonnement lorsque le joueur subis des traumatismes sonores + Remove o efeito de zunido quando o jogador recebe dano na audição Hearing diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index fcbeebb972..4417c11f75 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -355,6 +355,7 @@ Esci Aussteigen! Sal del vehículo! + Saia Team Management @@ -709,12 +710,14 @@ Aktivieren Włącz Encender + Ligar Turn off Deaktivieren Wyłącz Apagar + Desligar Pass magazine @@ -767,4 +770,4 @@ Mostrar "Pasar cargador" en el menú de interacción - + \ No newline at end of file diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 60cc8723c2..60bb41681d 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -32,6 +32,7 @@ Plecaki Zaini Mochilas + Mochilas Headgear @@ -40,6 +41,7 @@ Hełmy Copricapi Cascos + Capacetes Glasses @@ -48,6 +50,7 @@ Gogle Occhiali Gafas + Óculos Uniforms @@ -56,6 +59,7 @@ Uniformy Uniformi Uniformes + Uniformes Vests @@ -64,6 +68,7 @@ Kamizelki Vests Chalecos + Coletes Grenades @@ -72,6 +77,7 @@ Granaty Granate Granadas + Granadas Medical @@ -80,6 +86,7 @@ Medyczne Medico Médico + Médico \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 94cad2f790..cee500b5d5 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -54,6 +54,7 @@ Adenosin injizieren Inyectar Adenosina Wstrzyknij adenozynę + Injetar Adenosina Inject Atropine @@ -252,6 +253,7 @@ Adenosin injizieren... Inyectando Adenosina... Wstrzykiwanie adenozyny... + Injetando Adenosina... Injecting Atropine... @@ -966,18 +968,21 @@ Adenosin-Autoinjektor Asenosina auto-inyectable Autostrzykawka z adenozyną + Auto-injetor de Adenosina Used to counter effects of Epinephrine Wird verwendet um die Symptome von Epiniphrin zu lindern Utilizada para contrarrestar los effectos de la Epinefrina Adenozyna. Stosowana do zwalczania efektów działania adrenaliny. + Usado para combater os efeitos da Epinefrina A drug used to counter the effects of Epinephrine Ein Medikament, das die Symptome von Epiniphrin bekämpft. Medicamento usado para contrarrestar los efectos de la Epinefrina. Organiczny związek chemiczny z grupy nukleozydów. Skuteczna w leczeniu częstoskurczu komorowego. Działa rozszerzająco na naczynia krwionośne. + Uma droga usada para combater os efeitos da Epinefrina Atropine autoinjector @@ -2898,6 +2903,7 @@ Örtliche Trainingssteigerung Ubicación mejora entrenamiento. Miejsca zwiększają wyszkolenie + Localização melhora treinamento Boost medic rating in medical vehicles or near medical facilities [untrained becomes medic, medic becomes doctor] @@ -2906,6 +2912,7 @@ Steigert die medizinische Einstufung eines Soldaten in Sanitätsfarhzeugen oder in der Nähe von Sanitätseinrichtungen [untrainiert wird zu Sanitäter, Sanitäter zu Doktor] Mejora el entrenamiento médico dentro de vehículos médicos o cerca de instalaciones médicas (no entrenados se convierten en médicos, médicos se convierten en doctores) Zwiększa poziom wyszkolenia medyków wewnątrz pojazdów medycznych lub w pobliżu budynków medycznych [niedoświadczony zostaje medykiem, medyk zostaje doktorem] + Aumenta a classificação do médico dentro de veículos médicos ou perto de instalações médicas [sem treinamento vira médico, médico vira doutor] Disable medics @@ -3200,6 +3207,7 @@ Standard Sanitätseinstellungen [ACE] Podstawowe ustawienia medyczne Ajustes médicos básicos [ACE] + Ajustes médicos básicos [ACE] Advanced Medical Settings [ACE] @@ -3314,12 +3322,14 @@ Erlaube Epiniphrin Permitir Epinefrina Ograniczenia adrenaliny + Permitir Epinefrina Who can use Epinephrine for full heal? (Basic medical only) Wer darf Epiniphrin zur vollständigen Heilung benutzen? (Standard Sanitätseinstellungen) Configura quienes pueden usar Epinefrina (Solo sistema médico básico) Kto może skorzystać z adrenaliny w celu pełnego uleczenia? (Tylko podstawowy system medyczny) + Quem pode usar Epinefrina para cura completa? (Somente sistema médico básico) Allow PAK @@ -3410,12 +3420,14 @@ Orte für Epiniphrin Ubicaciones epinefrina Ograniczenia adrenaliny + Localizações de Epinefrina Where can the Epinephrine be used? (Basic Medical) Wo kann Epiniphrin verwendet werden? (Standard Sanitätseinstellungen) Configura donde puede usarse Epinefrina (Solo sistema médico básico) Gdzie można korzystać z adrenaliny? (Podstawowy system medyczny) + Onde pode-se usar a Epinefrina? (Somente sistema médico básico) Locations PAK @@ -3658,6 +3670,7 @@ Behandlungseinstellungen der Standard ACE-Medizin konfigurieren Configure las opciones de tratamiento del sistema médico básico de ACE Skonfiguruj ustawienia leczenia podstawowego systemu medycznego ACE + Configura as opções de tratamento do sistema médico básico do ACE Configure the treatment settings from ACE Advanced Medical @@ -4103,6 +4116,7 @@ Addestramento Medico Sanitätsausbildung Entrenamiento médico + Treino médico Whether or not the object will be a medical vehicle. @@ -4110,20 +4124,24 @@ L'oggetto in questione sarà un veicolo medico o meno. Legt fest, ob das Objekt ein Sanitätsfahrzeug ist. Es un vehículo médico? + Se o objeto será ou não um veículo médico Delay cease fire of AI during medical unconsciousness Verzögert Ende des KI-Beschusses bei medizinischer Bewustlosigkeit Demora antes de volverse neutral al caer inconsciente Opóźnij status captive u nieprzytomnych osób + Atraso durante cessar fogo da AI durante inconsciência médica Delay cease fire of AI while player is unconscious for medical reasons. Verzögert das Ende des KI-Beschusses auf einen Spieler, wenn dieser aus medizinischen Gründen bewustlos wird. + Atraso durante cessar fogo da AI enquanto o jogador estiver inconsciente por motivos médicos Delay cease fire of AI for unconsciousness Verzögert Ende des KI-Beschusses bei medizinischer Bewustlosigkeit + Atraso durante cessar fogo da AI durante inconsciência \ No newline at end of file diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 9989193232..b6f7ef719d 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -149,126 +149,147 @@ Aktiviere Munitionshandhabung Usar manejo de munición. Aktywuj obsługę amunicji + Usar manejo de munição Removes mortar magazines, requiring individual rounds to be loaded by the gunner or loader. Does not affect AI mortars. Enfernt das Magzin des Mörsers. Es ist nun erforderlich, die einzelnen Patronen manuell zu laden. Dies beeinflusst nicht die KI-Truppen. Elimina los cargadores del mortero, requiriendo al artillero o cargador la carga manual de cada rondas. No afecta morteros controlados por IA. Usuwa magazynki moździerza, wymagając ładowania pojedynczych pocisków przez strzelca lub ładowniczego. Nie dotyczy moździerzy AI. + Elimina os carregadores do morteiro, requerendo que o atirador ou carregador utilize de forma individual a munição. Não afeta os morteiros controlados pela IA. Remove Round Entferne Patrone Extraer ronda Wyładuj pocisk + Remover munição Load Mortar Lade Mörser Cargar mortero Załaduj moździerz + Carregar morteiro Unloading Round Mörser entladen Descargando ronda Rozładowywanie moździerza + Descarregar munição Preparing Round Patrone vorbereiten Preparando ronda Przygotowywanie pocisku + Preparar munição Load HE Lade Sprengpatrone Cargar HE Załaduj pocisk wybuchowy + Carregar HE Load Smoke Lade Nebelpatrone Cargar Humo Załaduj pocisk dymny + Carregar Fumaça Load Illumination Lade Leuchtpatrone Cargar Iluminación Załaduj pocisk oświetlający + Carregar Iluminação Load Guided HE Lade gelenkte Sprengpatrone Cagar HE Guiada Załaduj kierowany pocisk wybuchowy + Carregar HE Guiada Load Laser Guided HE Lade lasergelenkte Sprengpatrone Cargar HE Guiada por Laser Załaduj laserowo napr. pocisk wybuchowy + Carregar HE Guiada por Laser 82mm HE Round 82mm Sprengpatrone Ronda 82mm HE Pocisk wybuchowy kal. 82mm + Munição 82mm HE 82mm Smoke Round 82mm Nebelpatrone Ronda 82mm Humo Pocisk dymny kal. 82mm + Munição 82mm Fumaça 82mm Illumination Round 82mm Leuchtpatrone Ronda 82mm Iluminación Pocisk oświetlający kal. 82mm + Munição 82mm Iluminação 82mm Guided HE Round 82mm gelenkte Sprengpatrone Ronda 82mm Guiada Kierowany pocisk wybuchowy kal. 82mm + Munição 82mm HE Guiada 82mm Laser Guided HE Round 82mm lasergelenkte Sprengpatrone Ronda 82mm Guiada por Laser Laserowo napr. pocisk wybuchowy kal. 82mm + Munição 82mm HE Guiada por Laser Used in Mk6 mortar Wird im Mk6 Mörser verwendet Usada en el mortero Mk6 Używany w moździerzu Mk6 + Usada no Morteiro MK6 [ACE] 82mm HE Rounds Box [ACE] 82mm Sprengpatronenkiste [ACE] Caja de municiones 82mm HE [ACE] Skrzynka amunicji wybuchowej 82mm + [ACE] Caixa de Munição 82mm HE [ACE] 82mm Smoke Rounds Box [ACE] 82mm Nebelpatronenkiste [ACE] Caja de municiones 82mm Humo [ACE] Skrzynka amunicji dymnej 82mm + [ACE] Caixa de Munição 82mm Fumaça [ACE] 82mm Illumination Rounds Box [ACE] 82mm Leuchtpatronenkiste [ACE] Caja de municiones 82mm Iluminacion [ACE] Skrzynka amunicji oświetlającej 82mm + [ACE] Caixa de Munição 82mm Iluminação [ACE] 82mm Default Loadout Box [ACE] 82mm Standardkiste [ACE] Caja de municiones 82mm por defecto [ACE] Skrzynka amunicji standardowej 82mm + [ACE] Caixa de Munição 82mm Padrão \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index e41f9342d4..492edd35ae 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -31,6 +31,7 @@ Efekty cząsteczkowe przegrzania Effetti Particelle Surriscaldamento Efectos de partículas + Efeito de parícula de superaquecimento Show particle effects when weapon overheats @@ -38,6 +39,7 @@ Pokaż efekty cząsteczkowe kiedy broń się przegrzeje Mostra effetti particellari quando l'arma si surriscalda Muestra efectos de partículas cuando el arma del jugador se sobreacalienta + Mostra efeitos de párticula quando a arma superaquece Overheating Particle Effects for everyone @@ -45,6 +47,7 @@ Pokaż efekty cząsteczkowe dla wszystkich Effetti Particellari Surriscaldamento per tutti Efectos de partículas para todos + Efeito de partícula de superaquecimento para todos Show particle effects when other players weapon overheats @@ -52,6 +55,7 @@ Pokazuje efekty cząsteczkowe kiedy broń innego gracza się przegrzeje Mostra effetti particellari quando l'arma di altri giocatori si surriscalda Muestra efectos de partículas cuando el arma de jugadores cercanos se sobreacalienta + Mostra efeito de partículas quando a arma de outros jogadores superaquece Overheating Dispersion @@ -59,6 +63,7 @@ Wpływ na rozrzut Dispersione Surriscaldamento Dispersión + Disperção de superaquecimento Overheated weapons will be less accurate and have decreased muzzle velocity. Applys for all players. @@ -66,30 +71,35 @@ Przegrzane bronie będą mniej celne oraz będą miały zmniejszoną prędkość pocisku. Wpływa na wszystkich graczy. Armi surriscaldate saranno meno precise ed avranno una ridotta velocità alla volata. Applica per tutti i giocatori. Las armas sobrecalentadas pierden precisión y tienen una velocidad de disparo reducida. Se aplica a todos los jugadores. + Armas superaquecidas irão ser menos precisas e ter velocidade de disparo reduzidas. Aplica a todos os jogadores. Unjam weapon on reload Behebt Ladehemmung beim Nachladen Desencasquillar el arma al recargar. Usuń zacięcie przy przeładowaniu + Desemperrar arma no recarregamento Reloading clears a weapon jam. Nachladen behebt eine Ladehemmung. Recargar el arma la desencasquilla. Przeładowywanie usuwa zacięcie + Recarregar desemperra arma. Chance of unjam failing Wahrscheinlichkeit, dass Ladehemmung nicht behoben wird Probabilidad de falla al desencasquillar. Szansa na porażkę usuw. zacięcia + Chance de falha de desemperramento Probability that an unjam action might fail, requiring to be repeated. Wahrscheinlichkeit, dass der Versuch eine Ladehemmung zu beheben fehl schlägt und erneut durchgeführt werden muss. Probabilidad de que el proceso de desencasquille falle, teniendo que repetirlo. Szansa na to, że przy przeładowaniu broni zacięcie nie zostanie usunięte, przez co czynność będzie musiała zostać powtórzona ponownie. + Probabilidade que uma ação de desemperramento falhe, tendo que ser repetida Spare barrel @@ -156,6 +166,7 @@ Ladehemmung nicht behoben Falló el desencasquillado Porażka przy usuwaniu zacięcia + Falha no desemperramento Swap barrel @@ -242,4 +253,4 @@ Температура - + \ No newline at end of file diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index de640ff48c..2a73fec0af 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -728,6 +728,7 @@ ERA Reaktivpanzerung ERA + ERA Repair Settings @@ -1230,4 +1231,4 @@ Oggetti richiesti per riparare/rimuovere ruote - + \ No newline at end of file diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 26be64dccb..1ccd4abe90 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -20,6 +20,7 @@ Próba zmiany Sto provando a cambiare Intentando cambiar + Tentando trocar This unit is too close to the enemy. @@ -201,4 +202,4 @@ El módulo permite a las unidades cambiar de bando durante el juego. - + \ No newline at end of file diff --git a/addons/tagging/stringtable.xml b/addons/tagging/stringtable.xml index 6dbbcddff1..a6a2ac4ae3 100644 --- a/addons/tagging/stringtable.xml +++ b/addons/tagging/stringtable.xml @@ -6,78 +6,91 @@ Schwarz markieren Marcar en negro Oznakuj na czarno + Marcar em preto Tag red Rot markieren Marcar en rojo Oznakuj na czerwono + Marcar em vermelho Tag green Grün markieren Marcar en verde Oznakuj na zielono + Marcar em verde Tag blue Blau markieren Marcar en azul Oznakuj na niebiesko + Marcar em azul Tag ground black Boden schwarz markieren Oznakuj ziemię na czarno Marcar suelo en negro + Marcar chão em preto Tag ground red Boden rot markieren Oznakuj ziemię na czerwono Marcar suelo en rojo + Marcar chão em vermelho Tag ground green Boden grün markieren Oznakuj ziemię na zielono Marcar suelo en verde + Marcar chão em verde Tag ground blue Boden blau markieren Oznakuj ziemię na niebiesko Marcar suelo en azul + Marcar chão em azul Black spray paint Schwarze Sprühfarbe Pintura negra Czarna farba w sprayu + Spray de tinta preta Red spray paint Rote Sprühfarbe Pintura roja Czerwona farba w sprayu + Spray de tinta vermelha Green spray paint Grüne Sprühfarbe Pintura verde Zielona farba w sprayu + Spray de tinta verde Blue spray paint Blaue Sprühfarbe Pintura azul Niebieska farba w sprayu + Spray de tinta azul A can of spray paint for tagging walls. Eine Farbsprühdose um Wände zu markieren. Lata de pintura en aerosol para marcar. Farba w sprayu, służy do oznakowywania terenu. + Uma lata de tinta spray para marcar paredes. \ No newline at end of file diff --git a/addons/trenches/stringtable.xml b/addons/trenches/stringtable.xml index 1ed6e1fd7b..9140dff907 100644 --- a/addons/trenches/stringtable.xml +++ b/addons/trenches/stringtable.xml @@ -7,6 +7,7 @@ Saperka Pala Pala para trincheras + Ferramenta de trincheira Entrenching Tool @@ -14,6 +15,7 @@ Mit Schanzzeug können Erdwälle oder Gräben ausgehoben werden. Pala Pala para trincheras + Ferramenta de trincheira Envelope - Small @@ -21,6 +23,7 @@ Wnęka - mała Fascia - Piccola Trinchera pequeña + Trincheira - Pequena Small Personal Trench @@ -28,6 +31,7 @@ Mała jednoosobowa wnęka Piccola Trincea Personale Trinchera personal pequeña + Trincheira pessoal pequena Dig Small Trench @@ -35,6 +39,7 @@ Kop małą wnękę Scava Trincea Piccola Cavar trinchera pequeña + Cavar trincheira pequena Envelope - Big @@ -42,6 +47,7 @@ Wnęka - duża Fascia - Grande Trinchera grande + Trincheira - Grande Large Personal Trench @@ -49,6 +55,7 @@ Duża jednoosobowa wnęka Grande Trincea Personale Trinchera personal grande + Trincheira pessoal grande Dig Big Trench @@ -56,6 +63,7 @@ Kop dużą wnękę Scava Trincea Grande Cavar trinchera grande + Cavar trincheira grande Confirm Dig @@ -63,6 +71,7 @@ Potwierdź kopanie Conferma Scava Confirmar cavado + Confirmar excavação Cancel Dig @@ -70,6 +79,7 @@ Anuluj kopanie Cancella Scava Cancelar cavado + Cancelar excavação +Ctrl rotate @@ -77,6 +87,7 @@ +Ctrl obrót +Ctrl ruota +Ctrl rotar + +Ctrl rotaciona Digging Trench @@ -84,6 +95,7 @@ Kopanie okopu Sto Scavando la Trincea Cavando trinchera + Cavando trincheira \ No newline at end of file From 467075ad67fdcd4189302ca56df2f1aaf86d9e22 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 2 Mar 2016 11:01:39 +0100 Subject: [PATCH 014/285] replace timePFH with CBA_missionTime --- addons/advanced_ballistics/XEH_postInit.sqf | 2 +- .../functions/fnc_handleFirePFH.sqf | 4 +- .../functions/fnc_handleFired.sqf | 4 +- .../fnc_initializeTerrainExtension.sqf | 4 +- .../fnc_target_speed_assist_timer.sqf | 6 +- .../captives/functions/fnc_setSurrendered.sqf | 4 +- addons/common/XEH_PREP.hpp | 2 - addons/common/XEH_postInit.sqf | 2 +- addons/common/XEH_preInit.sqf | 15 ---- .../functions/fnc__handleSyncedEvent.sqf | 2 +- addons/common/functions/fnc_cachedCall.sqf | 4 +- addons/common/functions/fnc_displayIcon.sqf | 4 +- addons/common/functions/fnc_displayText.sqf | 2 +- addons/common/functions/fnc_hashHasKey.sqf | 2 +- addons/common/functions/fnc_hashSet.sqf | 2 +- addons/common/functions/fnc_progressBar.sqf | 4 +- .../common/functions/fnc_receiveRequest.sqf | 4 +- .../common/functions/fnc_syncedEventPFH.sqf | 4 +- .../functions/fnc_throttledPublicVariable.sqf | 6 +- addons/common/functions/fnc_timePFH.sqf | 40 ----------- .../common/functions/fnc_waitAndExecute.sqf | 2 +- addons/dagr/functions/fnc_menuInit.sqf | 72 +++++++++---------- .../functions/fnc_disarmDropItems.sqf | 6 +- .../functions/fnc_eventCallerFinish.sqf | 2 +- .../functions/fnc_eventTargetFinish.sqf | 2 +- addons/dragging/functions/fnc_carryObject.sqf | 2 +- .../dragging/functions/fnc_carryObjectPFH.sqf | 6 +- addons/dragging/functions/fnc_dragObject.sqf | 2 +- .../dragging/functions/fnc_dragObjectPFH.sqf | 6 +- addons/dragging/functions/fnc_startCarry.sqf | 4 +- .../dragging/functions/fnc_startCarryPFH.sqf | 16 ++--- addons/dragging/functions/fnc_startDrag.sqf | 2 +- .../dragging/functions/fnc_startDragPFH.sqf | 14 ++-- addons/fcs/functions/fnc_keyDown.sqf | 2 +- addons/fcs/functions/fnc_keyUp.sqf | 4 +- .../finger/functions/fnc_incomingFinger.sqf | 2 +- addons/finger/functions/fnc_keyPress.sqf | 4 +- addons/finger/functions/fnc_perFrameEH.sqf | 2 +- addons/frag/functions/fnc_addTrack.sqf | 2 +- addons/frag/functions/fnc_frago.sqf | 4 +- .../functions/fnc_pfhUpdateGForces.sqf | 4 +- .../goggles/functions/fnc_applyDustEffect.sqf | 2 +- addons/goggles/functions/fnc_handleFired.sqf | 4 +- addons/hearing/functions/fnc_updateVolume.sqf | 4 +- addons/huntir/functions/fnc_cam.sqf | 2 +- addons/huntir/functions/fnc_handleFired.sqf | 2 +- addons/huntir/functions/fnc_huntir.sqf | 4 +- addons/interact_menu/XEH_preInit.sqf | 6 +- .../interact_menu/functions/fnc_keyDown.sqf | 8 +-- addons/interact_menu/functions/fnc_render.sqf | 10 +-- .../functions/fnc_renderActionPoints.sqf | 4 +- .../functions/fnc_renderMenu.sqf | 4 +- addons/interaction/functions/fnc_openDoor.sqf | 4 +- addons/javelin/functions/fnc_onOpticDraw.sqf | 16 ++--- addons/javelin/functions/fnc_onOpticLoad.sqf | 2 +- addons/kestrel4500/XEH_postInit.sqf | 2 +- .../functions/fnc_buttonPressed.sqf | 12 ++-- .../functions/fnc_displayKestrel.sqf | 4 +- .../functions/fnc_generateOutputData.sqf | 2 +- addons/laser/functions/fnc_laserOn.sqf | 8 +-- .../functions/fnc_laserHudDesignateOn.sqf | 6 +- addons/main/script_macros.hpp | 3 - addons/map/XEH_postInitClient.sqf | 2 +- addons/map/functions/fnc_updateMapEffects.sqf | 6 +- addons/medical/XEH_postInit.sqf | 18 ++--- .../functions/fnc_addToInjuredCollection.sqf | 6 +- .../medical/functions/fnc_addToTriageCard.sqf | 4 +- .../functions/fnc_getCardiacOutput.sqf | 2 +- .../functions/fnc_handleCreateLitter.sqf | 4 +- addons/medical/functions/fnc_handleLocal.sqf | 2 +- .../functions/fnc_handleUnitVitals.sqf | 4 +- .../functions/fnc_isInMedicalFacility.sqf | 4 +- .../functions/fnc_setCardiacArrest.sqf | 4 +- addons/medical/functions/fnc_setDead.sqf | 4 +- .../medical/functions/fnc_setUnconscious.sqf | 2 +- .../fnc_treatmentAdvanced_CPRLocal.sqf | 2 +- .../fnc_treatmentTourniquetLocal.sqf | 4 +- .../medical/functions/fnc_unconsciousPFH.sqf | 4 +- addons/medical_menu/XEH_postInit.sqf | 2 +- .../functions/fnc_handleUI_DisplayOptions.sqf | 2 +- .../medical_menu/functions/fnc_openMenu.sqf | 2 +- .../functions/fnc_guidancePFH.sqf | 4 +- .../missileguidance/functions/fnc_onFired.sqf | 2 +- .../functions/fnc_moduleAmbianceSound.sqf | 6 +- .../fnc_dev_simulateCalcRangeTableLine.sqf | 4 +- .../mk6mortar/functions/fnc_handleFired.sqf | 6 +- addons/nametags/XEH_postInit.sqf | 2 +- addons/nametags/functions/fnc_onDraw3d.sqf | 4 +- addons/overheating/functions/fnc_firedEH.sqf | 4 +- .../functions/fnc_swapBarrelCallback.sqf | 2 +- .../functions/fnc_updateTemperature.sqf | 4 +- addons/parachute/functions/fnc_doLanding.sqf | 4 +- .../parachute/functions/fnc_showAltimeter.sqf | 4 +- addons/scopes/functions/fnc_showZeroing.sqf | 4 +- addons/tacticalladder/XEH_postInit.sqf | 2 +- .../functions/fnc_positionTL.sqf | 2 +- addons/vector/functions/fnc_onKeyDown.sqf | 44 ++++++------ addons/vector/functions/fnc_onKeyHold.sqf | 30 ++++---- addons/vehicles/functions/fnc_startEngine.sqf | 4 +- addons/weather/XEH_postInit.sqf | 16 ++--- addons/weather/functions/fnc_getWind.sqf | 2 +- .../functions/fnc_updateAceWeather.sqf | 4 +- addons/weather/functions/fnc_updateRain.sqf | 4 +- .../functions/fnc_updateTrajectoryPFH.sqf | 6 +- addons/yardage450/functions/fnc_turnOn.sqf | 4 +- .../zeus/functions/fnc_bi_moduleCurator.sqf | 2 +- .../functions/fnc_bi_moduleProjectile.sqf | 4 +- 107 files changed, 289 insertions(+), 349 deletions(-) delete mode 100644 addons/common/functions/fnc_timePFH.sqf diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index a541d30ce8..08270b0a31 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -5,7 +5,7 @@ GVAR(currentbulletID) = -1; GVAR(Protractor) = false; -GVAR(ProtractorStart) = ACE_time; +GVAR(ProtractorStart) = CBA_missionTime; GVAR(allBullets) = []; GVAR(currentGrid) = 0; diff --git a/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf b/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf index fc8dc1b8a2..6bc6e234ae 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf @@ -12,7 +12,7 @@ */ #include "script_component.hpp" -private _aceTimeSecond = floor ACE_time; +private _aceTimeSecond = floor CBA_missionTime; { private ["_bulletVelocity", "_bulletPosition", "_bulletSpeed"]; @@ -31,7 +31,7 @@ private _aceTimeSecond = floor ACE_time; drop ["\A3\data_f\ParticleEffects\Universal\Refract","","Billboard",1,0.1,getPos _bullet,[0,0,0],0,1.275,1,0,[0.02*_caliber,0.01*_caliber],[[0,0,0,0.65],[0,0,0,0.2]],[1,0],0,0,"","",""]; }; - call compile ("ace_advanced_ballistics" callExtension format["simulate:%1:%2:%3:%4:%5:%6:%7", _index, _bulletVelocity, _bulletPosition, ACE_wind, ASLToATL(_bulletPosition) select 2, _aceTimeSecond, ACE_time - _aceTimeSecond]); + call compile ("ace_advanced_ballistics" callExtension format["simulate:%1:%2:%3:%4:%5:%6:%7", _index, _bulletVelocity, _bulletPosition, ACE_wind, ASLToATL(_bulletPosition) select 2, _aceTimeSecond, CBA_missionTime - _aceTimeSecond]); }; nil } count +GVAR(allBullets); diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 9646f065d4..b8deb1a487 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -110,8 +110,8 @@ if (_caliber > 0 && _bulletLength > 0 && _bulletMass > 0 && _barrelTwist > 0) th GVAR(currentbulletID) = (GVAR(currentbulletID) + 1) % 10000; -_aceTimeSecond = floor ACE_time; -"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _muzzleVelocity, _transonicStabilityCoef, getPosASL _projectile, EGVAR(common,mapLatitude), EGVAR(weather,currentTemperature), EGVAR(common,mapAltitude), EGVAR(weather,currentHumidity), overcast, _aceTimeSecond, ACE_time - _aceTimeSecond]; +_aceTimeSecond = floor CBA_missionTime; +"ace_advanced_ballistics" callExtension format["new:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:%17:%18", GVAR(currentbulletID), _airFriction, _ballisticCoefficients, _velocityBoundaries, _atmosphereModel, _dragModel, _stabilityFactor, _twistDirection, _muzzleVelocity, _transonicStabilityCoef, getPosASL _projectile, EGVAR(common,mapLatitude), EGVAR(weather,currentTemperature), EGVAR(common,mapAltitude), EGVAR(weather,currentHumidity), overcast, _aceTimeSecond, CBA_missionTime - _aceTimeSecond]; GVAR(allBullets) pushBack [_projectile, _caliber, _bulletTraceVisible, GVAR(currentbulletID)]; diff --git a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf index 02468d0349..d3fd552267 100644 --- a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf +++ b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf @@ -18,7 +18,7 @@ if (!GVAR(extensionAvailable)) exitWith {}; private ["_initStartTime", "_mapSize", "_mapGrids", "_gridCells", "_x", "_y", "_gridCenter", "_gridHeight", "_gridNumObjects", "_gridSurfaceIsWater"]; -_initStartTime = ACE_time; +_initStartTime = CBA_missionTime; _mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize"); if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith { @@ -38,7 +38,7 @@ GVAR(currentGrid) = 0; if (GVAR(currentGrid) >= _gridCells) exitWith { #ifdef DEBUG_MODE_FULL - systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", ceil(ACE_time - _initStartTime)]; + systemChat format["AdvancedBallistics: Finished terrain initialization in %1 seconds", ceil(CBA_missionTime - _initStartTime)]; #endif [_idPFH] call CBA_fnc_removePerFrameHandler; }; diff --git a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf index 0f42f9637c..ac64bdcbb7 100644 --- a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf +++ b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf @@ -30,7 +30,7 @@ if !(ctrlVisible 9000) then { if (!(GVAR(speedAssistTimer))) exitWith { GVAR(speedAssistTimer) = true; - ctrlSetText [8006, Str(Round((ACE_time - _startTime) * 10) / 10)]; + ctrlSetText [8006, Str(Round((CBA_missionTime - _startTime) * 10) / 10)]; [] call FUNC(calculate_target_speed_assist); @@ -40,7 +40,7 @@ if !(ctrlVisible 9000) then { [_this select 1] call CBA_fnc_removePerFrameHandler; }; - ctrlSetText [9001, Str(Round((ACE_time - _startTime) * 10) / 10)]; + ctrlSetText [9001, Str(Round((CBA_missionTime - _startTime) * 10) / 10)]; - }, 0.1, [ACE_time]] call CBA_fnc_addPerFrameHandler; + }, 0.1, [CBA_missionTime]] call CBA_fnc_addPerFrameHandler; }; diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index ffc3c35081..45ee431730 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -103,7 +103,7 @@ if (_state) then { params ["_args", "_pfID"]; _args params ["_unit", "_maxTime"]; //If waited long enough or they re-surrendered or they are unconscious, exit loop - if ((ACE_time > _maxTime) || {_unit getVariable [QGVAR(isSurrendering), false]} || {_unit getVariable ["ACE_isUnconscious", false]}) exitWith { + if ((CBA_missionTime > _maxTime) || {_unit getVariable [QGVAR(isSurrendering), false]} || {_unit getVariable ["ACE_isUnconscious", false]}) exitWith { [_pfID] call CBA_fnc_removePerFrameHandler; }; //Only break animation if they are actualy the "hands up" animation (because we are using switchmove there won't be an transition) @@ -112,7 +112,7 @@ if (_state) then { //Break out of hands up animation loop [_unit, "ACE_AmovPercMstpSsurWnonDnon_AmovPercMstpSnonWnonDnon", 2] call EFUNC(common,doAnimation); }; - }, 0, [_unit, (ACE_time + 20)]] call CBA_fnc_addPerFrameHandler; + }, 0, [_unit, (CBA_missionTime + 20)]] call CBA_fnc_addPerFrameHandler; }; }; diff --git a/addons/common/XEH_PREP.hpp b/addons/common/XEH_PREP.hpp index 0b125af1aa..e6f96bd4a7 100644 --- a/addons/common/XEH_PREP.hpp +++ b/addons/common/XEH_PREP.hpp @@ -276,5 +276,3 @@ PREP(hashListCreateHash); PREP(hashListSelect); PREP(hashListSet); PREP(hashListPush); - -PREP(timePFH); diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 58e674dd8d..f74b83916d 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -13,7 +13,7 @@ BEGIN_COUNTER(waitAndExec); //Handle the waitAndExec array: - while {!(GVAR(waitAndExecArray) isEqualTo []) && {GVAR(waitAndExecArray) select 0 select 0 <= ACE_Time}} do { + while {!(GVAR(waitAndExecArray) isEqualTo []) && {GVAR(waitAndExecArray) select 0 select 0 <= CBA_missionTime}} do { private _entry = GVAR(waitAndExecArray) deleteAt 0; (_entry select 2) call (_entry select 1); }; diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 20b3692b9f..e5043d3802 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -69,21 +69,6 @@ if (hasInterface) then { }, 0, []] call CBA_fnc_addPerFrameHandler; }; - -////////////////////////////////////////////////// -// Time handling -////////////////////////////////////////////////// - -ACE_time = diag_tickTime; -ACE_realTime = diag_tickTime; -ACE_virtualTime = diag_tickTime; -ACE_diagTime = diag_tickTime; -ACE_gameTime = time; -ACE_pausedTime = 0; -ACE_virtualPausedTime = 0; - -[FUNC(timePFH), 0, []] call CBA_fnc_addPerFrameHandler; - // Init toHex [0] call FUNC(toHex); diff --git a/addons/common/functions/fnc__handleSyncedEvent.sqf b/addons/common/functions/fnc__handleSyncedEvent.sqf index f8fe21d760..05266c2168 100644 --- a/addons/common/functions/fnc__handleSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleSyncedEvent.sqf @@ -29,7 +29,7 @@ if (isServer) then { _internalData = HASH_GET(GVAR(syncedEvents),_name); _internalData params ["", "_eventLog"]; - _eventLog pushBack [ACE_diagTime, _args, _ttl]; + _eventLog pushBack [diag_tickTime, _args, _ttl]; }; }; diff --git a/addons/common/functions/fnc_cachedCall.sqf b/addons/common/functions/fnc_cachedCall.sqf index 2c7cdd4b27..6160dfd090 100644 --- a/addons/common/functions/fnc_cachedCall.sqf +++ b/addons/common/functions/fnc_cachedCall.sqf @@ -19,8 +19,8 @@ params ["_params", "_function", "_namespace", "_uid", "_duration", "_event"]; -if ((_namespace getVariable [_uid, [-99999]]) select 0 < ACE_diagTime) then { - _namespace setVariable [_uid, [ACE_diagTime + _duration, _params call _function]]; +if ((_namespace getVariable [_uid, [-99999]]) select 0 < diag_tickTime) then { + _namespace setVariable [_uid, [diag_tickTime + _duration, _params call _function]]; // Does the cache needs to be cleared on an event? if (!isNil "_event") then { diff --git a/addons/common/functions/fnc_displayIcon.sqf b/addons/common/functions/fnc_displayIcon.sqf index c51b3bd454..4c03b11768 100644 --- a/addons/common/functions/fnc_displayIcon.sqf +++ b/addons/common/functions/fnc_displayIcon.sqf @@ -89,11 +89,11 @@ private _refresh = { if (_show) then { if ({_x select 0 == _iconId} count _list == 0) then { - _list pushBack [_iconId, _icon, _color, ACE_time]; + _list pushBack [_iconId, _icon, _color, CBA_missionTime]; } else { { if (_x select 0 == _iconId) exitWith { - _list set [_forEachIndex, [_iconId, _icon, _color, ACE_time]]; + _list set [_forEachIndex, [_iconId, _icon, _color, CBA_missionTime]]; }; } forEach _list; }; diff --git a/addons/common/functions/fnc_displayText.sqf b/addons/common/functions/fnc_displayText.sqf index 3c68327535..fdbe912be9 100644 --- a/addons/common/functions/fnc_displayText.sqf +++ b/addons/common/functions/fnc_displayText.sqf @@ -25,7 +25,7 @@ if !(typeName _text in ["STRING", "TEXT"]) then {_text = str _text}; GVAR(lastHint) params ["_lastHintTime", "_lastHintPriority"]; -private _time = ACE_time; +private _time = CBA_missionTime; if (_time > _lastHintTime + _delay || {_priority >= _lastHintPriority}) then { hintSilent _text; diff --git a/addons/common/functions/fnc_hashHasKey.sqf b/addons/common/functions/fnc_hashHasKey.sqf index b2978f9cc4..97998c1298 100644 --- a/addons/common/functions/fnc_hashHasKey.sqf +++ b/addons/common/functions/fnc_hashHasKey.sqf @@ -12,7 +12,7 @@ */ #include "script_component.hpp" -// diag_log text format["%1 HASH HAS KEY: %2", ACE_diagTime, _this]; +// diag_log text format["%1 HASH HAS KEY: %2", diag_tickTime, _this]; params ["_hash", "_key"]; diff --git a/addons/common/functions/fnc_hashSet.sqf b/addons/common/functions/fnc_hashSet.sqf index 10e2881c10..0890578857 100644 --- a/addons/common/functions/fnc_hashSet.sqf +++ b/addons/common/functions/fnc_hashSet.sqf @@ -12,7 +12,7 @@ */ #include "script_component.hpp" -// diag_log text format["%1 HASH SET: %2", ACE_diagTime, _this]; +// diag_log text format["%1 HASH SET: %2", diag_tickTime, _this]; params ["_hash", "_key", "_val"]; diff --git a/addons/common/functions/fnc_progressBar.sqf b/addons/common/functions/fnc_progressBar.sqf index e842590f35..434a2c3e4b 100644 --- a/addons/common/functions/fnc_progressBar.sqf +++ b/addons/common/functions/fnc_progressBar.sqf @@ -46,7 +46,7 @@ _ctrlPos set [1, ((0 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / [{ (_this select 0) params ["_args", "_onFinish", "_onFail", "_condition", "_player", "_startTime", "_totalTime", "_exceptions"]; - private _elapsedTime = ACE_time - _startTime; + private _elapsedTime = CBA_missionTime - _startTime; private _errorCode = -1; // this does not check: target fell unconscious, target died, target moved inside vehicle / left vehicle, target moved outside of players range, target moves at all. @@ -97,4 +97,4 @@ _ctrlPos set [1, ((0 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / //Update Progress Bar (ratio of elepased:total) (uiNamespace getVariable QGVAR(ctrlProgressBar)) progressSetPosition (_elapsedTime / _totalTime); }; -}, 0, [_args, _onFinish, _onFail, _condition, _player, ACE_time, _totalTime, _exceptions]] call CBA_fnc_addPerFrameHandler; +}, 0, [_args, _onFinish, _onFail, _condition, _player, CBA_missionTime, _totalTime, _exceptions]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/functions/fnc_receiveRequest.sqf b/addons/common/functions/fnc_receiveRequest.sqf index 75f684f5dd..1bb48428df 100644 --- a/addons/common/functions/fnc_receiveRequest.sqf +++ b/addons/common/functions/fnc_receiveRequest.sqf @@ -45,7 +45,7 @@ GVAR(RECIEVE_REQUEST_ADD_ACTION_DECLINE) = _target addAction ["Decline", compile GVAR(RECIEVE_REQUEST_ID_KEY_BINDING) = _requestID; -GVAR(RECIEVE_REQUEST_TIME_OUT_SCRIPT) = [ACE_time, _target, _requestID] spawn { // @todo +GVAR(RECIEVE_REQUEST_TIME_OUT_SCRIPT) = [CBA_missionTime, _target, _requestID] spawn { // @todo params ["_time", "_target", "_requestID"]; _time = _time + 40; @@ -55,7 +55,7 @@ GVAR(RECIEVE_REQUEST_TIME_OUT_SCRIPT) = [ACE_time, _target, _requestID] spawn { waitUntil { _id = _target getVariable _requestID; - (ACE_time > _time || isNil "_id") + (CBA_missionTime > _time || isNil "_id") }; _target setVariable [_requestID, nil]; diff --git a/addons/common/functions/fnc_syncedEventPFH.sqf b/addons/common/functions/fnc_syncedEventPFH.sqf index 62df8f10a7..d5a2623cd8 100644 --- a/addons/common/functions/fnc_syncedEventPFH.sqf +++ b/addons/common/functions/fnc_syncedEventPFH.sqf @@ -34,7 +34,7 @@ if (!isServer) exitWith {false}; if (_globalEventTTL isEqualType {}) then { _ttlReturn = [_eventTime, _eventEntry] call _globalEventTTL; } else { - _ttlReturn = call {_globalEventTTL < 1 || {ACE_diagTime < (_eventEntry select 0) + _globalEventTTL}}; + _ttlReturn = call {_globalEventTTL < 1 || {diag_tickTime < (_eventEntry select 0) + _globalEventTTL}}; }; if (_ttlReturn) then { @@ -44,7 +44,7 @@ if (!isServer) exitWith {false}; if (_eventTTL isEqualType {}) then { _ttlReturn = [_eventTime, _eventEntry] call _eventTTL; } else { - _ttlReturn = call {_eventTTL < 1 || {ACE_diagTime < _time + _eventTTL}}; + _ttlReturn = call {_eventTTL < 1 || {diag_tickTime < _time + _eventTTL}}; }; }; diff --git a/addons/common/functions/fnc_throttledPublicVariable.sqf b/addons/common/functions/fnc_throttledPublicVariable.sqf index 67cfc50f9a..3aaa3c8f47 100644 --- a/addons/common/functions/fnc_throttledPublicVariable.sqf +++ b/addons/common/functions/fnc_throttledPublicVariable.sqf @@ -25,7 +25,7 @@ if (isNil QGVAR(publishSchedId)) then { GVAR(publishNextTime) = 1e7; GVAR(publishSchedId) = [{ - if (ACE_diagTime > GVAR(publishNextTime)) then { + if (diag_tickTime > GVAR(publishNextTime)) then { { _x params [_unit, _varName]; _unit setVariable [_varName, _unit getVariable _varName, true]; @@ -41,8 +41,8 @@ if (isNil QGVAR(publishSchedId)) then { // If the variable is not on the list if (GVAR(publishVarNames) find [_unit, _varName] == -1) exitWith { GVAR(publishVarNames) pushBack [_unit, _varName]; - GVAR(publishNextTime) = GVAR(publishNextTime) min (ACE_diagTime + _maxDelay); + GVAR(publishNextTime) = GVAR(publishNextTime) min (diag_tickTime + _maxDelay); }; // If the variable is on the list -GVAR(publishNextTime) = GVAR(publishNextTime) min (ACE_diagTime + _maxDelay); +GVAR(publishNextTime) = GVAR(publishNextTime) min (diag_tickTime + _maxDelay); diff --git a/addons/common/functions/fnc_timePFH.sqf b/addons/common/functions/fnc_timePFH.sqf deleted file mode 100644 index e5366d331e..0000000000 --- a/addons/common/functions/fnc_timePFH.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Author: jaynus - * PFEH to set all Ace Time Variables - * - * Arguments: - * None - * - * Return Value: - * None - * - * Public: No - */ -#include "script_component.hpp" - -BEGIN_COUNTER(timePFH); - -private _lastTickTime = ACE_diagTime; -private _lastGameTime = ACE_gameTime; - -ACE_gameTime = time; -ACE_diagTime = diag_tickTime; - -private _delta = ACE_diagTime - _lastTickTime; - -if (ACE_gameTime <= _lastGameTime) then { - TRACE_1("paused",_delta); - ACE_paused = true; - // Game is paused or not running - ACE_pausedTime = ACE_pausedTime + _delta; - ACE_virtualPausedTime = ACE_pausedTime + (_delta * accTime); -} else { - TRACE_1("live",_delta); - ACE_paused = false; - // Time is updating - ACE_realTime = ACE_realTime + _delta; - ACE_virtualTime = ACE_virtualTime + (_delta * accTime); - ACE_time = ACE_virtualTime; -}; - -END_COUNTER(timePFH); diff --git a/addons/common/functions/fnc_waitAndExecute.sqf b/addons/common/functions/fnc_waitAndExecute.sqf index 6f282ba656..6180598a5a 100644 --- a/addons/common/functions/fnc_waitAndExecute.sqf +++ b/addons/common/functions/fnc_waitAndExecute.sqf @@ -19,5 +19,5 @@ params ["_func", "_params", "_delay"]; -GVAR(waitAndExecArray) pushBack [ACE_time + _delay, _func, _params]; +GVAR(waitAndExecArray) pushBack [CBA_missionTime + _delay, _func, _params]; GVAR(waitAndExecArray) sort true; diff --git a/addons/dagr/functions/fnc_menuInit.sqf b/addons/dagr/functions/fnc_menuInit.sqf index e4fb341537..7e6bec9575 100644 --- a/addons/dagr/functions/fnc_menuInit.sqf +++ b/addons/dagr/functions/fnc_menuInit.sqf @@ -134,19 +134,19 @@ GVAR(menuRun) = true; GVAR(vectorConnected) = false; if (!GVAR(busy)) then { GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; }; (__dsp displayCtrl __mainText) ctrlSetText "Acquiring Data."; - if (ACE_time - GVAR(busyTimer) > 0.5) then { + if (CBA_missionTime - GVAR(busyTimer) > 0.5) then { (__dsp displayCtrl __mainText) ctrlSetText "Acquiring Data.."; }; - if (ACE_time - GVAR(busyTimer) > 1.0) then { + if (CBA_missionTime - GVAR(busyTimer) > 1.0) then { (__dsp displayCtrl __mainText) ctrlSetText "Acquiring Data..."; }; - if (ACE_time - GVAR(busyTimer) > 1.5) then { + if (CBA_missionTime - GVAR(busyTimer) > 1.5) then { (__dsp displayCtrl __mainText) ctrlSetText "Position Acquired"; }; - if (ACE_time - GVAR(busyTimer) > 3.0) then { + if (CBA_missionTime - GVAR(busyTimer) > 3.0) then { GVAR(busy) = false; }; }; @@ -156,7 +156,7 @@ GVAR(menuRun) = true; if (!GVAR(busy)) then { GVAR(showNoWaypointsFound) = true; GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; }; } else { GVAR(menu) = "goto_wp"; GVAR(numSelections) = GVAR(numWaypoints); GVAR(selection) = 0; @@ -168,7 +168,7 @@ GVAR(menuRun) = true; }; }; if (GVAR(busy) && GVAR(showNoWaypointsFound)) then { - if (ACE_time - GVAR(busyTimer) > 2) then { + if (CBA_missionTime - GVAR(busyTimer) > 2) then { GVAR(showNoWaypointsFound) = false; GVAR(busy) = false; }; @@ -206,21 +206,21 @@ GVAR(menuRun) = true; if (!GVAR(busy)) then { GVAR(showInfoUpdating) = true; GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; }; }; if (GVAR(busy) && GVAR(showInfoUpdating)) then { (__dsp displayCtrl __mainText) ctrlSetText "Info Update."; - if (ACE_time - GVAR(busyTimer) > 1) then { + if (CBA_missionTime - GVAR(busyTimer) > 1) then { (__dsp displayCtrl __mainText) ctrlSetText "Info Update.."; }; - if (ACE_time - GVAR(busyTimer) > 1.2) then { + if (CBA_missionTime - GVAR(busyTimer) > 1.2) then { (__dsp displayCtrl __mainText) ctrlSetText "Info Update..."; }; - if (ACE_time - GVAR(busyTimer) > 1.4) then { + if (CBA_missionTime - GVAR(busyTimer) > 1.4) then { (__dsp displayCtrl __mainText) ctrlSetText "Info Updated"; }; - if (ACE_time - GVAR(busyTimer) > 2.9) then { + if (CBA_missionTime - GVAR(busyTimer) > 2.9) then { GVAR(showInfoUpdating) = false; GVAR(busy) = false; }; @@ -289,21 +289,21 @@ GVAR(menuRun) = true; GVAR(numSelections) = GVAR(numWaypoints); GVAR(showDeleting) = true; GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; }; }; if (GVAR(busy) && GVAR(showDeleting)) then { (__dsp displayCtrl __mainText) ctrlSetText "Deleting."; - if (ACE_time - GVAR(busyTimer) > 1) then { + if (CBA_missionTime - GVAR(busyTimer) > 1) then { (__dsp displayCtrl __mainText) ctrlSetText "Deleting.."; }; - if (ACE_time - GVAR(busyTimer) > 1.2) then { + if (CBA_missionTime - GVAR(busyTimer) > 1.2) then { (__dsp displayCtrl __mainText) ctrlSetText "Deleting..."; }; - if (ACE_time - GVAR(busyTimer) > 1.4) then { + if (CBA_missionTime - GVAR(busyTimer) > 1.4) then { (__dsp displayCtrl __mainText) ctrlSetText "Waypoint Deleted"; }; - if (ACE_time - GVAR(busyTimer) > 2.9) then { + if (CBA_missionTime - GVAR(busyTimer) > 2.9) then { GVAR(showDeleting) = false; GVAR(busy) = false; }; @@ -313,7 +313,7 @@ GVAR(menuRun) = true; if (!GVAR(busy)) then { GVAR(showOutOfSpace) = true; GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; }; } else { GVAR(digit1) = 0; @@ -330,7 +330,7 @@ GVAR(menuRun) = true; }; if (GVAR(busy) && GVAR(showOutOfSpace)) then { (__dsp displayCtrl __mainText) ctrlSetText "Out of Space"; - if (ACE_time - GVAR(busyTimer) > 2.5) then { + if (CBA_missionTime - GVAR(busyTimer) > 2.5) then { GVAR(showOutOfSpace) = false; GVAR(busy) = false; }; @@ -425,22 +425,22 @@ GVAR(menuRun) = true; }; }; GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; }; (__dsp displayCtrl __F1) ctrlSetText ""; (__dsp displayCtrl __F2) ctrlSetText ""; (__dsp displayCtrl __F3) ctrlSetText ""; (__dsp displayCtrl __mainText) ctrlSetText "Saving."; - if (ACE_time - GVAR(busyTimer) > 1) then { + if (CBA_missionTime - GVAR(busyTimer) > 1) then { (__dsp displayCtrl __mainText) ctrlSetText "Saving.."; }; - if (ACE_time - GVAR(busyTimer) > 1.2) then { + if (CBA_missionTime - GVAR(busyTimer) > 1.2) then { (__dsp displayCtrl __mainText) ctrlSetText "Saving..."; }; - if (ACE_time - GVAR(busyTimer) > 1.4) then { + if (CBA_missionTime - GVAR(busyTimer) > 1.4) then { (__dsp displayCtrl __mainText) ctrlSetText "Waypoint Saved"; }; - if (ACE_time - GVAR(busyTimer) > 2.9) then { + if (CBA_missionTime - GVAR(busyTimer) > 2.9) then { GVAR(edit) = false; GVAR(add) = false; GVAR(busy) = false; @@ -464,7 +464,7 @@ GVAR(menuRun) = true; if (GVAR(F3)) then { if (!GVAR(busy)) then { GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; } else { (__dsp displayCtrl __F1) ctrlSetText "Save"; (__dsp displayCtrl __F2) ctrlSetText "Vector"; @@ -472,7 +472,7 @@ GVAR(menuRun) = true; GVAR(output) = str GVAR(digit1) + str GVAR(digit2) + str GVAR(digit3) + str GVAR(digit4) + str GVAR(digit5) + str GVAR(digit6) + str GVAR(digit7) + str GVAR(digit8); (__dsp displayCtrl __mainText) ctrlSetText GVAR(output); }; - if (ACE_time - GVAR(busyTimer) > 0.1) then { + if (CBA_missionTime - GVAR(busyTimer) > 0.1) then { GVAR(add) = false; GVAR(edit) = false; GVAR(busy) = false; @@ -512,16 +512,16 @@ GVAR(menuRun) = true; if (GVAR(SEL)) then { if (!GVAR(busy)) then { GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; }; (__dsp displayCtrl __mainText) ctrlSetText "Connecting."; - if (ACE_time - GVAR(busyTimer) > 0.2) then { + if (CBA_missionTime - GVAR(busyTimer) > 0.2) then { (__dsp displayCtrl __mainText) ctrlSetText "Connecting.."; }; - if (ACE_time - GVAR(busyTimer) > 0.4) then { + if (CBA_missionTime - GVAR(busyTimer) > 0.4) then { (__dsp displayCtrl __mainText) ctrlSetText "Connecting..."; }; - if (ACE_time - GVAR(busyTimer) > 0.6) then { + if (CBA_missionTime - GVAR(busyTimer) > 0.6) then { if (ACE_player hasWeapon "ACE_Vector") then { GVAR(displaySelection) = "VECTOR"; (__dsp displayCtrl __mainText) ctrlSetText "Vector Connected"; @@ -531,7 +531,7 @@ GVAR(menuRun) = true; GVAR(vectorConnected) = false; }; }; - if (ACE_time - GVAR(busyTimer) > 3.1) then { + if (CBA_missionTime - GVAR(busyTimer) > 3.1) then { GVAR(busy) = false; if (GVAR(vectorConnected)) then { GVAR(menu) = "main"; GVAR(numSelections) = 5; @@ -556,19 +556,19 @@ GVAR(menuRun) = true; GVAR(updateInterval) = GVAR(tmpUpdateRate); if (!GVAR(busy)) then { GVAR(busy) = true; - GVAR(busyTimer) = ACE_time; + GVAR(busyTimer) = CBA_missionTime; }; (__dsp displayCtrl __mainText) ctrlSetText "Updating."; - if (ACE_time - GVAR(busyTimer) > 0.2) then { + if (CBA_missionTime - GVAR(busyTimer) > 0.2) then { (__dsp displayCtrl __mainText) ctrlSetText "Updating.."; }; - if (ACE_time - GVAR(busyTimer) > 0.4) then { + if (CBA_missionTime - GVAR(busyTimer) > 0.4) then { (__dsp displayCtrl __mainText) ctrlSetText "Updating..."; }; - if (ACE_time - GVAR(busyTimer) > 0.6) then { + if (CBA_missionTime - GVAR(busyTimer) > 0.6) then { (__dsp displayCtrl __mainText) ctrlSetText "Update Success"; }; - if (ACE_time - GVAR(busyTimer) > 2.1) then { + if (CBA_missionTime - GVAR(busyTimer) > 2.1) then { GVAR(busy) = false; GVAR(menu) = "options"; GVAR(numSelections) = 2; }; diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf index be2f932028..f0614bda6c 100644 --- a/addons/disarming/functions/fnc_disarmDropItems.sqf +++ b/addons/disarming/functions/fnc_disarmDropItems.sqf @@ -177,7 +177,7 @@ if (_holderIsEmpty) then { _needToRemoveVest = ((vest _target) != "") && {(vest _target) in _listOfItemsToRemove}; _needToRemoveUniform = ((uniform _target) != "") && {(uniform _target) in _listOfItemsToRemove}; - if ((ACE_time < _maxWaitTime) && {[_target] call FUNC(canBeDisarmed)} && {_needToRemoveWeapon || _needToRemoveMagazines || _needToRemoveBackpack}) then { + if ((CBA_missionTime < _maxWaitTime) && {[_target] call FUNC(canBeDisarmed)} && {_needToRemoveWeapon || _needToRemoveMagazines || _needToRemoveBackpack}) then { //action drop weapons (keeps loaded magazine and attachements) { if (_x in _listOfItemsToRemove) then { @@ -233,7 +233,7 @@ if (_holderIsEmpty) then { clearItemCargoGlobal _holder; }; //Verify we didn't timeout waiting on drop action - if (ACE_time >= _maxWaitTime) exitWith { + if (CBA_missionTime >= _maxWaitTime) exitWith { _holder setVariable [QGVAR(holderInUse), false]; [_caller, _target, "Debug: Drop Actions Timeout"] call FUNC(eventTargetFinish); }; @@ -263,4 +263,4 @@ if (_holderIsEmpty) then { [_caller, _target, ""] call FUNC(eventTargetFinish); }; -}, 0.0, [_caller,_target, _listOfItemsToRemove, _holder, _holderIsEmpty, (ACE_time + TIME_MAX_WAIT), _doNotDropAmmo, _targetMagazinesEnd]] call CBA_fnc_addPerFrameHandler; +}, 0.0, [_caller,_target, _listOfItemsToRemove, _holder, _holderIsEmpty, (CBA_missionTime + TIME_MAX_WAIT), _doNotDropAmmo, _targetMagazinesEnd]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/disarming/functions/fnc_eventCallerFinish.sqf b/addons/disarming/functions/fnc_eventCallerFinish.sqf index e1376f4052..bf1daee2f0 100644 --- a/addons/disarming/functions/fnc_eventCallerFinish.sqf +++ b/addons/disarming/functions/fnc_eventCallerFinish.sqf @@ -23,4 +23,4 @@ params ["_caller", "_target", "_errorMsg"]; if (_caller != ACE_player) exitWith {}; systemChat format ["Debug-Caller: Disarm finished from [%1] with code [%2]", _target, _errorMsg]; -ACE_LOGINFO_2("%1 - eventCallerFinish: %2",ACE_time,_this); +ACE_LOGINFO_2("%1 - eventCallerFinish: %2",CBA_missionTime,_this); diff --git a/addons/disarming/functions/fnc_eventTargetFinish.sqf b/addons/disarming/functions/fnc_eventTargetFinish.sqf index b7364a8f40..9af811adc7 100644 --- a/addons/disarming/functions/fnc_eventTargetFinish.sqf +++ b/addons/disarming/functions/fnc_eventTargetFinish.sqf @@ -22,6 +22,6 @@ params ["_caller", "_target", "_errorMsg"]; if (_errorMsg != "") then { - ACE_LOGINFO_2("%1 - eventTargetFinish: %2",ACE_time,_this); + ACE_LOGINFO_2("%1 - eventTargetFinish: %2",CBA_missionTime,_this); ["DisarmDebugCallback", [_caller], [_caller, _target, _errorMsg]] call EFUNC(common,targetEvent); }; diff --git a/addons/dragging/functions/fnc_carryObject.sqf b/addons/dragging/functions/fnc_carryObject.sqf index ec00693825..2624bbf05c 100644 --- a/addons/dragging/functions/fnc_carryObject.sqf +++ b/addons/dragging/functions/fnc_carryObject.sqf @@ -64,7 +64,7 @@ if (_target isKindOf "CAManBase") then { }; // check everything -[FUNC(carryObjectPFH), 0.5, [_unit, _target, ACE_time]] call CBA_fnc_addPerFrameHandler; +[FUNC(carryObjectPFH), 0.5, [_unit, _target, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; // reset current dragging height. GVAR(currentHeightChange) = 0; diff --git a/addons/dragging/functions/fnc_carryObjectPFH.sqf b/addons/dragging/functions/fnc_carryObjectPFH.sqf index 948af15891..963921efa7 100644 --- a/addons/dragging/functions/fnc_carryObjectPFH.sqf +++ b/addons/dragging/functions/fnc_carryObjectPFH.sqf @@ -20,7 +20,7 @@ #include "script_component.hpp" #ifdef DEBUG_ENABLED_DRAGGING - systemChat format ["%1 carryObjectPFH running", ACE_time]; + systemChat format ["%1 carryObjectPFH running", CBA_missionTime]; #endif params ["_args", "_idPFH"]; @@ -34,10 +34,10 @@ if !(_unit getVariable [QGVAR(isCarrying), false]) exitWith { // drop if the crate is destroyed OR (target moved away from carrier (weapon disasembled)) if (!alive _target || {_unit distance _target > 10}) then { TRACE_2("dead/distance",_unit,_target); - if ((_unit distance _target > 10) && {(ACE_time - _startTime) < 1}) exitWith { + if ((_unit distance _target > 10) && {(CBA_missionTime - _startTime) < 1}) exitWith { //attachTo seems to have some kind of network delay and target can return an odd position durring the first few frames, //so wait a full second to exit if out of range (this is critical as we would otherwise detach and set it's pos to weird pos) - TRACE_3("ignoring bad distance at start",_unit distance _target,_startTime,ACE_time); + TRACE_3("ignoring bad distance at start",_unit distance _target,_startTime,CBA_missionTime); }; [_unit, _target] call FUNC(dropObject_carry); [_idPFH] call CBA_fnc_removePerFrameHandler; diff --git a/addons/dragging/functions/fnc_dragObject.sqf b/addons/dragging/functions/fnc_dragObject.sqf index 3237ddbb07..751baccf06 100644 --- a/addons/dragging/functions/fnc_dragObject.sqf +++ b/addons/dragging/functions/fnc_dragObject.sqf @@ -53,7 +53,7 @@ _unit setVariable [QGVAR(ReleaseActionID), [ [localize LSTRING(Drop), ""] call EFUNC(interaction,showMouseHint); // check everything -[FUNC(dragObjectPFH), 0.5, [_unit, _target, ACE_time]] call CBA_fnc_addPerFrameHandler; +[FUNC(dragObjectPFH), 0.5, [_unit, _target, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; // reset current dragging height. GVAR(currentHeightChange) = 0; diff --git a/addons/dragging/functions/fnc_dragObjectPFH.sqf b/addons/dragging/functions/fnc_dragObjectPFH.sqf index ab117e90fd..08aeba738b 100644 --- a/addons/dragging/functions/fnc_dragObjectPFH.sqf +++ b/addons/dragging/functions/fnc_dragObjectPFH.sqf @@ -20,7 +20,7 @@ #include "script_component.hpp" #ifdef DEBUG_ENABLED_DRAGGING - systemChat format ["%1 dragObjectPFH running", ACE_time]; + systemChat format ["%1 dragObjectPFH running", CBA_missionTime]; #endif params ["_args", "_idPFH"]; @@ -34,10 +34,10 @@ if !(_unit getVariable [QGVAR(isDragging), false]) exitWith { // drop if the crate is destroyed OR (target moved away from carrier (weapon disasembled)) if (!alive _target || {_unit distance _target > 10}) then { TRACE_2("dead/distance",_unit,_target); - if ((_unit distance _target > 10) && {(ACE_time - _startTime) < 1}) exitWith { + if ((_unit distance _target > 10) && {(CBA_missionTime - _startTime) < 1}) exitWith { //attachTo seems to have some kind of network delay and target can return an odd position durring the first few frames, //so wait a full second to exit if out of range (this is critical as we would otherwise detach and set it's pos to weird pos) - TRACE_3("ignoring bad distance at start",_unit distance _target,_startTime,ACE_time); + TRACE_3("ignoring bad distance at start",_unit distance _target,_startTime,CBA_missionTime); }; [_unit, _target] call FUNC(dropObject); [_idPFH] call CBA_fnc_removePerFrameHandler; diff --git a/addons/dragging/functions/fnc_startCarry.sqf b/addons/dragging/functions/fnc_startCarry.sqf index fd528b0104..1890dbac1a 100644 --- a/addons/dragging/functions/fnc_startCarry.sqf +++ b/addons/dragging/functions/fnc_startCarry.sqf @@ -26,7 +26,7 @@ if (_weight > missionNamespace getVariable ["ACE_maxWeightCarry", 1E11]) exitWit [localize LSTRING(UnableToDrag)] call EFUNC(common,displayTextStructured); }; -private _timer = ACE_time + 5; +private _timer = CBA_missionTime + 5; // handle objects vs persons if (_target isKindOf "CAManBase") then { @@ -46,7 +46,7 @@ if (_target isKindOf "CAManBase") then { [_unit, "AcinPknlMstpSnonWnonDnon_AcinPercMrunSnonWnonDnon", 2, true] call EFUNC(common,doAnimation); [_target, "AinjPfalMstpSnonWrflDnon_carried_Up", 2, true] call EFUNC(common,doAnimation); - _timer = ACE_time + 15; + _timer = CBA_missionTime + 15; } else { diff --git a/addons/dragging/functions/fnc_startCarryPFH.sqf b/addons/dragging/functions/fnc_startCarryPFH.sqf index 4d39672a9e..007469d960 100644 --- a/addons/dragging/functions/fnc_startCarryPFH.sqf +++ b/addons/dragging/functions/fnc_startCarryPFH.sqf @@ -20,7 +20,7 @@ #include "script_component.hpp" #ifdef DEBUG_ENABLED_DRAGGING - systemChat format ["%1 startCarryPFH running", ACE_time]; + systemChat format ["%1 startCarryPFH running", CBA_missionTime]; #endif params ["_args", "_idPFH"]; @@ -28,28 +28,28 @@ _args params ["_unit", "_target", "_timeOut"]; // handle aborting carry if !(_unit getVariable [QGVAR(isCarrying), false]) exitWith { - TRACE_4("carry false",_unit,_target,_timeOut,ACE_time); + TRACE_4("carry false",_unit,_target,_timeOut,CBA_missionTime); [_idPFH] call CBA_fnc_removePerFrameHandler; }; // same as dragObjectPFH, checks if object is deleted or dead OR (target moved away from carrier (weapon disasembled)) if (!alive _target || {_unit distance _target > 10}) then { - TRACE_4("dead/distance",_unit,_target,_timeOut,ACE_time); + TRACE_4("dead/distance",_unit,_target,_timeOut,CBA_missionTime); [_unit, _target] call FUNC(dropObject); [_idPFH] call CBA_fnc_removePerFrameHandler; }; // handle persons vs objects if (_target isKindOf "CAManBase") then { - if (ACE_time > _timeOut) exitWith { - TRACE_4("Start carry person",_unit,_target,_timeOut,ACE_time); + if (CBA_missionTime > _timeOut) exitWith { + TRACE_4("Start carry person",_unit,_target,_timeOut,CBA_missionTime); [_unit, _target] call FUNC(carryObject); [_idPFH] call CBA_fnc_removePerFrameHandler; }; } else { - if (ACE_time > _timeOut) exitWith { - TRACE_4("timeout",_unit,_target,_timeOut,ACE_time); + if (CBA_missionTime > _timeOut) exitWith { + TRACE_4("timeout",_unit,_target,_timeOut,CBA_missionTime); [_idPFH] call CBA_fnc_removePerFrameHandler; // drop if in timeout @@ -59,7 +59,7 @@ if (_target isKindOf "CAManBase") then { // wait for the unit to stand up if (stance _unit == "STAND") exitWith { - TRACE_4("Start carry object",_unit,_target,_timeOut,ACE_time); + TRACE_4("Start carry object",_unit,_target,_timeOut,CBA_missionTime); [_unit, _target] call FUNC(carryObject); [_idPFH] call CBA_fnc_removePerFrameHandler; diff --git a/addons/dragging/functions/fnc_startDrag.sqf b/addons/dragging/functions/fnc_startDrag.sqf index 24a279e7a7..04c536cbd8 100644 --- a/addons/dragging/functions/fnc_startDrag.sqf +++ b/addons/dragging/functions/fnc_startDrag.sqf @@ -52,4 +52,4 @@ if (_target isKindOf "CAManBase") then { // prevents draging and carrying at the same time _unit setVariable [QGVAR(isDragging), true, true]; -[FUNC(startDragPFH), 0.2, [_unit, _target, ACE_time + 5]] call CBA_fnc_addPerFrameHandler; +[FUNC(startDragPFH), 0.2, [_unit, _target, CBA_missionTime + 5]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/dragging/functions/fnc_startDragPFH.sqf b/addons/dragging/functions/fnc_startDragPFH.sqf index cfa84fe279..c7843cfdc9 100644 --- a/addons/dragging/functions/fnc_startDragPFH.sqf +++ b/addons/dragging/functions/fnc_startDragPFH.sqf @@ -20,7 +20,7 @@ #include "script_component.hpp" #ifdef DEBUG_ENABLED_DRAGGING - systemChat format ["%1 startDragPFH running", ACE_time]; + systemChat format ["%1 startDragPFH running", CBA_missionTime]; #endif params ["_args", "_idPFH"]; @@ -28,20 +28,20 @@ _args params ["_unit", "_target", "_timeOut"]; // handle aborting drag if !(_unit getVariable [QGVAR(isDragging), false]) exitWith { - TRACE_4("drag false",_unit,_target,_timeOut,ACE_time); + TRACE_4("drag false",_unit,_target,_timeOut,CBA_missionTime); [_idPFH] call CBA_fnc_removePerFrameHandler; }; // same as dragObjectPFH, checks if object is deleted or dead OR (target moved away from carrier (weapon disasembled)) if (!alive _target || {_unit distance _target > 10}) then { - TRACE_4("dead/distance",_unit,_target,_timeOut,ACE_time); + TRACE_4("dead/distance",_unit,_target,_timeOut,CBA_missionTime); [_unit, _target] call FUNC(dropObject); [_idPFH] call CBA_fnc_removePerFrameHandler; }; -// timeout. Do nothing. Quit. ACE_time, because anim length is linked to ingame time. -if (ACE_time > _timeOut) exitWith { - TRACE_4("timeout",_unit,_target,_timeOut,ACE_time); +// timeout. Do nothing. Quit. CBA_missionTime, because anim length is linked to ingame time. +if (CBA_missionTime > _timeOut) exitWith { + TRACE_4("timeout",_unit,_target,_timeOut,CBA_missionTime); [_idPFH] call CBA_fnc_removePerFrameHandler; // drop if in timeout @@ -51,7 +51,7 @@ if (ACE_time > _timeOut) exitWith { // unit is ready to start dragging if (animationState _unit in DRAG_ANIMATIONS) exitWith { - TRACE_4("Start Dragging",_unit,_target,_timeOut,ACE_time); + TRACE_4("Start Dragging",_unit,_target,_timeOut,CBA_missionTime); [_unit, _target] call FUNC(dragObject); [_idPFH] call CBA_fnc_removePerFrameHandler; diff --git a/addons/fcs/functions/fnc_keyDown.sqf b/addons/fcs/functions/fnc_keyDown.sqf index e61baed136..3c4943badf 100644 --- a/addons/fcs/functions/fnc_keyDown.sqf +++ b/addons/fcs/functions/fnc_keyDown.sqf @@ -29,7 +29,7 @@ private _distance = [ if !(!GVAR(enabled) && FUNC(canUseFCS)) exitWith {}; GVAR(Enabled) = true; -GVAR(time) = ACE_time; +GVAR(time) = CBA_missionTime; private _weaponDirection = _vehicle weaponDirection (_vehicle currentWeaponTurret _turret); // @todo doesn't work for sub turrets diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 919ac3a58e..b35c74383e 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -41,10 +41,10 @@ private _angleTarget = asin (_weaponDirection select 2); private _movingAzimuth = 0; -if (ACE_time - GVAR(time) > 1 && GVAR(time) != -1 && isNil {_this select 2}) then { +if (CBA_missionTime - GVAR(time) > 1 && GVAR(time) != -1 && isNil {_this select 2}) then { // calculate speed of target private _posTarget = (getPosASL _vehicle) vectorAdd (_weaponDirection vectorMultiply _distance); - private _velocityTarget = (_posTarget vectorDiff GVAR(position)) vectorMultiply (1 / (ACE_time - GVAR(time))); + private _velocityTarget = (_posTarget vectorDiff GVAR(position)) vectorMultiply (1 / (CBA_missionTime - GVAR(time))); // estimate time to target private _magazine = _vehicle currentMagazineTurret _turret; diff --git a/addons/finger/functions/fnc_incomingFinger.sqf b/addons/finger/functions/fnc_incomingFinger.sqf index 02c870a519..0b21bd4930 100644 --- a/addons/finger/functions/fnc_incomingFinger.sqf +++ b/addons/finger/functions/fnc_incomingFinger.sqf @@ -27,7 +27,7 @@ _fingerPos = if (_sourceUnit == ACE_player) then { _fingerPosPrecise vectorAdd [random (2*FP_RANDOMIZATION_X) - FP_RANDOMIZATION_X, random (2*FP_RANDOMIZATION_X) - FP_RANDOMIZATION_X, random (2*FP_RANDOMIZATION_Y) - FP_RANDOMIZATION_Y] }; -_data = [ACE_diagTime, _fingerPos, ([_sourceUnit, false, true] call EFUNC(common,getName))]; +_data = [diag_tickTime, _fingerPos, ([_sourceUnit, false, true] call EFUNC(common,getName))]; HASH_SET(GVAR(fingersHash), _sourceUnit, _data); if (GVAR(pfeh_id) == -1) then { diff --git a/addons/finger/functions/fnc_keyPress.sqf b/addons/finger/functions/fnc_keyPress.sqf index 1ce83d62dc..f569331eb7 100644 --- a/addons/finger/functions/fnc_keyPress.sqf +++ b/addons/finger/functions/fnc_keyPress.sqf @@ -25,9 +25,9 @@ if ((ACE_player != vehicle ACE_player) && {!((vehicle ACE_player) isKindOf "Stat //Check camera view (not in GUNNER) if !(cameraView in ["INTERNAL", "EXTERNAL"]) exitWith {false}; //Exit if run recently (run every 1 seconds) -if (ACE_diagTime < (GVAR(lastFPTime) + FP_ACTION_TIMEOUT)) exitWith {true}; +if (diag_tickTime < (GVAR(lastFPTime) + FP_ACTION_TIMEOUT)) exitWith {true}; -GVAR(lastFPTime) = ACE_diagTime; +GVAR(lastFPTime) = diag_tickTime; _fingerPosPrecise = positionCameraToWorld [0, 0, FP_DISTANCE]; _playerEyePos = eyePos ACE_player; diff --git a/addons/finger/functions/fnc_perFrameEH.sqf b/addons/finger/functions/fnc_perFrameEH.sqf index 61c8f077ab..12b06de946 100644 --- a/addons/finger/functions/fnc_perFrameEH.sqf +++ b/addons/finger/functions/fnc_perFrameEH.sqf @@ -31,7 +31,7 @@ _iconSize = BASE_SIZE * _fovCorrection; { _data = HASH_GET(GVAR(fingersHash), _x); _data params ["_lastTime", "_pos", "_name"]; - _timeLeftToShow = _lastTime + FP_TIMEOUT - ACE_diagTime; + _timeLeftToShow = _lastTime + FP_TIMEOUT - diag_tickTime; if (_timeLeftToShow <= 0) then { HASH_REM(GVAR(fingersHash), _x); } else { diff --git a/addons/frag/functions/fnc_addTrack.sqf b/addons/frag/functions/fnc_addTrack.sqf index 680dc31c37..922e37e719 100644 --- a/addons/frag/functions/fnc_addTrack.sqf +++ b/addons/frag/functions/fnc_addTrack.sqf @@ -20,4 +20,4 @@ _positions set[(count _positions), [(getPos _obj), _objSpd]]; _data = [_origin, typeOf _origin, typeOf _obj, _objSpd, _positions, _color]; GVAR(traces) set[_index, _data]; -[DFUNC(trackTrace), 0, [_obj, _index, ACE_time]] call CBA_fnc_addPerFrameHandler; +[DFUNC(trackTrace), 0, [_obj, _index, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index 8c72ae8bac..64e82b6f83 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -9,7 +9,7 @@ if(!isServer) exitWith { }; BEGIN_COUNTER(frago); -// _startTime = ACE_diagTime; +// _startTime = diag_tickTime; private ["_startTime", "_round", "_lastPos", "_lastVel", "_shellType", "_gun", "_fragTypes", "_warn", "_atlPos", "_isArmed", "_fuseDist", "_indirectHitRange", "_fragRange", "_c", "_m", "_k", "_gC", "_fragPower", "_fragPowerRandom", "_manObjects", "_objects", "_crew", "_fragCount", "_fragArcs", "_doRandom", "_boundingBox", "_targetPos", "_distance", "_add", "_bbX", "_bbY", "_bbZ", "_cubic", "_targetVel", "_baseVec", "_dir", "_currentCount", "_count", "_vecVar", "_vec", "_fp", "_vel", "_fragType", "_fragObj", "_randomCount", "_sectorSize", "_sectorOffset", "_i", "_randomDir", "_endTime", "_target"]; @@ -214,5 +214,5 @@ if(_isArmed && (count _objects) > 0) then { // ACE_player sideChat format["total frags: %1", GVAR(TOTALFRAGS)]; // ACE_player sideChat format["tracks: %1", (count GVAR(trackedObjects))]; // #endif -// _endTime = ACE_diagTime; +// _endTime = diag_tickTime; END_COUNTER(frago); \ No newline at end of file diff --git a/addons/gforces/functions/fnc_pfhUpdateGForces.sqf b/addons/gforces/functions/fnc_pfhUpdateGForces.sqf index dd569781e7..84497b78be 100644 --- a/addons/gforces/functions/fnc_pfhUpdateGForces.sqf +++ b/addons/gforces/functions/fnc_pfhUpdateGForces.sqf @@ -16,8 +16,8 @@ EXPLODE_2_PVT(_this,_params,_pfhId); // Update the g-forces at constant mission time intervals (taking accTime into account) -if ((ACE_time - GVAR(lastUpdateTime)) < INTERVAL) exitWith {}; -GVAR(lastUpdateTime) = ACE_time; +if ((CBA_missionTime - GVAR(lastUpdateTime)) < INTERVAL) exitWith {}; +GVAR(lastUpdateTime) = CBA_missionTime; if (isNull ACE_player || !(alive ACE_player)) exitWith {}; diff --git a/addons/goggles/functions/fnc_applyDustEffect.sqf b/addons/goggles/functions/fnc_applyDustEffect.sqf index 944b98f127..9b17fe1d1f 100644 --- a/addons/goggles/functions/fnc_applyDustEffect.sqf +++ b/addons/goggles/functions/fnc_applyDustEffect.sqf @@ -50,7 +50,7 @@ SETDUST(DBULLETS,0); GVAR(DustHandler) = -1; GVAR(DustHandler) = [{ - if (ACE_diagTime >= GETDUSTT(DTIME) + 3) then { + if (diag_tickTime >= GETDUSTT(DTIME) + 3) then { SETDUST(DAMOUNT,CLAMP(GETDUSTT(DAMOUNT)-1,0,2)); private _amount = 1 - (GETDUSTT(DAMOUNT) * 0.125); diff --git a/addons/goggles/functions/fnc_handleFired.sqf b/addons/goggles/functions/fnc_handleFired.sqf index dcfcc51bec..066bc040f7 100644 --- a/addons/goggles/functions/fnc_handleFired.sqf +++ b/addons/goggles/functions/fnc_handleFired.sqf @@ -60,14 +60,14 @@ if (!GVAR(surfaceCacheIsDust)) exitWith {true}; // increment dust value with type bullet _bullets = GETDUSTT(DBULLETS); -if (ACE_diagTime - GETDUSTT(DTIME) > 1) then { +if (diag_tickTime - GETDUSTT(DTIME) > 1) then { _bullets = 0; }; _bullets = _bullets + 1; SETDUST(DBULLETS,_bullets); -SETDUST(DTIME,ACE_diagTime); +SETDUST(DTIME,diag_tickTime); // apply dust effect if the amount of fired bullets is over the threshold if (GETDUSTT(DAMOUNT) < 2) then { diff --git a/addons/hearing/functions/fnc_updateVolume.sqf b/addons/hearing/functions/fnc_updateVolume.sqf index 58eedc7b39..0e6e1e1cb7 100644 --- a/addons/hearing/functions/fnc_updateVolume.sqf +++ b/addons/hearing/functions/fnc_updateVolume.sqf @@ -27,8 +27,8 @@ if (!_justUpdateVolume) then { if (GVAR(deafnessDV) - GVAR(deafnessPrior) > 1 || GVAR(deafnessDV) > 10) then { - if (ACE_time - GVAR(time3) < 3) exitWith {}; - GVAR(time3) = ACE_time; + if (CBA_missionTime - GVAR(time3) < 3) exitWith {}; + GVAR(time3) = CBA_missionTime; if (GVAR(deafnessDV) > 19.75) then { playSound (["ACE_Combat_Deafness_Heavy", "ACE_Combat_Deafness_Heavy_NoRing"] select GVAR(DisableEarRinging)); diff --git a/addons/huntir/functions/fnc_cam.sqf b/addons/huntir/functions/fnc_cam.sqf index 2eb7611a6a..80d5e33043 100644 --- a/addons/huntir/functions/fnc_cam.sqf +++ b/addons/huntir/functions/fnc_cam.sqf @@ -145,7 +145,7 @@ GVAR(no_cams) sort true; ctrlSetText [1, format["%1 m", round(GVAR(pos) select 2)]]; ctrlSetText [2, format["%1", GVAR(cur_cam) + 1]]; - _cam_time = ACE_time - (GVAR(huntIR) getVariable [QGVAR(startTime), ACE_time]); + _cam_time = CBA_missionTime - (GVAR(huntIR) getVariable [QGVAR(startTime), CBA_missionTime]); ctrlSetText [3, format["%1 s", round(_cam_time)]]; _cam_pos = getPosVisual GVAR(huntIR); _cam_pos = format ["X = %1, Y = %2", round (_cam_pos select 0), round (_cam_pos select 1)]; diff --git a/addons/huntir/functions/fnc_handleFired.sqf b/addons/huntir/functions/fnc_handleFired.sqf index 551b9975b6..cef500a7a2 100644 --- a/addons/huntir/functions/fnc_handleFired.sqf +++ b/addons/huntir/functions/fnc_handleFired.sqf @@ -34,7 +34,7 @@ if (!hasInterface) exitWith {}; params ["_position"]; _huntir = createVehicle ["ACE_HuntIR", _position, [], 0, "FLY"]; _huntir setPosATL _position; - _huntir setVariable [QGVAR(startTime), ACE_time, true]; + _huntir setVariable [QGVAR(startTime), CBA_missionTime, true]; [{ params ["_args", "_idPFH"]; _args params ["_huntir"]; diff --git a/addons/huntir/functions/fnc_huntir.sqf b/addons/huntir/functions/fnc_huntir.sqf index e06ada87ea..8abf8e1b57 100644 --- a/addons/huntir/functions/fnc_huntir.sqf +++ b/addons/huntir/functions/fnc_huntir.sqf @@ -30,7 +30,7 @@ createDialog "ace_huntir_cam_dialog_off"; createDialog "ace_huntir_cam_dialog_inactive"; uiNameSpace setVariable ["ace_huntir_monitor", findDisplay 18881]; [{ - GVAR(startTime) = ACE_time; + GVAR(startTime) = CBA_missionTime; GVAR(done) = false; GVAR(connectionDelay) = 5; GVAR(state) = "searching"; @@ -44,7 +44,7 @@ createDialog "ace_huntir_cam_dialog_off"; }; private ["_elapsedTime", "_nearestHuntIRs"]; - _elapsedTime = ACE_time - GVAR(startTime); + _elapsedTime = CBA_missionTime - GVAR(startTime); _nearestHuntIRs = ACE_player nearEntities ["ACE_HuntIR", HUNTIR_MAX_TRANSMISSION_RANGE]; if ((!dialog) || GVAR(done)) exitWith { diff --git a/addons/interact_menu/XEH_preInit.sqf b/addons/interact_menu/XEH_preInit.sqf index ac3ee9b0f5..1ef6f0a411 100644 --- a/addons/interact_menu/XEH_preInit.sqf +++ b/addons/interact_menu/XEH_preInit.sqf @@ -24,7 +24,7 @@ GVAR(keyDownSelfAction) = false; GVAR(keyDownTime) = 0; GVAR(openedMenuType) = -1; -GVAR(lastTime) = ACE_diagTime; +GVAR(lastTime) = diag_tickTime; GVAR(rotationAngle) = 0; GVAR(selectedAction) = [[],[]]; @@ -40,8 +40,8 @@ GVAR(lastPath) = []; GVAR(expanded) = false; -GVAR(startHoverTime) = ACE_diagTime; -GVAR(expandedTime) = ACE_diagTime; +GVAR(startHoverTime) = diag_tickTime; +GVAR(expandedTime) = diag_tickTime; GVAR(iconCtrls) = []; GVAR(iconCount) = 0; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index b71130a248..4d9f0af4db 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -32,7 +32,7 @@ if (_menuType == 0) then { GVAR(keyDown) = false; GVAR(keyDownSelfAction) = true; }; -GVAR(keyDownTime) = ACE_diagTime; +GVAR(keyDownTime) = diag_tickTime; GVAR(openedMenuType) = _menuType; GVAR(lastTimeSearchedActions) = -1000; GVAR(ParsedTextCached) = []; @@ -83,21 +83,21 @@ if (GVAR(openedMenuType) == 0) then { if (vehicle ACE_player != ACE_player) then { GVAR(menuDepthPath) = [["ACE_SelfActions", (vehicle ACE_player)]]; GVAR(expanded) = true; - GVAR(expandedTime) = ACE_diagTime; + GVAR(expandedTime) = diag_tickTime; GVAR(lastPath) = +GVAR(menuDepthPath); GVAR(startHoverTime) = -1000; }; } else { GVAR(menuDepthPath) = [["ACE_ZeusActions", (getAssignedCuratorLogic player)]]; GVAR(expanded) = true; - GVAR(expandedTime) = ACE_diagTime; + GVAR(expandedTime) = diag_tickTime; GVAR(lastPath) = +GVAR(menuDepthPath); GVAR(startHoverTime) = -1000; }; } else { GVAR(menuDepthPath) = [["ACE_SelfActions", ACE_player]]; GVAR(expanded) = true; - GVAR(expandedTime) = ACE_diagTime; + GVAR(expandedTime) = diag_tickTime; GVAR(lastPath) = +GVAR(menuDepthPath); GVAR(startHoverTime) = -1000; }; diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index 117a828b0b..ff7687b78b 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -51,7 +51,7 @@ if (GVAR(openedMenuType) >= 0) then { private _closest = GVAR(currentOptions) select _closestSelection; _closest params ["_action", "_sPos", "_hoverPath"]; - private _cTime = ACE_diagTime; + private _cTime = diag_tickTime; private _delta = _cTime - GVAR(lastTime); GVAR(lastTime) = _cTime; @@ -65,17 +65,17 @@ if (GVAR(openedMenuType) >= 0) then { private _misMatch = !(GVAR(lastPath) isEqualTo _hoverPath); - if(_misMatch && {ACE_diagTime-GVAR(expandedTime) > linearConversion [0, 2, GVAR(menuAnimationSpeed), 0.25, 0.08333333]}) then { - GVAR(startHoverTime) = ACE_diagTime; + if(_misMatch && {diag_tickTime-GVAR(expandedTime) > linearConversion [0, 2, GVAR(menuAnimationSpeed), 0.25, 0.08333333]}) then { + GVAR(startHoverTime) = diag_tickTime; GVAR(lastPath) = _hoverPath; GVAR(expanded) = false; } else { - if(!GVAR(expanded) && {ACE_diagTime-GVAR(startHoverTime) > linearConversion [0, 2, GVAR(menuAnimationSpeed), 0.25, 0.08333333]}) then { + if(!GVAR(expanded) && {diag_tickTime-GVAR(startHoverTime) > linearConversion [0, 2, GVAR(menuAnimationSpeed), 0.25, 0.08333333]}) then { GVAR(expanded) = true; // Start the expanding menu animation only if the user is not going up the menu if !([GVAR(menuDepthPath),GVAR(lastPath)] call FUNC(isSubPath)) then { - GVAR(expandedTime) = ACE_diagTime; + GVAR(expandedTime) = diag_tickTime; }; GVAR(menuDepthPath) = +GVAR(lastPath); diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 1d42f38c6c..b5fc4f81fa 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -24,7 +24,7 @@ private _fnc_renderNearbyActions = { #define MAXINTERACTOBJECTS 3 GVAR(foundActions) = []; - GVAR(lastTimeSearchedActions) = ACE_diagTime; + GVAR(lastTimeSearchedActions) = diag_tickTime; private _numInteractObjects = 0; private _nearestObjects = nearestObjects [ACE_player, ["All"], 13]; @@ -127,7 +127,7 @@ GVAR(collectedActionPoints) resize 0; if (GVAR(openedMenuType) == 0) then { if (isNull curatorCamera) then { if (vehicle ACE_player == ACE_player) then { - if (ACE_diagTime > GVAR(lastTimeSearchedActions) + 0.20) then { + if (diag_tickTime > GVAR(lastTimeSearchedActions) + 0.20) then { // Once every 0.2 secs, collect nearby objects active and visible action points and render them call _fnc_renderNearbyActions; } else { diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index 6abb980620..f975db17f1 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -99,8 +99,8 @@ if (GVAR(UseListMenu)) then { // Animate menu scale if (_menuInSelectedPath && {_menuDepth == count _path}) then { - _scaleX = _scaleX * (0.3 + 0.7 * (((ACE_diagTime - GVAR(expandedTime)) * linearConversion [0, 2, GVAR(menuAnimationSpeed), 8, 16]) min 1)); - _scaleY = _scaleY * (0.3 + 0.7 * (((ACE_diagTime - GVAR(expandedTime)) * linearConversion [0, 2, GVAR(menuAnimationSpeed), 8, 16]) min 1)); + _scaleX = _scaleX * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * linearConversion [0, 2, GVAR(menuAnimationSpeed), 8, 16]) min 1)); + _scaleY = _scaleY * (0.3 + 0.7 * (((diag_tickTime - GVAR(expandedTime)) * linearConversion [0, 2, GVAR(menuAnimationSpeed), 8, 16]) min 1)); }; private _target = _actionObject; diff --git a/addons/interaction/functions/fnc_openDoor.sqf b/addons/interaction/functions/fnc_openDoor.sqf index b2249d1589..180c01fba9 100644 --- a/addons/interaction/functions/fnc_openDoor.sqf +++ b/addons/interaction/functions/fnc_openDoor.sqf @@ -62,10 +62,10 @@ GVAR(usedScrollWheel) = false; }; // this allows for holding the door in it's current state. - if (ACE_time > _time && {diag_frameno > _frame}) then { + if (CBA_missionTime > _time && {diag_frameno > _frame}) then { GVAR(usedScrollWheel) = true; }; // do incremental door opening {_house animate [_x, GVAR(doorTargetPhase)]; false} count _animations; -}, 0.1, [_house, _animations, getPosASL ACE_player, ACE_time + 0.2, diag_frameno + 2]] call CBA_fnc_addPerFrameHandler; +}, 0.1, [_house, _animations, getPosASL ACE_player, CBA_missionTime + 0.2, diag_frameno + 2]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index f561806eaa..04a5e1d04c 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -20,7 +20,7 @@ _currentShooter = (vehicle ACE_player); _args = uiNamespace getVariable[QGVAR(arguments), [] ]; if( (count _args) > 0) then { _lastTick = _args select 0; - if(ACE_diagTime - _lastTick > 1) then { + if(diag_tickTime - _lastTick > 1) then { [] call FUNC(onOpticLoad); }; }; @@ -184,12 +184,12 @@ if (isNull _newTarget) then { // Lock on after 3 seconds if(_currentTarget != _newTarget) then { TRACE_1("New Target, reseting locking", _newTarget); - _lockTime = ACE_diagTime; + _lockTime = diag_tickTime; _currentTarget = _newTarget; playSound "ACE_Javelin_Locking"; } else { - if(ACE_diagTime - _lockTime > __LOCKONTIME + _randomLockInterval) then { + if(diag_tickTime - _lockTime > __LOCKONTIME + _randomLockInterval) then { TRACE_2("LOCKED!", _currentTarget, _lockTime); __JavelinIGUISeek ctrlSetTextColor __ColorGreen; @@ -231,9 +231,9 @@ if (isNull _newTarget) then { // Allow fire _fireDisabledEH = [_fireDisabledEH] call FUNC(enableFire); - if(ACE_diagTime > _soundTime) then { + if(diag_tickTime > _soundTime) then { playSound "ACE_Javelin_Locked"; - _soundTime = ACE_diagTime + 0.25; + _soundTime = diag_tickTime + 0.25; }; } else { __JavelinIGUITargeting ctrlShow true; @@ -265,9 +265,9 @@ if (isNull _newTarget) then { {_x ctrlCommit __TRACKINTERVAL} forEach [__JavelinIGUITargetingGateTL,__JavelinIGUITargetingGateTR,__JavelinIGUITargetingGateBL,__JavelinIGUITargetingGateBR]; - if(ACE_diagTime > _soundTime) then { + if(diag_tickTime > _soundTime) then { playSound "ACE_Javelin_Locking"; - _soundTime = ACE_diagTime + 0.25; + _soundTime = diag_tickTime + 0.25; }; // Disallow fire _fireDisabledEH = [_fireDisabledEH] call FUNC(disableFire); @@ -294,7 +294,7 @@ if (isNull _newTarget) then { //TRACE_2("", _newTarget, _currentTarget); // Save arguments for next run -_args set[0, ACE_diagTime]; +_args set[0, diag_tickTime]; _args set[1, _currentTarget]; _args set[2, _runTime]; _args set[3, _lockTime]; diff --git a/addons/javelin/functions/fnc_onOpticLoad.sqf b/addons/javelin/functions/fnc_onOpticLoad.sqf index cb4eac74f9..85624712e3 100644 --- a/addons/javelin/functions/fnc_onOpticLoad.sqf +++ b/addons/javelin/functions/fnc_onOpticLoad.sqf @@ -24,7 +24,7 @@ if(GVAR(pfehID) != -1) then { uiNameSpace setVariable [QGVAR(arguments), [ - ACE_diagTime, // Last runtime + diag_tickTime, // Last runtime objNull, // currentTargetObject 0, // Run Time 0, // Lock Time diff --git a/addons/kestrel4500/XEH_postInit.sqf b/addons/kestrel4500/XEH_postInit.sqf index f22fc2228f..9511041bd2 100644 --- a/addons/kestrel4500/XEH_postInit.sqf +++ b/addons/kestrel4500/XEH_postInit.sqf @@ -11,7 +11,7 @@ GVAR(MinAvgMax) = false; GVAR(MinAvgMaxMode) = 0; GVAR(referenceHeadingMenu) = 0; GVAR(referenceHeadingAutoSet) = true; -GVAR(manualSetCooldown) = ACE_diagTime; +GVAR(manualSetCooldown) = diag_tickTime; GVAR(headingSetDisplayTimer) = 0; GVAR(Menu) = 1; diff --git a/addons/kestrel4500/functions/fnc_buttonPressed.sqf b/addons/kestrel4500/functions/fnc_buttonPressed.sqf index 83c471092a..a051f6b1b6 100644 --- a/addons/kestrel4500/functions/fnc_buttonPressed.sqf +++ b/addons/kestrel4500/functions/fnc_buttonPressed.sqf @@ -33,12 +33,12 @@ switch (_this) do { case 2: { // Auto set GVAR(RefHeading) = (getDir ACE_player) % 360; GVAR(referenceHeadingMenu) = 0; - GVAR(headingSetDisplayTimer) = ACE_diagTime; + GVAR(headingSetDisplayTimer) = diag_tickTime; }; case 3: { // Manual set GVAR(RefHeading) = GVAR(TmpHeading); GVAR(referenceHeadingMenu) = 0; - GVAR(headingSetDisplayTimer) = ACE_diagTime; + GVAR(headingSetDisplayTimer) = diag_tickTime; }; }; }; @@ -73,13 +73,13 @@ switch (_this) do { GVAR(MinAvgMax) = !GVAR(MinAvgMax); } else { if (GVAR(referenceHeadingMenu) == 3) then { - if (ACE_diagTime - GVAR(manualSetCooldown) < 0.2) then { + if (diag_tickTime - GVAR(manualSetCooldown) < 0.2) then { GVAR(TmpHeading) = GVAR(TmpHeading) - 10; } else { GVAR(TmpHeading) = GVAR(TmpHeading) - 1; }; GVAR(TmpHeading) = (GVAR(TmpHeading) + 360) % 360; - GVAR(manualSetCooldown) = ACE_diagTime; + GVAR(manualSetCooldown) = diag_tickTime; }; }; }; @@ -88,13 +88,13 @@ switch (_this) do { GVAR(MinAvgMax) = !GVAR(MinAvgMax); } else { if (GVAR(referenceHeadingMenu) == 3) then { - if (ACE_diagTime - GVAR(manualSetCooldown) < 0.2) then { + if (diag_tickTime - GVAR(manualSetCooldown) < 0.2) then { GVAR(TmpHeading) = GVAR(TmpHeading) + 10; } else { GVAR(TmpHeading) = GVAR(TmpHeading) + 1; }; GVAR(TmpHeading) = (GVAR(TmpHeading) + 360) % 360; - GVAR(manualSetCooldown) = ACE_diagTime; + GVAR(manualSetCooldown) = diag_tickTime; }; }; }; diff --git a/addons/kestrel4500/functions/fnc_displayKestrel.sqf b/addons/kestrel4500/functions/fnc_displayKestrel.sqf index 64d06fea1c..0c25808f37 100644 --- a/addons/kestrel4500/functions/fnc_displayKestrel.sqf +++ b/addons/kestrel4500/functions/fnc_displayKestrel.sqf @@ -59,8 +59,8 @@ GVAR(Overlay) = true; [_this select 1] call CBA_fnc_removePerFrameHandler; }; - if (ACE_diagTime > GVAR(updateTimer)) then { - GVAR(updateTimer) = ACE_diagTime + 1; + if (diag_tickTime > GVAR(updateTimer)) then { + GVAR(updateTimer) = diag_tickTime + 1; private ["_outputData"]; _outputData = [] call FUNC(generateOutputData); diff --git a/addons/kestrel4500/functions/fnc_generateOutputData.sqf b/addons/kestrel4500/functions/fnc_generateOutputData.sqf index 016baebef7..c3bce5efa2 100644 --- a/addons/kestrel4500/functions/fnc_generateOutputData.sqf +++ b/addons/kestrel4500/functions/fnc_generateOutputData.sqf @@ -31,7 +31,7 @@ */ #include "script_component.hpp" -if (ACE_diagTime - GVAR(headingSetDisplayTimer) < 0.8) exitWith {["", "", " Heading Set", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]}; +if (diag_tickTime - GVAR(headingSetDisplayTimer) < 0.8) exitWith {["", "", " Heading Set", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""]}; private ["_playerDir", "_playerAltitude", "_temperature", "_humidity", "_barometricPressure", "_airDensity", "_densityAltitude", "_chill", "_heatIndex", "_dewPoint", "_wetBulb", "_dayString", "_monthString", "_windSpeed", "_windDir", "_textTop", "_textCenterBig", "_textCenter", "_textCenterLine1Left", "_textCenterLine2Left", "_textCenterLine3Left", "_textCenterLine1Right", "_textCenterLine2Right", "_textCenterLine3Right", "_textInfoLine1", "_textInfoLine2", "_textBottomBig", "_textCenterLine1", "_textCenterLine2", "_textCenterLine3", "_textCenterLine4", "_textCenterLine5", "_textCenterLine6"]; diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf index 901fa04b9a..12873b5ed0 100644 --- a/addons/laser/functions/fnc_laserOn.sqf +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -17,7 +17,7 @@ #include "script_component.hpp" private ["_uuid", "_args"]; -_uuid = format["%1%2%3", floor ACE_diagTime, floor random 1000, floor random 10000]; -_args = [_uuid, _this]; -["laser_laserOn", _args] call EFUNC(common,globalEvent); -_uuid; +_uuid = format["%1%2%3", floor diag_tickTime, floor random 1000, floor random 10000]; +_args = [_uuid, _this]; +["laser_laserOn", _args] call EFUNC(common,globalEvent); +_uuid; diff --git a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf index e585a409ff..24f19506fe 100644 --- a/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf +++ b/addons/laser_selfdesignate/functions/fnc_laserHudDesignateOn.sqf @@ -32,7 +32,7 @@ FUNC(laserHudDesignatePFH) = { }; if( (count _args) < 4) then { - _args set[3, ACE_diagTime + FCS_UPDATE_DELAY]; + _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; }; _forceUpdateTime = _args select 3; @@ -57,9 +57,9 @@ FUNC(laserHudDesignatePFH) = { }; */ - if(ACE_diagTime > _forceUpdateTime) then { + if(diag_tickTime > _forceUpdateTime) then { ["ace_fcs_forceUpdate", []] call ace_common_fnc_localEvent; - _args set[3, ACE_diagTime + FCS_UPDATE_DELAY]; + _args set[3, diag_tickTime + FCS_UPDATE_DELAY]; }; _this set[0, _args]; diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index a64c8e014d..f394b0e17f 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -101,9 +101,6 @@ #define HASHLIST_SET(hashList, index, value) ([hashList, index, value, __FILE__, __LINE__] call EFUNC(common,hashListSet)) #define HASHLIST_PUSH(hashList, value) ([hashList, value, __FILE__, __LINE__] call EFUNC(common,hashListPush)) -// Time functions for accuracy per frame -#define ACE_tickTime (ACE_time + (diag_tickTime - ACE_diagTime)) - #define ACE_isHC (!hasInterface && !isDedicated) #define IDC_STAMINA_BAR 193 diff --git a/addons/map/XEH_postInitClient.sqf b/addons/map/XEH_postInitClient.sqf index 00e9e737cf..cf4b20c032 100644 --- a/addons/map/XEH_postInitClient.sqf +++ b/addons/map/XEH_postInitClient.sqf @@ -29,7 +29,7 @@ call FUNC(determineZoom); if (isNull findDisplay 12) exitWith {}; GVAR(lastStillPosition) = ((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [0.5, 0.5]; - GVAR(lastStillTime) = ACE_time; + GVAR(lastStillTime) = CBA_missionTime; GVAR(isShaking) = false; //map sizes are multiples of 1280 diff --git a/addons/map/functions/fnc_updateMapEffects.sqf b/addons/map/functions/fnc_updateMapEffects.sqf index 0e36a6fdd6..b89a75aa32 100644 --- a/addons/map/functions/fnc_updateMapEffects.sqf +++ b/addons/map/functions/fnc_updateMapEffects.sqf @@ -44,8 +44,8 @@ if (GVAR(mapShake)) then { _amplitude = (_speed - 0.1) / 5 * (1000 * _mapScale); _time = 0.1; - _shakePos = [(GVAR(lastStillPosition) select 0) + sin((ACE_time + _time - GVAR(lastStillTime))*100) * _amplitude * 0.25, - (GVAR(lastStillPosition) select 1) + sin((ACE_time + _time - GVAR(lastStillTime))*260) * _amplitude]; + _shakePos = [(GVAR(lastStillPosition) select 0) + sin((CBA_missionTime + _time - GVAR(lastStillTime))*100) * _amplitude * 0.25, + (GVAR(lastStillPosition) select 1) + sin((CBA_missionTime + _time - GVAR(lastStillTime))*260) * _amplitude]; _mapCtrl ctrlMapAnimAdd [_time, _mapScale, _shakePos]; ctrlMapAnimCommit _mapCtrl; @@ -62,7 +62,7 @@ if (GVAR(mapShake)) then { } else { // The map is still, store state GVAR(lastStillPosition) = _mapCentre; - GVAR(lastStillTime) = ACE_time; + GVAR(lastStillTime) = CBA_missionTime; }; }; }; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 5d29d22cec..ed12661379 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -108,7 +108,7 @@ GVAR(effectPainCC) = [ // Initialize Other Variables GVAR(effectBlind) = false; -GVAR(effectTimeBlood) = ACE_time; +GVAR(effectTimeBlood) = CBA_missionTime; // MAIN EFFECTS LOOP [{ @@ -155,8 +155,8 @@ GVAR(effectTimeBlood) = ACE_time; _bleeding = [ACE_player] call FUNC(getBloodLoss); // Bleeding Indicator - if (_bleeding > 0 and GVAR(effectTimeBlood) + 3.5 < ACE_time) then { - GVAR(effectTimeBlood) = ACE_time; + if (_bleeding > 0 and GVAR(effectTimeBlood) + 3.5 < CBA_missionTime) then { + GVAR(effectTimeBlood) = CBA_missionTime; [600 * _bleeding] call BIS_fnc_bloodEffect; }; @@ -172,8 +172,8 @@ GVAR(effectTimeBlood) = ACE_time; }, 0.5, []] call CBA_fnc_addPerFrameHandler; -GVAR(lastHeartBeat) = ACE_time; -GVAR(lastHeartBeatSound) = ACE_time; +GVAR(lastHeartBeat) = CBA_missionTime; +GVAR(lastHeartBeatSound) = CBA_missionTime; // HEARTRATE BASED EFFECTS [{ @@ -193,8 +193,8 @@ GVAR(lastHeartBeatSound) = ACE_time; GVAR(effectPainCC) ppEffectEnable false; }; } else { - if ((ACE_time > GVAR(lastHeartBeat) + _interval)) then { - GVAR(lastHeartBeat) = ACE_time; + if ((CBA_missionTime > GVAR(lastHeartBeat) + _interval)) then { + GVAR(lastHeartBeat) = CBA_missionTime; // Pain effect, no pain effect in zeus camera if (isNull curatorCamera) then { @@ -251,8 +251,8 @@ GVAR(lastHeartBeatSound) = ACE_time; if (GVAR(level) >= 2 && {_heartRate > 0}) then { _minTime = 60 / _heartRate; - if (ACE_time - GVAR(lastHeartBeatSound) > _minTime) then { - GVAR(lastHeartBeatSound) = ACE_time; + if (CBA_missionTime - GVAR(lastHeartBeatSound) > _minTime) then { + GVAR(lastHeartBeatSound) = CBA_missionTime; // Heart rate sound effect if (_heartRate < 60) then { _sound = GVAR(heartBeatSounds_Normal) select (random((count GVAR(heartBeatSounds_Normal)) -1)); diff --git a/addons/medical/functions/fnc_addToInjuredCollection.sqf b/addons/medical/functions/fnc_addToInjuredCollection.sqf index aa545f491e..5114cc91fd 100644 --- a/addons/medical/functions/fnc_addToInjuredCollection.sqf +++ b/addons/medical/functions/fnc_addToInjuredCollection.sqf @@ -27,8 +27,8 @@ if ([_unit] call FUNC(hasMedicalEnabled) || _force) then { [{ params ["_args", "_idPFH"]; _args params ["_unit", "_interval"]; - _interval = ACE_time - _interval; - (_this select 0) set [1, ACE_time]; + _interval = CBA_missionTime - _interval; + (_this select 0) set [1, CBA_missionTime]; if (!alive _unit || !local _unit) then { [_idPFH] call CBA_fnc_removePerFrameHandler; @@ -55,5 +55,5 @@ if ([_unit] call FUNC(hasMedicalEnabled) || _force) then { [_unit, _pain] call FUNC(playInjuredSound); }; }; - }, 1, [_unit, ACE_time]] call CBA_fnc_addPerFrameHandler; + }, 1, [_unit, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; }; diff --git a/addons/medical/functions/fnc_addToTriageCard.sqf b/addons/medical/functions/fnc_addToTriageCard.sqf index ca54d8cd27..4fce53e0ab 100644 --- a/addons/medical/functions/fnc_addToTriageCard.sqf +++ b/addons/medical/functions/fnc_addToTriageCard.sqf @@ -29,7 +29,7 @@ _amount = 1; private "_info"; _info = _log select _forEachIndex; _info set [1,(_info select 1) + 1]; - _info set [2, ACE_gameTime]; + _info set [2, CBA_missionTime]; _log set [_forEachIndex, _info]; _amount = (_info select 1); @@ -38,7 +38,7 @@ _amount = 1; } forEach _log; if (!_inList) then { - _log pushBack [_newItem, 1, ACE_gameTime]; + _log pushBack [_newItem, 1, CBA_missionTime]; }; _unit setVariable [QGVAR(triageCard), _log, true]; ["Medical_onItemAddedToTriageCard", [_unit, _newItem, _amount]] call EFUNC(common,localEvent); diff --git a/addons/medical/functions/fnc_getCardiacOutput.sqf b/addons/medical/functions/fnc_getCardiacOutput.sqf index d07319e8b5..74da98012b 100644 --- a/addons/medical/functions/fnc_getCardiacOutput.sqf +++ b/addons/medical/functions/fnc_getCardiacOutput.sqf @@ -14,7 +14,7 @@ #include "script_component.hpp" /* - Cardiac output (Q or or CO ) is the volume of blood being pumped by the heart, in particular by a left or right ventricle in the ACE_time interval of one minute. CO may be measured in many ways, for example dm3/min (1 dm3 equals 1 litre). + Cardiac output (Q or or CO ) is the volume of blood being pumped by the heart, in particular by a left or right ventricle in the CBA_missionTime interval of one minute. CO may be measured in many ways, for example dm3/min (1 dm3 equals 1 litre). Source: http://en.wikipedia.org/wiki/Cardiac_output */ diff --git a/addons/medical/functions/fnc_handleCreateLitter.sqf b/addons/medical/functions/fnc_handleCreateLitter.sqf index c87d51a7e1..b1b31d9c5d 100644 --- a/addons/medical/functions/fnc_handleCreateLitter.sqf +++ b/addons/medical/functions/fnc_handleCreateLitter.sqf @@ -41,14 +41,14 @@ if((count GVAR(allCreatedLitter)) > _maxLitterCount ) then { } forEach (_oldLitter select 1); }; -GVAR(allCreatedLitter) pushBack [ACE_time, [_litterObject]]; +GVAR(allCreatedLitter) pushBack [CBA_missionTime, [_litterObject]]; if(!GVAR(litterPFHRunning) && {GVAR(litterCleanUpDelay) > 0}) then { GVAR(litterPFHRunning) = true; [{ { _x params ["_time", "_objects"]; - if (ACE_time - _time >= GVAR(litterCleanUpDelay)) then { + if (CBA_missionTime - _time >= GVAR(litterCleanUpDelay)) then { { deleteVehicle _x; } forEach _objects; diff --git a/addons/medical/functions/fnc_handleLocal.sqf b/addons/medical/functions/fnc_handleLocal.sqf index 91689f311f..e4485fae9f 100644 --- a/addons/medical/functions/fnc_handleLocal.sqf +++ b/addons/medical/functions/fnc_handleLocal.sqf @@ -24,7 +24,7 @@ if (_local) then { if ((_unit getVariable ["ACE_isUnconscious",false]) && {count (_unit getVariable [QGVAR(unconsciousArguments), []]) >= 6}) then { private "_arguments"; _arguments = (_unit getVariable [QGVAR(unconsciousArguments), []]); - _arguments set [2, ACE_time]; + _arguments set [2, CBA_missionTime]; [DFUNC(unconsciousPFH), 0.1, _arguments ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/medical/functions/fnc_handleUnitVitals.sqf b/addons/medical/functions/fnc_handleUnitVitals.sqf index 6159351cc9..1ae3f616cc 100644 --- a/addons/medical/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical/functions/fnc_handleUnitVitals.sqf @@ -19,9 +19,9 @@ TRACE_3("ACE_DEBUG",_unit,_interval,_unit); if (_interval == 0) exitWith {}; _lastTimeValuesSynced = _unit getVariable [QGVAR(lastMomentValuesSynced), 0]; -_syncValues = (ACE_time - _lastTimeValuesSynced >= (10 + floor(random(10))) && GVAR(keepLocalSettingsSynced)); +_syncValues = (CBA_missionTime - _lastTimeValuesSynced >= (10 + floor(random(10))) && GVAR(keepLocalSettingsSynced)); if (_syncValues) then { - _unit setVariable [QGVAR(lastMomentValuesSynced), ACE_time]; + _unit setVariable [QGVAR(lastMomentValuesSynced), CBA_missionTime]; }; _bloodVolume = (_unit getVariable [QGVAR(bloodVolume), 100]) + ([_unit] call FUNC(getBloodVolumeChange)); diff --git a/addons/medical/functions/fnc_isInMedicalFacility.sqf b/addons/medical/functions/fnc_isInMedicalFacility.sqf index f934978d2b..313ee8eca4 100644 --- a/addons/medical/functions/fnc_isInMedicalFacility.sqf +++ b/addons/medical/functions/fnc_isInMedicalFacility.sqf @@ -19,7 +19,7 @@ params ["_unit"]; //Cache the results as this function could be called rapidly (_unit getVariable [QGVAR(cacheInFacility), [-9, false]]) params ["_expireTime", "_lastResult"]; -if (ACE_time < _expireTime) exitWith {_lastResult}; +if (CBA_missionTime < _expireTime) exitWith {_lastResult}; private _eyePos = eyePos _unit; private _isInBuilding = false; @@ -58,6 +58,6 @@ if (!_isInBuilding) then { }; //Save the results (with a 1 second expiry) -_unit setVariable [QGVAR(cacheInFacility), [ACE_time + 1, _isInBuilding]]; +_unit setVariable [QGVAR(cacheInFacility), [CBA_missionTime + 1, _isInBuilding]]; _isInBuilding; diff --git a/addons/medical/functions/fnc_setCardiacArrest.sqf b/addons/medical/functions/fnc_setCardiacArrest.sqf index 7b2c195f10..62254ffd9d 100644 --- a/addons/medical/functions/fnc_setCardiacArrest.sqf +++ b/addons/medical/functions/fnc_setCardiacArrest.sqf @@ -36,9 +36,9 @@ _timeInCardiacArrest = 120 + round(random(600)); [_idPFH] call CBA_fnc_removePerFrameHandler; _unit setVariable [QGVAR(inCardiacArrest), nil,true]; }; - if (ACE_time - _startTime >= _timeInCardiacArrest) exitWith { + if (CBA_missionTime - _startTime >= _timeInCardiacArrest) exitWith { [_idPFH] call CBA_fnc_removePerFrameHandler; _unit setVariable [QGVAR(inCardiacArrest), nil,true]; [_unit] call FUNC(setDead); }; -}, 1, [_unit, ACE_time, _timeInCardiacArrest] ] call CBA_fnc_addPerFrameHandler; +}, 1, [_unit, CBA_missionTime, _timeInCardiacArrest] ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 913431ccac..a67877eb33 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -38,7 +38,7 @@ if (((_reviveVal == 1 && {[_unit] call EFUNC(common,isPlayer)} || _reviveVal == }; _unit setVariable [QGVAR(inReviveState), true, true]; - _unit setVariable [QGVAR(reviveStartTime), ACE_time]; + _unit setVariable [QGVAR(reviveStartTime), CBA_missionTime]; [_unit, true] call FUNC(setUnconscious); [{ @@ -53,7 +53,7 @@ if (((_reviveVal == 1 && {[_unit] call EFUNC(common,isPlayer)} || _reviveVal == [_unit] call EFUNC(common,unloadPerson); }; - if (GVAR(maxReviveTime) > 0 && {ACE_time - _startTime > GVAR(maxReviveTime)}) exitwith { + if (GVAR(maxReviveTime) > 0 && {CBA_missionTime - _startTime > GVAR(maxReviveTime)}) exitwith { [_idPFH] call CBA_fnc_removePerFrameHandler; _unit setVariable [QGVAR(inReviveState), nil, true]; _unit setVariable [QGVAR(reviveStartTime), nil]; diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 25bc8aacb5..6fce00ebf4 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -115,7 +115,7 @@ _anim = [_unit] call EFUNC(common,getDeathAnim); }; }, [_unit, _anim], 0.5, 0] call EFUNC(common,waitAndExecute); -_startingTime = ACE_time; +_startingTime = CBA_missionTime; [DFUNC(unconsciousPFH), 0.1, [_unit, _originalPos, _startingTime, _minWaitingTime, false, vehicle _unit isKindOf "ParachuteBase"] ] call CBA_fnc_addPerFrameHandler; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_CPRLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_CPRLocal.sqf index 07431ac66d..1a546dd8d0 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_CPRLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_CPRLocal.sqf @@ -20,7 +20,7 @@ params ["_caller","_target"]; if (_target getVariable [QGVAR(inReviveState), false]) then { _reviveStartTime = _target getVariable [QGVAR(reviveStartTime),0]; if (_reviveStartTime > 0) then { - _target setVariable [QGVAR(reviveStartTime), (_reviveStartTime + random(20)) min ACE_time]; + _target setVariable [QGVAR(reviveStartTime), (_reviveStartTime + random(20)) min CBA_missionTime]; }; }; diff --git a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf index be9b03c9f1..fcfd75f701 100644 --- a/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquetLocal.sqf @@ -39,9 +39,9 @@ _target setVariable [QGVAR(tourniquets), _tourniquets, true]; // Tourniquet has been removed [_idPFH] call CBA_fnc_removePerFrameHandler; }; - if (ACE_time - _time > 120) then { + if (CBA_missionTime - _time > 120) then { _target setVariable [QGVAR(pain), (_target getVariable [QGVAR(pain), 0]) + 0.005]; }; -}, 5, [_target, _applyingTo, _part, ACE_time] ] call CBA_fnc_addPerFrameHandler; +}, 5, [_target, _applyingTo, _part, CBA_missionTime] ] call CBA_fnc_addPerFrameHandler; true diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index e78c80f3ec..055753a0f3 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -130,13 +130,13 @@ if (_parachuteCheck) then { if (!local _unit) exitWith { TRACE_6("ACE_DEBUG_Unconscious_PFH",_unit, _args, _startingTime, _minWaitingTime, _idPFH, _unit getVariable QGVAR(unconsciousArguments)); - _args set [3, _minWaitingTime - (ACE_time - _startingTime)]; + _args set [3, _minWaitingTime - (CBA_missionTime - _startingTime)]; _unit setVariable [QGVAR(unconsciousArguments), _args, true]; [_idPFH] call CBA_fnc_removePerFrameHandler; }; // Ensure we are waiting at least a minimum period before checking if we can wake up the unit again, allows for temp knock outs -if ((ACE_time - _startingTime) >= _minWaitingTime) exitWith { +if ((CBA_missionTime - _startingTime) >= _minWaitingTime) exitWith { TRACE_2("ACE_DEBUG_Unconscious_Temp knock outs",_unit, [_unit] call FUNC(getUnconsciousCondition)); if (!([_unit] call FUNC(getUnconsciousCondition))) then { _unit setVariable ["ACE_isUnconscious", false, true]; diff --git a/addons/medical_menu/XEH_postInit.sqf b/addons/medical_menu/XEH_postInit.sqf index 92e2af341f..8213e14770 100644 --- a/addons/medical_menu/XEH_postInit.sqf +++ b/addons/medical_menu/XEH_postInit.sqf @@ -31,7 +31,7 @@ GVAR(pendingReopen) = false; false }, { - if (ACE_time - GVAR(lastOpenedOn) > 0.5) exitWith { + if (CBA_missionTime - GVAR(lastOpenedOn) > 0.5) exitWith { [objNull] call FUNC(openMenu); }; false diff --git a/addons/medical_menu/functions/fnc_handleUI_DisplayOptions.sqf b/addons/medical_menu/functions/fnc_handleUI_DisplayOptions.sqf index 67e295e22e..52fc28ba84 100644 --- a/addons/medical_menu/functions/fnc_handleUI_DisplayOptions.sqf +++ b/addons/medical_menu/functions/fnc_handleUI_DisplayOptions.sqf @@ -77,7 +77,7 @@ if (_name isEqualTo "triage") exitWith { _message = localize _message; }; }; - _triageCardTexts pushBack format["%1x - %2 (%3m)", _amount, _message, round((ACE_gameTime - _time) / 60)]; + _triageCardTexts pushBack format["%1x - %2 (%3m)", _amount, _message, round((CBA_missionTime - _time) / 60)]; nil; } count _log; diff --git a/addons/medical_menu/functions/fnc_openMenu.sqf b/addons/medical_menu/functions/fnc_openMenu.sqf index a8a51ff028..e6ed7e6135 100644 --- a/addons/medical_menu/functions/fnc_openMenu.sqf +++ b/addons/medical_menu/functions/fnc_openMenu.sqf @@ -34,6 +34,6 @@ if (dialog || {isNull _interactionTarget}) exitWith { GVAR(INTERACTION_TARGET) = _interactionTarget; createDialog QGVAR(medicalMenu); -GVAR(lastOpenedOn) = ACE_time; +GVAR(lastOpenedOn) = CBA_missionTime; true diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 122d690bae..918d8c68e3 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -24,7 +24,7 @@ _seekerParams = _args select 3; _stateParams = _args select 4; _lastRunTime = _stateParams select 0; -_runtimeDelta = ACE_diagTime - _lastRunTime; +_runtimeDelta = diag_tickTime - _lastRunTime; _adjustTime = 1; if(accTime > 0) then { @@ -100,7 +100,7 @@ _PS setDropInterval 3.0; hintSilent format["d: %1", _distanceToTarget]; #endif -_stateParams set[0, ACE_diagTime]; +_stateParams set[0, diag_tickTime]; _args set[4, _stateParams]; _this set[0, _args]; \ No newline at end of file diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 7fc77fdd56..057f07561d 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -89,7 +89,7 @@ _args = [_this, getNumber ( _config >> "seekerAccuracy" ), getNumber ( _config >> "seekerMaxRange" ) ], - [ ACE_diagTime, [], [] ] + [ diag_tickTime, [], [] ] ]; // Hand off to the guiding unit. We just use local player so local PFH fires for now diff --git a/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf b/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf index 3ee45f324e..eb44a68f15 100644 --- a/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf +++ b/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf @@ -74,7 +74,7 @@ if (_activated && local _logic) then { [_pfhHandle] call CBA_fnc_removePerFrameHandler; }; - if (ACE_time - _lastTimePlayed >= ((_minDelayBetweensounds + random(_maxDelayBetweenSounds)) min _maxDelayBetweenSounds)) then { + if (CBA_missionTime - _lastTimePlayed >= ((_minDelayBetweensounds + random(_maxDelayBetweenSounds)) min _maxDelayBetweenSounds)) then { // Find all players in session. _allUnits = if (isMultiplayer) then {playableUnits} else {[ACE_player]}; @@ -109,11 +109,11 @@ if (_activated && local _logic) then { // If no unit is to close to this position, we will play the sound. if ({(_newPos distance _x < (_minimalDistance / 2))}count _allUnits == 0) then { playSound3D [selectRandom _ambianceSounds, objNull, false, _newPos, _volume, 1, 1000]; - _args set [8, ACE_time]; + _args set [8, CBA_missionTime]; }; }; }; - }, 0.1, [_logic, _ambianceSounds, _minimalDistance, _maximalDistance, _minDelayBetweensounds, _maxDelayBetweenSounds, _volume, _followPlayers, ACE_time] ] call CBA_fnc_addPerFrameHandler; + }, 0.1, [_logic, _ambianceSounds, _minimalDistance, _maximalDistance, _minDelayBetweensounds, _maxDelayBetweenSounds, _volume, _followPlayers, CBA_missionTime] ] call CBA_fnc_addPerFrameHandler; }; true; diff --git a/addons/mk6mortar/functions/fnc_dev_simulateCalcRangeTableLine.sqf b/addons/mk6mortar/functions/fnc_dev_simulateCalcRangeTableLine.sqf index 9d8b292070..d1e0a8dd05 100644 --- a/addons/mk6mortar/functions/fnc_dev_simulateCalcRangeTableLine.sqf +++ b/addons/mk6mortar/functions/fnc_dev_simulateCalcRangeTableLine.sqf @@ -21,7 +21,7 @@ Example: private ["_startTime", "_muzzleVelocity", "_rangeToHit", "_airFriction", "_vacElevation", "_radicand", "_maxElev", "_minElev", "_error", "_solutionElevation", "_lastTestResult", "_numberOfAttempts", "_lineElevation", "_lineTimeOfFlight", "_lineHeightElevation", "_lineHeightTimeDelta", "_lineCrosswindDeg", "_lineHeadwindMeters", "_lineTailWindMeters", "_result"]; -_startTime = ACE_diagTime; +_startTime = diag_tickTime; _muzzleVelocity = _this select 0; _rangeToHit = _this select 1; @@ -74,6 +74,6 @@ _lineAirDensDec = (_rangeToHit - (_lastTestResult select 0)) / 10; _lastTestResult = [_lineElevation, _muzzleVelocity, _airFriction, 15, 1.1, 0, 0, 0, TIME_STEP] call FUNC(dev_simulateShot); _lineAirDensInc = (_rangeToHit - (_lastTestResult select 0)) / 10; -// systemChat format ["debug: Range %1 - in %2 sec", _rangeToHit, (ACE_diagTime - _startTime)]; +// systemChat format ["debug: Range %1 - in %2 sec", _rangeToHit, (diag_tickTime - _startTime)]; [_rangeToHit, _lineElevation, _lineHeightElevation, _lineHeightTimeDelta, _lineTimeOfFlight, _lineCrosswindDeg, _lineHeadwindMeters, _lineTailWindMeters, _lineTempDec, _lineTempInc, _lineAirDensDec, _lineAirDensInc] diff --git a/addons/mk6mortar/functions/fnc_handleFired.sqf b/addons/mk6mortar/functions/fnc_handleFired.sqf index e14fd77f6a..483a69d42b 100644 --- a/addons/mk6mortar/functions/fnc_handleFired.sqf +++ b/addons/mk6mortar/functions/fnc_handleFired.sqf @@ -70,8 +70,8 @@ if (_newMuzzleVelocityCoefficent != 1) then { [_pfID] call CBA_fnc_removePerFrameHandler; }; - _deltaT = ACE_time - _time; - _args set[2, ACE_time]; + _deltaT = CBA_missionTime - _time; + _args set[2, CBA_missionTime]; _bulletVelocity = velocity _shell; _bulletSpeed = vectorMagnitude _bulletVelocity; @@ -85,4 +85,4 @@ if (_newMuzzleVelocityCoefficent != 1) then { _shell setVelocity _bulletVelocity; -}, 0, [_projectile, MK6_82mm_AIR_FRICTION, ACE_time, _relativeDensity]] call CBA_fnc_addPerFrameHandler; +}, 0, [_projectile, MK6_82mm_AIR_FRICTION, CBA_missionTime, _relativeDensity]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index 46d0e287d8..0ef4fde96b 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -14,7 +14,7 @@ GVAR(showNamesTime) = -10; if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Statement - GVAR(showNamesTime) = ACE_time; + GVAR(showNamesTime) = CBA_missionTime; if (call FUNC(canShow)) then{ call FUNC(doShow); }; // Return false so it doesn't block other actions false diff --git a/addons/nametags/functions/fnc_onDraw3d.sqf b/addons/nametags/functions/fnc_onDraw3d.sqf index eed96b3101..d9d26cd0ac 100644 --- a/addons/nametags/functions/fnc_onDraw3d.sqf +++ b/addons/nametags/functions/fnc_onDraw3d.sqf @@ -47,13 +47,13 @@ switch (GVAR(showPlayerNames)) do { }; case 3: { // Player names Only Keypress - _onKeyPressAlphaMax = 2 + (GVAR(showNamesTime) - ACE_time); + _onKeyPressAlphaMax = 2 + (GVAR(showNamesTime) - CBA_missionTime); _enabledTagsNearby = (_onKeyPressAlphaMax) > 0 || (GVAR(showSoundWaves) == 2); _enabledTagsCursor = false; }; case 4: { // Player names Only Cursor and Keypress - _onKeyPressAlphaMax = 2 + (GVAR(showNamesTime) - ACE_time); + _onKeyPressAlphaMax = 2 + (GVAR(showNamesTime) - CBA_missionTime); _enabledTagsNearby = (GVAR(showSoundWaves) == 2); _enabledTagsCursor = _onKeyPressAlphaMax > 0; }; diff --git a/addons/overheating/functions/fnc_firedEH.sqf b/addons/overheating/functions/fnc_firedEH.sqf index 2cf607945c..5bd725b74d 100644 --- a/addons/overheating/functions/fnc_firedEH.sqf +++ b/addons/overheating/functions/fnc_firedEH.sqf @@ -65,8 +65,8 @@ if (_unit != ACE_player && (!GVAR(showParticleEffectsForEveryone) || {_unit dist }; //Particle Effects: -if (GVAR(showParticleEffects) && {(ACE_time > ((_unit getVariable [QGVAR(lastDrop), -1000]) + 0.40)) && {_scaledTemperature > 0.1}}) then { - _unit setVariable [QGVAR(lastDrop), ACE_time]; +if (GVAR(showParticleEffects) && {(CBA_missionTime > ((_unit getVariable [QGVAR(lastDrop), -1000]) + 0.40)) && {_scaledTemperature > 0.1}}) then { + _unit setVariable [QGVAR(lastDrop), CBA_missionTime]; private _direction = (_unit weaponDirection _weapon) vectorMultiply 0.25; private _position = (position _projectile) vectorAdd (_direction vectorMultiply (4*(random 0.30))); diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index 9c62e77f21..d0c9f4e70a 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -29,4 +29,4 @@ playSound "ACE_BarrelSwap"; // Publish the temperature variable _player setVariable [format [QGVAR(%1_temp), _weapon], 0, true]; // Store the update time -_player setVariable [format [QGVAR(%1_time), _weapon], ACE_time]; +_player setVariable [format [QGVAR(%1_time), _weapon], CBA_missionTime]; diff --git a/addons/overheating/functions/fnc_updateTemperature.sqf b/addons/overheating/functions/fnc_updateTemperature.sqf index 89d5975024..4c2b07d309 100644 --- a/addons/overheating/functions/fnc_updateTemperature.sqf +++ b/addons/overheating/functions/fnc_updateTemperature.sqf @@ -72,7 +72,7 @@ _fnc_cooling = { }; // Calculate cooling -_temperature = [_temperature, _barrelMass, ACE_time - _lastTime] call _fnc_cooling; +_temperature = [_temperature, _barrelMass, CBA_missionTime - _lastTime] call _fnc_cooling; TRACE_1("cooledTo",_temperature); // Calculate heating // Steel Heat Capacity = 466 J/(Kg.K) @@ -81,6 +81,6 @@ _temperature = _temperature + _heatIncrement / (_barrelMass * 466); // Publish the temperature variable [_unit, _tempVarName, _temperature, TEMP_TOLERANCE] call EFUNC(common,setApproximateVariablePublic); // Store the update time locally -_unit setVariable [_timeVarName, ACE_time]; +_unit setVariable [_timeVarName, CBA_missionTime]; _temperature diff --git a/addons/parachute/functions/fnc_doLanding.sqf b/addons/parachute/functions/fnc_doLanding.sqf index cc32724e9d..213bf10887 100644 --- a/addons/parachute/functions/fnc_doLanding.sqf +++ b/addons/parachute/functions/fnc_doLanding.sqf @@ -20,8 +20,8 @@ GVAR(PFH) = false; [_unit, "AmovPercMevaSrasWrflDf_AmovPknlMstpSrasWrflDnon", 2] call EFUNC(common,doAnimation); _unit setVariable [QGVAR(chuteIsCut), false, true]; [{ - if (ACE_time >= ((_this select 0) select 0) + 1) then { + if (CBA_missionTime >= ((_this select 0) select 0) + 1) then { ((_this select 0) select 1) playActionNow "Crouch"; [(_this select 1)] call CALLSTACK(CBA_fnc_removePerFrameHandler); }; -}, 1, [ACE_time,_unit]] call CALLSTACK(CBA_fnc_addPerFrameHandler); +}, 1, [CBA_missionTime,_unit]] call CALLSTACK(CBA_fnc_addPerFrameHandler); diff --git a/addons/parachute/functions/fnc_showAltimeter.sqf b/addons/parachute/functions/fnc_showAltimeter.sqf index 466abfb77e..b8ee8add6d 100644 --- a/addons/parachute/functions/fnc_showAltimeter.sqf +++ b/addons/parachute/functions/fnc_showAltimeter.sqf @@ -37,7 +37,7 @@ GVAR(AltimeterActive) = true; _minute = floor ((daytime - _hour) * 60); _height = ((getPosASL _unit) select 2) + EGVAR(common,mapAltitude); - _curTime = ACE_time; + _curTime = CBA_missionTime; _timeDiff = _curTime - _prevTime; _descentRate = if(_timeDiff > 0) then {floor((_oldHeight - _height) / _timeDiff)} else {0}; @@ -47,4 +47,4 @@ GVAR(AltimeterActive) = true; (_this select 0) set [2, _height]; (_this select 0) set [3, _curTime]; -}, 0.2, [uiNamespace getVariable ["ACE_Altimeter", displayNull], _unit,floor ((getPosASL _unit) select 2), ACE_time]] call CALLSTACK(CBA_fnc_addPerFrameHandler); +}, 0.2, [uiNamespace getVariable ["ACE_Altimeter", displayNull], _unit,floor ((getPosASL _unit) select 2), CBA_missionTime]] call CALLSTACK(CBA_fnc_addPerFrameHandler); diff --git a/addons/scopes/functions/fnc_showZeroing.sqf b/addons/scopes/functions/fnc_showZeroing.sqf index 43595bde87..eb47c692bf 100644 --- a/addons/scopes/functions/fnc_showZeroing.sqf +++ b/addons/scopes/functions/fnc_showZeroing.sqf @@ -45,13 +45,13 @@ _vertical ctrlSetText (str _elevation); _horizontal ctrlSetText (str _windage); // Set the time when to hide the knobs -GVAR(timeToHide) = ACE_diagTime + 3.0; +GVAR(timeToHide) = diag_tickTime + 3.0; if !(isNil QGVAR(fadePFH)) exitWith {}; // Launch a PFH to wait and fade out the knobs GVAR(fadePFH) = [{ - if (ACE_diagTime >= GVAR(timeToHide)) exitWith { + if (diag_tickTime >= GVAR(timeToHide)) exitWith { private "_layer"; params ["", "_pfhId"]; _layer = [QGVAR(Zeroing)] call BIS_fnc_rscLayer; diff --git a/addons/tacticalladder/XEH_postInit.sqf b/addons/tacticalladder/XEH_postInit.sqf index 8ebf776987..0df2530cf2 100644 --- a/addons/tacticalladder/XEH_postInit.sqf +++ b/addons/tacticalladder/XEH_postInit.sqf @@ -8,7 +8,7 @@ GVAR(currentStep) = 3; GVAR(currentAngle) = 0; /*["interactMenuOpened", { - if ((ACE_time > GVAR(cancelTime)) && !isNull GVAR(ladder)) then { + if ((CBA_missionTime > GVAR(cancelTime)) && !isNull GVAR(ladder)) then { GVAR(ladder) call FUNC(cancelTLdeploy); }; }] call EFUNC(common,addEventHandler);*/ diff --git a/addons/tacticalladder/functions/fnc_positionTL.sqf b/addons/tacticalladder/functions/fnc_positionTL.sqf index 94e28dea33..be56e28b31 100644 --- a/addons/tacticalladder/functions/fnc_positionTL.sqf +++ b/addons/tacticalladder/functions/fnc_positionTL.sqf @@ -37,7 +37,7 @@ _ladder animate ["rotate", 0]; } count ["extract_1", "extract_2", "extract_3"]; // Extract ladder at head height (extract_3) GVAR(ladder) = _ladder; -GVAR(cancelTime) = ACE_time + 1; // Workaround to prevent accidental canceling +GVAR(cancelTime) = CBA_missionTime + 1; // Workaround to prevent accidental canceling GVAR(currentStep) = 3; GVAR(currentAngle) = 0; diff --git a/addons/vector/functions/fnc_onKeyDown.sqf b/addons/vector/functions/fnc_onKeyDown.sqf index 9fa51e9068..feb706bc02 100644 --- a/addons/vector/functions/fnc_onKeyDown.sqf +++ b/addons/vector/functions/fnc_onKeyDown.sqf @@ -40,19 +40,19 @@ switch (_this select 0) do { // handle input in option menu if (GVAR(currentMode) == "settings") exitWith { - if (ACE_diagTime < GVAR(keyDownTimeMenu) + 1) exitWith {}; + if (diag_tickTime < GVAR(keyDownTimeMenu) + 1) exitWith {}; - if (ACE_diagTime < GVAR(keyDownTimeAzimuth) + 0.5) then { + if (diag_tickTime < GVAR(keyDownTimeAzimuth) + 0.5) then { GVAR(keyDownTabCountAzimuth) = (GETGVAR(keyDownTabCountAzimuth,0)) + 1; } else { GVAR(keyDownTabCountAzimuth) = 1; }; - GVAR(keyDownTimeAzimuth) = ACE_diagTime; + GVAR(keyDownTimeAzimuth) = diag_tickTime; }; if (GVAR(currentMode) == "config") exitWith { - if (ACE_diagTime < GVAR(keyDownTimeMenu) + 0.5) exitWith {}; + if (diag_tickTime < GVAR(keyDownTimeMenu) + 0.5) exitWith {}; ["config"] call FUNC(nextMode); }; @@ -66,30 +66,30 @@ switch (_this select 0) do { [false] call FUNC(showP1); // handle 5 times clicking - if (ACE_diagTime < GVAR(keyDownTimeAzimuth) + 0.5) then { + if (diag_tickTime < GVAR(keyDownTimeAzimuth) + 0.5) then { GVAR(keyDownTabCountAzimuth) = (GETGVAR(keyDownTabCountAzimuth,0)) + 1; - GVAR(keyDownTimeAzimuth) = ACE_diagTime; + GVAR(keyDownTimeAzimuth) = diag_tickTime; } else { GVAR(keyDownTabCountAzimuth) = 1; }; // open settings menu if (GVAR(keyDownTabCountAzimuth) == 5) exitWith { - GVAR(keyDownTimeMenu) = ACE_diagTime; - GVAR(keyDownTimeAzimuth) = ACE_diagTime; + GVAR(keyDownTimeMenu) = diag_tickTime; + GVAR(keyDownTimeAzimuth) = diag_tickTime; GVAR(keyDownTabCountAzimuth) = 0; GVAR(configTemp) = [GVAR(useFeet), GVAR(useMil)]; ["settings"] call FUNC(showText); "settings" call _fnc_setPFH; }; - if (ACE_diagTime < GVAR(keyDownTimeAzimuth) + 0.5) exitWith { + if (diag_tickTime < GVAR(keyDownTimeAzimuth) + 0.5) exitWith { "azimuth+inclination" call _fnc_setPFH; }; - GVAR(keyDownTimeAzimuth) = ACE_diagTime; + GVAR(keyDownTimeAzimuth) = diag_tickTime; - if (ACE_diagTime > GVAR(keyDownTimeDistance) + 0.5) then { + if (diag_tickTime > GVAR(keyDownTimeDistance) + 0.5) then { if !(GETGVAR(isKeyDownDistance,false)) then { ["distance"] call FUNC(clearDisplay); "azimuth" call _fnc_setPFH; @@ -110,19 +110,19 @@ switch (_this select 0) do { // handle input in option menu if (GVAR(currentMode) == "config") exitWith { - if (ACE_diagTime < GVAR(keyDownTimeMenu) + 0.5) exitWith {}; + if (diag_tickTime < GVAR(keyDownTimeMenu) + 0.5) exitWith {}; - if (ACE_diagTime < GVAR(keyDownTimeDistance) + 0.5) then { + if (diag_tickTime < GVAR(keyDownTimeDistance) + 0.5) then { GVAR(keyDownTabCountDistance) = (GETGVAR(keyDownTabCountDistance,0)) + 1; } else { GVAR(keyDownTabCountDistance) = 1; }; - GVAR(keyDownTimeDistance) = ACE_diagTime; + GVAR(keyDownTimeDistance) = diag_tickTime; }; if (GVAR(currentMode) == "settings") exitWith { - if (ACE_diagTime < GVAR(keyDownTimeMenu) + 0.5) exitWith {}; + if (diag_tickTime < GVAR(keyDownTimeMenu) + 0.5) exitWith {}; ["settings"] call FUNC(nextMode); }; @@ -141,30 +141,30 @@ switch (_this select 0) do { [false] call FUNC(showP1); // handle 5 times clicking - if (ACE_diagTime < GVAR(keyDownTimeDistance) + 0.5) then { + if (diag_tickTime < GVAR(keyDownTimeDistance) + 0.5) then { GVAR(keyDownTabCountDistance) = (GETGVAR(keyDownTabCountDistance,0)) + 1; - GVAR(keyDownTimeDistance) = ACE_diagTime; + GVAR(keyDownTimeDistance) = diag_tickTime; } else { GVAR(keyDownTabCountDistance) = 1; }; // open config menu if (GVAR(keyDownTabCountDistance) == 5) exitWith { - GVAR(keyDownTimeMenu) = ACE_diagTime; - GVAR(keyDownTimeDistance) = ACE_diagTime; + GVAR(keyDownTimeMenu) = diag_tickTime; + GVAR(keyDownTimeDistance) = diag_tickTime; GVAR(keyDownTabCountDistance) = 0; GVAR(configTemp) = GVAR(modeReticle); ["config"] call FUNC(showText); "config" call _fnc_setPFH; }; - if (ACE_diagTime < GVAR(keyDownTimeDistance) + 0.5) exitWith { + if (diag_tickTime < GVAR(keyDownTimeDistance) + 0.5) exitWith { "height+distance" call _fnc_setPFH; }; - GVAR(keyDownTimeDistance) = ACE_diagTime; + GVAR(keyDownTimeDistance) = diag_tickTime; - if (ACE_diagTime > GVAR(keyDownTimeAzimuth) + 0.5) then { + if (diag_tickTime > GVAR(keyDownTimeAzimuth) + 0.5) then { if !(GETGVAR(isKeyDownAzimuth,false)) then { ["azimuth"] call FUNC(clearDisplay); "distance" call _fnc_setPFH; diff --git a/addons/vector/functions/fnc_onKeyHold.sqf b/addons/vector/functions/fnc_onKeyHold.sqf index ff4e5fc6ad..568ef2050c 100644 --- a/addons/vector/functions/fnc_onKeyHold.sqf +++ b/addons/vector/functions/fnc_onKeyHold.sqf @@ -21,7 +21,7 @@ switch (_this select 0) do { case ("azimuth"): { private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeAzimuth) + 0.2; + _isReady = diag_tickTime > GVAR(keyDownTimeAzimuth) + 0.2; [false] call FUNC(showCenter); @@ -42,7 +42,7 @@ switch (_this select 0) do { case ("distance"): { private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeDistance) + 0.5; + _isReady = diag_tickTime > GVAR(keyDownTimeDistance) + 0.5; [_isReady] call FUNC(showCenter); @@ -66,7 +66,7 @@ switch (_this select 0) do { call FUNC(showAzimuth); private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeDistance) + 0.5; + _isReady = diag_tickTime > GVAR(keyDownTimeDistance) + 0.5; [_isReady] call FUNC(showCenter); @@ -89,7 +89,7 @@ switch (_this select 0) do { case ("azimuth+inclination"): { private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeAzimuth) + 0.2; + _isReady = diag_tickTime > GVAR(keyDownTimeAzimuth) + 0.2; [false] call FUNC(showCenter); @@ -110,7 +110,7 @@ switch (_this select 0) do { case ("height+distance"): { private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeDistance) + 0.5; + _isReady = diag_tickTime > GVAR(keyDownTimeDistance) + 0.5; [_isReady] call FUNC(showCenter); @@ -132,7 +132,7 @@ switch (_this select 0) do { case ("relative_distance"): { private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeAzimuth) + 0.5; + _isReady = diag_tickTime > GVAR(keyDownTimeAzimuth) + 0.5; [_isReady] call FUNC(showCenter); @@ -155,7 +155,7 @@ switch (_this select 0) do { case ("relative_height+length"): { private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeAzimuth) + 0.5; + _isReady = diag_tickTime > GVAR(keyDownTimeAzimuth) + 0.5; [_isReady] call FUNC(showCenter); @@ -178,7 +178,7 @@ switch (_this select 0) do { case ("relative_azimuth+distance"): { private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeDistance) + 0.5; + _isReady = diag_tickTime > GVAR(keyDownTimeDistance) + 0.5; [_isReady] call FUNC(showCenter); @@ -201,7 +201,7 @@ switch (_this select 0) do { case ("fall_of_shot"): { private "_isReady"; - _isReady = ACE_diagTime > GVAR(keyDownTimeDistance) + 0.5; + _isReady = diag_tickTime > GVAR(keyDownTimeDistance) + 0.5; [_isReady] call FUNC(showCenter); @@ -223,8 +223,8 @@ switch (_this select 0) do { }; case ("settings"): { - if (ACE_diagTime < GVAR(keyDownTimeMenu) + 1) exitWith { - GVAR(keyDownTimeAzimuth) = ACE_diagTime; + if (diag_tickTime < GVAR(keyDownTimeMenu) + 1) exitWith { + GVAR(keyDownTimeAzimuth) = diag_tickTime; }; [["meter", "feet"] select (GVAR(configTemp) select 0)] call FUNC(showText); @@ -247,7 +247,7 @@ switch (_this select 0) do { }; }; - if (GVAR(keyDownTabCountAzimuth) > 0 && {ACE_diagTime > GVAR(keyDownTimeAzimuth) + 0.5}) exitWith { + if (GVAR(keyDownTabCountAzimuth) > 0 && {diag_tickTime > GVAR(keyDownTimeAzimuth) + 0.5}) exitWith { ["clear_left"] call FUNC(showText); ["clear_right"] call FUNC(showText); @@ -264,8 +264,8 @@ switch (_this select 0) do { }; case ("config"): { - if (ACE_diagTime < GVAR(keyDownTimeMenu) + 1) exitWith { - GVAR(keyDownTimeDistance) = ACE_diagTime; + if (diag_tickTime < GVAR(keyDownTimeMenu) + 1) exitWith { + GVAR(keyDownTimeDistance) = diag_tickTime; }; switch (GVAR(configTemp)) do { @@ -315,7 +315,7 @@ switch (_this select 0) do { }; }; - if (GVAR(keyDownTabCountDistance) > 0 && {ACE_diagTime > GVAR(keyDownTimeDistance) + 0.5}) exitWith { + if (GVAR(keyDownTabCountDistance) > 0 && {diag_tickTime > GVAR(keyDownTimeDistance) + 0.5}) exitWith { ["clear_left"] call FUNC(showText); ["clear_right"] call FUNC(showText); diff --git a/addons/vehicles/functions/fnc_startEngine.sqf b/addons/vehicles/functions/fnc_startEngine.sqf index e2c171e018..8b0d0f17bb 100644 --- a/addons/vehicles/functions/fnc_startEngine.sqf +++ b/addons/vehicles/functions/fnc_startEngine.sqf @@ -24,9 +24,9 @@ if (!_isEngineOn || {floor abs speed _vehicle > 0}) exitWith {}; params ["_args", "_idPFH"]; _args params ["_vehicle", "_time", "_direction"]; - if (ACE_time > _time) exitWith { [_idPFH] call CBA_fnc_removePerFrameHandler; }; + if (CBA_missionTime > _time) exitWith { [_idPFH] call CBA_fnc_removePerFrameHandler; }; _vehicle setVelocity [0, 0, 0]; _vehicle setVectorDirAndUp _direction; -} , 0, [_vehicle, ACE_time + STARTUP_DELAY, [vectorDir _vehicle, vectorUp _vehicle]]] call CBA_fnc_addPerFrameHandler; +} , 0, [_vehicle, CBA_missionTime + STARTUP_DELAY, [vectorDir _vehicle, vectorUp _vehicle]]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index a19e000332..d971dc49f2 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -5,13 +5,13 @@ GVAR(temperatureShift) = 3 - random 6; GVAR(badWeatherShift) = (random 1) ^ 2 * 10; GVAR(humidityShift) = (5 - random 10) / 100; -GVAR(wind_period_start_time) = ACE_time; -GVAR(rain_period_start_time) = ACE_time; +GVAR(wind_period_start_time) = CBA_missionTime; +GVAR(rain_period_start_time) = CBA_missionTime; GVAR(ACE_rain) = rain; -"ACE_WIND_PARAMS" addPublicVariableEventHandler { GVAR(wind_period_start_time) = ACE_time; }; -"ACE_RAIN_PARAMS" addPublicVariableEventHandler { GVAR(rain_period_start_time) = ACE_time; }; +"ACE_WIND_PARAMS" addPublicVariableEventHandler { GVAR(wind_period_start_time) = CBA_missionTime; }; +"ACE_RAIN_PARAMS" addPublicVariableEventHandler { GVAR(rain_period_start_time) = CBA_missionTime; }; "ACE_MISC_PARAMS" addPublicVariableEventHandler { if (!isServer) then { TRACE_1("MISC PARAMS PVEH",ACE_MISC_PARAMS); @@ -65,14 +65,14 @@ simulWeatherSync; [] call FUNC(updateWind); //Every 1 second - if (ACE_time >= GVAR(nextUpdateRain)) then { + if (CBA_missionTime >= GVAR(nextUpdateRain)) then { [] call FUNC(updateRain); //Every 2 seconds - GVAR(nextUpdateRain) = 2 + ACE_time; + GVAR(nextUpdateRain) = 2 + CBA_missionTime; }; - if (ACE_time >= GVAR(nextUpdateTempAndHumidity)) then { + if (CBA_missionTime >= GVAR(nextUpdateTempAndHumidity)) then { [] call FUNC(updateTemperature); //Every 20 seconds [] call FUNC(updateHumidity); //Every 20 seconds - GVAR(nextUpdateTempAndHumidity) = 20 + ACE_time; + GVAR(nextUpdateTempAndHumidity) = 20 + CBA_missionTime; }; END_COUNTER(weatherPFEH); diff --git a/addons/weather/functions/fnc_getWind.sqf b/addons/weather/functions/fnc_getWind.sqf index c9ccd43ff9..7c08e813e1 100644 --- a/addons/weather/functions/fnc_getWind.sqf +++ b/addons/weather/functions/fnc_getWind.sqf @@ -20,7 +20,7 @@ if (isNil "ACE_WIND_PARAMS") exitWith { [0, 0, 0] }; ACE_WIND_PARAMS params ["_dir", "_dirChange", "_spd", "_spdChange", "_period"]; //Wind _dir is the "source" of the wind [eg: "northerly wind": _dir = 0 -> wind = [0,-1,0];] -private _periodPosition = (ACE_time - GVAR(wind_period_start_time)) min _period; +private _periodPosition = (CBA_missionTime - GVAR(wind_period_start_time)) min _period; private _periodPercent = _periodPosition / _period; _spd = _spd + _spdChange * _periodPercent; diff --git a/addons/weather/functions/fnc_updateAceWeather.sqf b/addons/weather/functions/fnc_updateAceWeather.sqf index 2eb264d91b..3f2f9a356c 100644 --- a/addons/weather/functions/fnc_updateAceWeather.sqf +++ b/addons/weather/functions/fnc_updateAceWeather.sqf @@ -48,7 +48,7 @@ if (GVAR(syncRain) && {GVAR(rain_period_count) > GVAR(rain_next_period)}) then { ACE_RAIN_PARAMS = [_lastRain, GVAR(current_rain), _transitionTime]; TRACE_4("",_lastRain,_rainOverCast,_transitionTime,overcast); - GVAR(rain_period_start_time) = ACE_time; + GVAR(rain_period_start_time) = CBA_missionTime; publicVariable "ACE_RAIN_PARAMS"; }; @@ -94,7 +94,7 @@ if (GVAR(syncWind) && {GVAR(wind_period_count) > GVAR(wind_next_period)}) then { GVAR(current_wind_direction) = _windDirection; GVAR(current_wind_speed) = _windSpeed; - GVAR(wind_period_start_time) = ACE_time; + GVAR(wind_period_start_time) = CBA_missionTime; publicVariable "ACE_WIND_PARAMS"; }; diff --git a/addons/weather/functions/fnc_updateRain.sqf b/addons/weather/functions/fnc_updateRain.sqf index 8fa18500e8..aaf7cff82c 100644 --- a/addons/weather/functions/fnc_updateRain.sqf +++ b/addons/weather/functions/fnc_updateRain.sqf @@ -18,10 +18,10 @@ if (!isNil "ACE_RAIN_PARAMS") then { ACE_RAIN_PARAMS params ["_oldRain", "_newRain", "_period"]; - private _periodPosition = (ACE_time - GVAR(rain_period_start_time)) min _period; + private _periodPosition = (CBA_missionTime - GVAR(rain_period_start_time)) min _period; private _periodPercent = (_periodPosition / _period) min 1; - GVAR(ACE_Rain) = linearConversion [GVAR(rain_period_start_time), (GVAR(rain_period_start_time) + _period), ACE_time, _oldRain, _newRain]; + GVAR(ACE_Rain) = linearConversion [GVAR(rain_period_start_time), (GVAR(rain_period_start_time) + _period), CBA_missionTime, _oldRain, _newRain]; TRACE_3("Update Rain",rain,ACE_RAIN_PARAMS,GVAR(ACE_Rain)); }; diff --git a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf index 393a5cd757..5ec512c903 100644 --- a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf +++ b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf @@ -22,8 +22,8 @@ params ["_args"]; _args params ["_lastTime"]; - _deltaT = ACE_time - _lastTime; - _args set [0, ACE_time]; + _deltaT = CBA_missionTime - _lastTime; + _args set [0, CBA_missionTime]; _deleted = 0; _isWind = (vectorMagnitude ACE_wind > 0); @@ -53,4 +53,4 @@ nil } count +GVAR(trackedBullets); // END_COUNTER(pfeh); -}, GVAR(simulationInterval), [ACE_time]] call CBA_fnc_addPerFrameHandler; +}, GVAR(simulationInterval), [CBA_missionTime]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/yardage450/functions/fnc_turnOn.sqf b/addons/yardage450/functions/fnc_turnOn.sqf index 5f123b8cb2..901e6ce563 100644 --- a/addons/yardage450/functions/fnc_turnOn.sqf +++ b/addons/yardage450/functions/fnc_turnOn.sqf @@ -23,14 +23,14 @@ if (currentWeapon ACE_player != "ACE_Yardage450" || cameraView != "GUNNER") exitWith {}; -GVAR(powerOnTime) = ACE_time; +GVAR(powerOnTime) = CBA_missionTime; if (GVAR(active)) exitWith {}; GVAR(active) = true; [{ - if (ACE_time - GVAR(powerOnTime) > 30) exitWith { + if (CBA_missionTime - GVAR(powerOnTime) > 30) exitWith { GVAR(active) = false; 74210 cutText ["", "PLAIN"]; [_this select 1] call CBA_fnc_removePerFrameHandler; diff --git a/addons/zeus/functions/fnc_bi_moduleCurator.sqf b/addons/zeus/functions/fnc_bi_moduleCurator.sqf index d10d36b839..dc26f78bf6 100644 --- a/addons/zeus/functions/fnc_bi_moduleCurator.sqf +++ b/addons/zeus/functions/fnc_bi_moduleCurator.sqf @@ -113,7 +113,7 @@ if (_activated) then { if (_name == "") then {_name = localize "STR_A3_curator";}; //--- Wait until mission starts - waitUntil {time > 0}; // NOTE: DO NOT CHANGE TO ACE_TIME, IT BREAKS THE MODULE + waitUntil {time > 0}; // NOTE: DO NOT CHANGE TO CBA_missionTime, IT BREAKS THE MODULE //--- Refresh addon list, so it's broadcasted to clients _addons = curatoraddons _logic; diff --git a/addons/zeus/functions/fnc_bi_moduleProjectile.sqf b/addons/zeus/functions/fnc_bi_moduleProjectile.sqf index 1143c30443..cdacd5ff0e 100644 --- a/addons/zeus/functions/fnc_bi_moduleProjectile.sqf +++ b/addons/zeus/functions/fnc_bi_moduleProjectile.sqf @@ -104,9 +104,9 @@ if (_activated) then { _side = side group _x; if (_side in [east,west,resistance,civilian]) then { //--- Play radio (only if it wasn't played recently) - if (ACE_time > _x getVariable ["BIS_fnc_moduleProjectile_radio",-_delay]) then { + if (CBA_missionTime > _x getVariable ["BIS_fnc_moduleProjectile_radio",-_delay]) then { [[_side,_radio,"side"],"bis_fnc_sayMessage",_x] call bis_fnc_mp; - _x setVariable ["BIS_fnc_moduleProjectile_radio",ACE_time + _delay]; + _x setVariable ["BIS_fnc_moduleProjectile_radio",CBA_missionTime + _delay]; }; }; }; From f18094e7e4353591638cbaa73599896193544602 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Tue, 8 Mar 2016 19:21:28 +0100 Subject: [PATCH 015/285] MicroDAGR OS Upgrade --- .../functions/fnc_showApplicationPage.sqf | 2 +- .../microdagr/functions/fnc_updateDisplay.sqf | 12 ++++++------ addons/microdagr/gui_controls.hpp | 4 ++-- addons/microdagr/images/button_pushedDown.paa | Bin 22016 -> 11080 bytes addons/microdagr/images/button_pushedUp.paa | Bin 22016 -> 11080 bytes addons/microdagr/images/icon_compass.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_info.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_infoClock.paa | Bin 11080 -> 22016 bytes addons/microdagr/images/icon_infoCompass.paa | Bin 11080 -> 22016 bytes addons/microdagr/images/icon_map.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_menuLaser.paa | Bin 0 -> 22016 bytes addons/microdagr/images/icon_menuMark.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_menuSettings.paa | Bin 22016 -> 22016 bytes .../microdagr/images/icon_menuWaypoints.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/microDAGR_topBar.paa | Bin 187347 -> 5401 bytes 15 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 addons/microdagr/images/icon_menuLaser.paa diff --git a/addons/microdagr/functions/fnc_showApplicationPage.sqf b/addons/microdagr/functions/fnc_showApplicationPage.sqf index dba6b54f18..8284ed8cf4 100644 --- a/addons/microdagr/functions/fnc_showApplicationPage.sqf +++ b/addons/microdagr/functions/fnc_showApplicationPage.sqf @@ -38,7 +38,7 @@ if (GVAR(currentApplicationPage) == APP_MODE_INFODISPLAY) then { (_display displayCtrl IDC_MODEDISPLAY_MODEPOSTIMECG) ctrlShow false; (_display displayCtrl IDC_MODEDISPLAY_MODEPOSTARGETCG) ctrlShow true; if (GVAR(currentWaypoint) == -2) then { - (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa" + (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText QUOTE(PATHTOF(images\icon_menuLaser.paa)); } else { (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText QUOTE(PATHTOF(images\icon_menuMark.paa)); }; diff --git a/addons/microdagr/functions/fnc_updateDisplay.sqf b/addons/microdagr/functions/fnc_updateDisplay.sqf index 4b609085a8..7ba92e55ef 100644 --- a/addons/microdagr/functions/fnc_updateDisplay.sqf +++ b/addons/microdagr/functions/fnc_updateDisplay.sqf @@ -47,9 +47,9 @@ case (APP_MODE_INFODISPLAY): { //Heading: _compassAngleText = if (GVAR(settingUseMils)) then { - [(floor ((6400 / 360) * (getDir ACE_player))), 4, 0] call CBA_fnc_formatNumber; + [(floor ((6400 / 360) * (([ACE_player] call CBA_fnc_headDir) select 0))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (getDir ACE_player)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 + ([(floor (([ACE_player] call CBA_fnc_headDir) select 0)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; (_display displayCtrl IDC_MODEDISPLAY_HEADINGNUM) ctrlSetText _compassAngleText; @@ -107,9 +107,9 @@ case (APP_MODE_INFODISPLAY): { case (APP_MODE_COMPASS): { //Heading: _compassAngleText = if (GVAR(settingUseMils)) then { - [(floor ((6400 / 360) * (getDir ACE_player))), 4, 0] call CBA_fnc_formatNumber; + [(floor ((6400 / 360) * (([ACE_player] call CBA_fnc_headDir) select 0))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (getDir ACE_player)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 + ([(floor (([ACE_player] call CBA_fnc_headDir) select 0)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; (_display displayCtrl IDC_MODECOMPASS_HEADING) ctrlSetText _compassAngleText; @@ -171,7 +171,7 @@ case (APP_MODE_WAYPOINTS): { _currentIndex = (_currentIndex max 0) min (count _waypoints); _wpListBox lbSetCurSel _currentIndex; - + //Reset focus to a dummy ctrl (top button), otherwise HOME/POS1 key goes to top of listBox and has keybind blocked ctrlSetFocus (_display displayCtrl IDC_TOPMENUBUTTON); }; @@ -193,7 +193,7 @@ case (APP_MODE_SETUP): { } else { _settingListBox lbSetTextRight [1, (localize LSTRING(settingOff))]; }; - + //Reset focus to a dummy ctrl (top button), otherwise HOME/POS1 key goes to top of listBox and has keybind blocked ctrlSetFocus (_display displayCtrl IDC_TOPMENUBUTTON); }; diff --git a/addons/microdagr/gui_controls.hpp b/addons/microdagr/gui_controls.hpp index a8fbb8f83f..ab39974dc6 100644 --- a/addons/microdagr/gui_controls.hpp +++ b/addons/microdagr/gui_controls.hpp @@ -18,7 +18,7 @@ class controlsBackground { }; class RangefinderConnectedIcon: RscPicture { idc = IDC_RANGEFINDERCONNECTEDICON; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa"; + text = QUOTE(PATHTOF(images\icon_menuLaser.paa)); x = X_PART(6.35); y = Y_PART(0.1); w = W_PART(2.7); @@ -486,7 +486,7 @@ class controls { onbuttonclick = QUOTE([5] call FUNC(saveCurrentAndSetNewMode)); }; class ButtonBL: ButtonTL { - text = "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa"; + text = QUOTE(PATHTOF(images\icon_menuLaser.paa)); x = W_PART(3); y = H_PART(10.5); onbuttonclick = QUOTE(_this call FUNC(appMenuButtonConnectRangefinder)); diff --git a/addons/microdagr/images/button_pushedDown.paa b/addons/microdagr/images/button_pushedDown.paa index fc519a3235374b4144f1d369568aa2381bbf26d6..68e301e7cf2154466f8d359c851c20732c783e48 100644 GIT binary patch literal 11080 zcmeI2KT5ru%2}`RR=DD_++L zaI+8GPJo>Q;E-2$t55++Q?N1>@4$lAy?|k+R6k>y22?!=>i&EF?f+i?!`#)nx7z!k z_kW*%KK}#v1U3Jdf6PDTpY9|v%#`LI^N;z*{1dn*sQJhIWBxJ!43lcQx7z$;{xScU ze**UeHUDfj|LAL|PJd~h|8I@s&+op$|2I`P^`|qDPf10zG_|>zHSzp3{?WSTa2S(Py0HxOPEp`6i8$Y>mQ9N=MMDb5+ z>2x~5E<*)ezO)ZR-`zmJ>*c{u@9(`e ztm_)JM6Lu+h!><7gcrH-147i1Zz%t|DvVJ+;Wm9?$c>*1W4xo6It zd!6g8!;jjoRJC8fbG~!t=gyp&yX$+^ks}>XJa*)p9rc+^rlX^ys`0lvjw4p^L42g+ z*kQ!?z(0r|KYaM>2jRbm;GZACfBg6xnaoe0$Yg$=%Ve&@KU@C{p~gY7Z)rT)05KPK z&0RVB_E(<1ajLPSArJrK{-rmj*5Ti~4WGYRxe7?B&c^R#Lii|UB&`2pgwcOcTY7vo z;-$aU4q?W@e3?I z+7}s?`Pg`#KK9SeN^lF^ET8|(zaCou9^gn%kLQck-$ngxvdd(U$M)@e6~_C@$wxaI zhZ=A^pI`giPt*rWooqbSFd2puu01e63U0hl;e1$eco_7Qnxy&A+4utJO-yX8xL0^J;SdNuk%sPK9OG${K|&!UvT+Be|YoT=q;1IX0v_ z!UunI<@@iv@$5!N(=a~&@G&!_R{U7g3!cBkQtyQ(7;hF&+HV)jcoNI_lCKrlny=KC z{L{&7XUUr@u1ry9di+<46RYdq}mSkrK0E;k=|d|QmC z^-24mcf7{U0yBTjLugNbr@$iuOM8~D)~gftQcq&3zgzf^IXnjarC`DG@|FH=&R*x! zDzNO2A;HV|Qg5fQmwGH;9UuG;y&kL=)$Ks%UkSqtw_xzAuc#k3{a&yCQG5ED#-M$Q z##{0@ACz+Io#g-b81mo11qLPweEu);f!%Afd~AOgH{M>p>WD4EDnU!~clpkM^$7xJ!#L@zj(foU#<3Ry-n1U?cXih*C5(ACU}{T)Qk0}&}$WVOyD-rUnA%J{*(4B z{*IQ}CO8klim8`_4C1^}1&-moLj3E^b)V(y1=^or_L5J-=nv-+iYM)@zT)}d`6t5C zUSjk=rxcwZl6cUg_M!be)3@=-AMq;VH_H9zUUU2OBGe5D@pi%M0Z{H{0GKLF#o zB=B;C>szijDK$g;gS99B+1C08ba&YKQxE#3FuWZ3Tl<*^BR>&_brFv97|-oTmZ$bu z3?a>YMZL8!gfoS~mZ$NwnA)?W<%Xxfqva2<{>Ad0j`UC;j#I-N!})l3gry$ZL;9l; zkC@w={+yuxl-TA=<6-z%e^7g@{Th$A6mJjpALax6SY*GarM@MXQuNPD3t<4as*`6acdDB>%Yzp&5lZGq*H^7*{R_(YrMDGmRl z^{e3T>~{!%$*1YnXAiZ6Aw0gD#IIE^EuQ41{=M19aDAlyskME&J<$76d!)XMf48yB ze~%s?cOP~ryC)0lHPs7d1O4c$M-J@emv&y>&>wG8uOVD z{aXk}ym(XLkcVYHQ?dT`^Ia2qvVCwpN&2U=hqAfy^hnfS8msXk4_7y6f7SfrIPLGo ze%ZHIQ#(C>RT}m1;)JkYrg}i@6_;s$)i@CG%3*7yx3~Rt79K9Tf713<;a{#a3wtPm z%=%{HE&2IWC&*s&s^sJ9q-fuypTBbZtMPaFYP?X&c=3a2YR}>J@51`$)*IvR^lf_s z&tI+i% zHxq_5|FQjWJx2A>_T%aH4}JLjPiLY2WaD)@3;DKgT~D`%o+sI!i|sG9=W0y{K5x%7L@q}vDmt_4M%MbKmLH6up{omt{kJsPW zo_VStO?y{MP7nD7s{eF8EdNXUFSaW+P4NwO^`OBO!MpQ|;a&d8dhYyacvpWI?B0hN z?B2&2EaMka@{##VeaV-E-lV{3?UnWtyYr1{kHoTlY57Xt-Nz^Qr_A5I|D1#I=l6ee z`!DS;vHA${OxQsChp~6}Psoq6dL_=IKKDm`-@oMfU)n$A@#ydBOQV0D<%4>445PiP zpD@3Pn4TYhGR8LxJ!#K*)R*}=`*$FIQ7zGYiuVuZ&)b9f?-cQQJmjUli-+x97VV#j z^^eoL+VQC`!*WacrQwFox%~s|zV1GQX@5Wrs~@dLX?kfq>YY&T{F-JjdGv?X-pdc} zGdIl-?Ryw+{pmhw6Mf>*exCU!+4KIBJoYd2AMIC&q5YJv)u-`F%6C<{`v>G99^Hq? zc>g?l-y^VD!N=@ZpWwUOA2&O`@JKk~p08T_SNpepc>lC`t(^^>gHZ5C>-|)E>+S z%R!zG^SAjHJf6+3H2pL_u|N3pVfw4$#b^0T{X{*_9_9-a0G=M3Pg;+iM>Lkarw8N9 z`b*|>rt4@|4h*7r2D|!N(gc zdn4UPy8x1&#_T+*aY^vfUSjFb=I7JhXS(?Pg4QnxefIonp80Fc?h7<#>!rqQzH6+) zwx~ZfX8VQ4dciaGkH+kLtg(zQ{iVHZkIYwz_Oj>M=6Bi4m#x=Z%I6OKul<+Yeie3) zbi?~8x*ssOO7EA#?x(xq^)Jm2joJN!u@9*J)jVsD;nhUc9?i4xJc<`uD9%;a$`f>a8_QCeOWq-^Mws*2O`L@yf8JoYyL;n$OK1JC+!B^dRTjvvNkI1*^$IFR$J+b^{ zJdsb)#ecYeUmq;zg{Z$i-G8hPibq;skca!{66c{l1y_j3`$_Co!S81kd@gN?Tq>092j2R#UB;v=79?-vlyv-@_$ zJ<5ImPUdg*seVVCXZ?k^2w$M(@m2+f_;emYd*HqN7Fa$QAH?9}@?R9~hy1;GdDdU( z55dU)i_abF(~$I@>4W}f{i!jvPuk!A+%rl3G~Uww;eKCF`ls1TJ`LM=)E;SX`Azec z_G$S_USg>yajo{X`b+(@{m1*K;e}!}pAf_LPW2dK*gkf09=6L?j$!+1<`|ZLs&~*I zc+b87FKD?vY>%TH!}dhaEBeFs>*WLbm$^M`msIbdJ>=)b2R+Xow$t6*AM8C0`HXQM z;tg{Q+pT9mnZkpA9ruTPy#4_GJm+CNJRWd^;JyBa{Jrsk@$>SN@u0sN4rUH!GL4x> z#;%-w^aszb+n*Izo}9a?R|CWWTlNs=*|LNfmR(wA5f|AqiWr3Gu|o{YR4Hl(Vp#Uz zW0o<*dBIl&hANo824nSU*+g6vJm8HdubQ99Tl*#@mgL{sUXcKl5sEE3ZB{5Vhwo@4o+vg3ks0vrqTfeN^#Z-&3~_ zB((Q>(`-{N=gKUDU4Izt%3yd%1UEj5WMtvWm|H5S2h}6<}dXf zzqjRjGdzzJAAcsozcvFuLup=Q*Fw@>VzdvKJ>njL7Z^_R=kd@#$LtZG5SZI1=~bD% z(` z3&Hr&eABPZ*w;)A-Yt0dn!)hyYo&3$B>hpL=f2h&_lMVb>}##byv(OT=yUAngV(Y- z_S(;2w;vho_J=rz*B0#g+0`d8>PvrDFK#W~3eER;{G|K~DfTWOyoM~Z`Hz^_Q<6Uh zJYO%6=j%ZdUljVh9@~olAoG{{X;|tb=6ZN-kjsT_(RyJq_1`A^h_I*i(%RE{Wbvr5 zm-=@b4~uv*pSI>qb0$-tY5V)(mGw#y{u&e<+h^P|pz(^plHU;gvcPOvF~{&Q({}w! z>vO7H&=|{(cg* z$TZ-!=xZD1QtYMnldw93fX$^*grleRc>gGg@uK^O-j*H>yRLrN-Q+uG3+b^N#jv$yo^WiC~?NsMi4|W5PSoh zk0n2odC3e5JFP0uv(+?TXOW~NNy2=S&3#^(`T6B+wn%NhwXut(!$3L?rS3=?+xXl{ zl~R0vu;1hk{!=~bq6pFdpL+Bd1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SGjoK&n*g*!KTDl*cx>YS-A@dkX>z2mS-{fI2`Opbpeo2Q1^-VHt3KbisY0 uq;0d)wx^!Ah4!!Vp2*^z{`xa_Y(;85Ca3TkPknV8DY6T7*@w&QXm$g34=?!u literal 22016 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 diff --git a/addons/microdagr/images/icon_compass.paa b/addons/microdagr/images/icon_compass.paa index 777eaffde413141dd3d1e8e1fb771a7988678669..32528e3cd3b23755fbc3b8d4fedce1a86bcf8c4d 100644 GIT binary patch literal 22016 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 I*igy;0JQD~7ytkO literal 22016 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 RpPB?bSD!X*+Ow{={a-o~tH1yN diff --git a/addons/microdagr/images/icon_info.paa b/addons/microdagr/images/icon_info.paa index 5dc94a444c17cecdaa8b4eb41e53c9ec96996f95..ad7476ba0f72f807c2d487083a323bfbd0427cf0 100644 GIT binary patch literal 22016 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 diff --git a/addons/microdagr/images/icon_infoClock.paa b/addons/microdagr/images/icon_infoClock.paa index 292cf29afb6b50626a5b634bfeda1c7af1c15031..cf0c1c134871e595960d4296f67fe62ede716915 100644 GIT binary patch literal 22016 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 literal 11080 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 CO?FxU literal 22016 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 DZi;w? literal 0 HcmV?d00001 diff --git a/addons/microdagr/images/icon_menuMark.paa b/addons/microdagr/images/icon_menuMark.paa index 2c77aac04b0d34b832083e03d8fd48482ef53984..5cd2fe84e0aa80ffe35d07ec053656aeb8958b28 100644 GIT binary patch literal 22016 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 literal 22016 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 literal 22016 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 B$07g# From 3710c04da4afc07d69211cb6b88fb8aec6a7247a Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Tue, 8 Mar 2016 19:22:04 +0100 Subject: [PATCH 016/285] Use head instead of body direction for compass --- addons/microdagr/functions/fnc_mapOnDrawEH.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/microdagr/functions/fnc_mapOnDrawEH.sqf b/addons/microdagr/functions/fnc_mapOnDrawEH.sqf index 25f5bc92fd..92d647f348 100644 --- a/addons/microdagr/functions/fnc_mapOnDrawEH.sqf +++ b/addons/microdagr/functions/fnc_mapOnDrawEH.sqf @@ -27,7 +27,7 @@ if (GVAR(currentApplicationPage) == 1) then { _theMap ctrlMapAnimAdd [0, DUMMY_ZOOM, DUMMY_POS]; ctrlMapAnimCommit _theMap; _size = 412 * _mapSize; - _theMap drawIcon [QUOTE(PATHTO_R(images\compass_starInverted.paa)), [1,1,1,1], DUMMY_POS, _size, _size, (-1 * (getDir ACE_player)), '', 0 ]; + _theMap drawIcon [QUOTE(PATHTO_R(images\compass_starInverted.paa)), [1,1,1,1], DUMMY_POS, _size, _size, (-1 * (([ACE_player] call CBA_fnc_headDir) select 0)), '', 0 ]; _theMap drawIcon [QUOTE(PATHTO_R(images\compass_needle.paa)), [0.533,0.769,0.76,1], DUMMY_POS, _size, _size, 0, '', 0 ]; if (GVAR(currentWaypoint) != -1) then { @@ -56,7 +56,7 @@ if (GVAR(currentApplicationPage) == 1) then { ctrlMapAnimCommit _theMap; }; _size = 48 * _mapSize; - _theMap drawIcon [QUOTE(PATHTO_R(images\icon_self.paa)), [0.533,0.769,0.76,0.75], (getPosASL ACE_player), _size, _size, (getDir ACE_player), '', 0 ]; + _theMap drawIcon [QUOTE(PATHTO_R(images\icon_self.paa)), [0.533,0.769,0.76,0.75], (getPosASL ACE_player), _size, _size, (([ACE_player] call CBA_fnc_headDir) select 0), '', 0 ]; if (GVAR(settingShowAllWaypointsOnMap)) then { _size = 32 * _mapSize; From 85b436636827561f7193fac7a91001353df26149 Mon Sep 17 00:00:00 2001 From: jonpas Date: Fri, 8 Apr 2016 20:34:50 +0200 Subject: [PATCH 017/285] Use new QPATHTOF and QPATHTOEF macros --- addons/advanced_ballistics/CfgVehicles.hpp | 2 +- .../functions/fnc_displayProtractor.sqf | 4 +- addons/aircraft/RscInGameUI.hpp | 4 +- addons/atragmx/CfgVehicles.hpp | 2 +- addons/atragmx/CfgWeapons.hpp | 4 +- .../atragmx/functions/fnc_create_dialog.sqf | 2 +- addons/atragmx/initKeybinds.sqf | 2 +- addons/attach/CfgMagazines.hpp | 6 +- addons/attach/CfgVehicles.hpp | 8 +- addons/attach/CfgWeapons.hpp | 4 +- addons/ballistics/scripts/initTargetWall.sqf | 2 +- addons/captives/CfgVehicles.hpp | 20 +- addons/captives/CfgWeapons.hpp | 4 +- addons/cargo/CfgVehicles.hpp | 4 +- addons/cargo/functions/fnc_initObject.sqf | 2 +- addons/common/CfgUnitInsignia.hpp | 4 +- addons/common/CfgVehicles.hpp | 6 +- addons/common/CfgWeapons.hpp | 4 +- .../functions/fnc_deviceKeyRegisterNew.sqf | 2 +- addons/common/functions/fnc_displayIcon.sqf | 2 +- addons/common/init_versionTooltip.sqf | 2 +- addons/concertina_wire/CfgVehicles.hpp | 10 +- addons/dagr/CfgVehicles.hpp | 4 +- addons/dagr/CfgWeapons.hpp | 4 +- addons/dagr/Dialog.hpp | 2 +- addons/dagr/functions/fnc_menuInit.sqf | 12 +- addons/dagr/functions/fnc_outputData.sqf | 2 +- addons/dagr/functions/fnc_outputVector.sqf | 2 +- addons/dagr/functions/fnc_outputWP.sqf | 2 +- addons/dagr/initKeybinds.sqf | 2 +- addons/disarming/CfgVehicles.hpp | 2 +- addons/disarming/CfgWeapons.hpp | 2 +- addons/disposable/CfgMagazines.hpp | 2 +- addons/explosives/ACE_Triggers.hpp | 16 +- addons/explosives/CfgModule.hpp | 2 +- addons/explosives/CfgVehicles.hpp | 10 +- addons/explosives/CfgWeapons.hpp | 12 +- addons/explosives/ExplosivesUI.hpp | 2 +- addons/fastroping/CfgMoves.hpp | 2 +- addons/fastroping/CfgVehicles.hpp | 8 +- addons/fastroping/CfgWaypoints.hpp | 4 +- addons/finger/CfgVehicles.hpp | 2 +- addons/finger/functions/fnc_perFrameEH.sqf | 2 +- addons/flashlights/CfgWeapons.hpp | 12 +- addons/fonts/CfgFontFamilies.hpp | 62 +++---- addons/gestures/CfgVehicles.hpp | 2 +- addons/gestures/cfgMovesBasic.hpp | 32 ++-- addons/goggles/config.cpp | 14 +- addons/grenades/CfgAmmo.hpp | 2 +- addons/grenades/CfgMagazines.hpp | 4 +- addons/hearing/CfgSounds.hpp | 16 +- addons/hearing/CfgVehicles.hpp | 6 +- addons/hearing/CfgWeapons.hpp | 4 +- addons/huntir/CfgAmmo.hpp | 2 +- addons/huntir/CfgMagazines.hpp | 2 +- addons/huntir/CfgVehicles.hpp | 6 +- addons/huntir/CfgWeapons.hpp | 4 +- addons/huntir/Dialog.hpp | 4 +- addons/interact_menu/functions/fnc_render.sqf | 2 +- addons/interaction/CfgVehicles.hpp | 32 ++-- addons/interaction/RscTitles.hpp | 6 +- .../functions/fnc_addPassengersActions.sqf | 2 +- addons/javelin/CfgVehicles.hpp | 6 +- addons/javelin/CfgWeapons.hpp | 10 +- addons/javelin/RscInGameUI.hpp | 2 +- addons/kestrel4500/CfgVehicles.hpp | 6 +- addons/kestrel4500/CfgWeapons.hpp | 4 +- addons/kestrel4500/RscTitles.hpp | 14 +- .../functions/fnc_displayKestrel.sqf | 2 +- addons/kestrel4500/initKeybinds.sqf | 2 +- addons/logistics_uavbattery/CfgSounds.hpp | 2 +- addons/logistics_uavbattery/CfgVehicles.hpp | 2 +- addons/logistics_uavbattery/CfgWeapons.hpp | 4 +- addons/logistics_wirecutter/CfgSounds.hpp | 4 +- addons/logistics_wirecutter/CfgWeapons.hpp | 4 +- .../functions/fnc_interactEH.sqf | 2 +- addons/magazinerepack/CfgSounds.hpp | 4 +- addons/magazinerepack/CfgVehicles.hpp | 2 +- addons/main/script_macros.hpp | 6 +- addons/map/CfgVehicles.hpp | 4 +- addons/map_gestures/CfgVehicles.hpp | 4 +- addons/maptools/CfgWeapons.hpp | 4 +- addons/maptools/MapGpsUI.hpp | 2 +- .../functions/fnc_updateMapToolMarkers.sqf | 6 +- addons/medical/ACE_Medical_Actions.hpp | 102 +++++------ addons/medical/ACE_Medical_SelfActions.hpp | 94 +++++----- addons/medical/CfgSounds.hpp | 14 +- addons/medical/CfgVehicles.hpp | 48 ++--- addons/medical/CfgWeapons.hpp | 86 ++++----- .../functions/fnc_modifyMedicalAction.sqf | 6 +- addons/medical/ui/RscTitles.hpp | 14 +- addons/medical/ui/triagecard.hpp | 4 +- addons/medical_menu/CfgVehicles.hpp | 6 +- addons/medical_menu/ui/menu.hpp | 32 ++-- addons/microdagr/CfgVehicles.hpp | 10 +- addons/microdagr/CfgWeapons.hpp | 4 +- addons/microdagr/XEH_clientInit.sqf | 2 +- .../functions/fnc_showApplicationPage.sqf | 14 +- addons/microdagr/gui_controls.hpp | 34 ++-- addons/missionmodules/CfgVehicles.hpp | 2 +- addons/mk6mortar/CfgVehicles.hpp | 4 +- addons/mk6mortar/CfgWeapons.hpp | 2 +- addons/mk6mortar/RscRangeTable.hpp | 2 +- addons/mk6mortar/cfgMagazines.hpp | 20 +- .../fnc_handlePlayerVehicleChanged.sqf | 2 +- addons/mx2a/CfgWeapons.hpp | 6 +- addons/nametags/CfgVehicles.hpp | 2 +- addons/nametags/functions/common.hpp | 2 +- .../functions/fnc_drawNameTagIcon.sqf | 2 +- addons/nightvision/CfgVehicles.hpp | 2 +- addons/nightvision/CfgWeapons.hpp | 2 +- addons/optics/CfgRscTitles.hpp | 34 ++-- addons/optics/CfgWeapons.hpp | 62 +++---- addons/optics/functions/fnc_onDrawScope2D.sqf | 2 +- addons/overheating/CfgSounds.hpp | 10 +- addons/overheating/CfgVehicles.hpp | 6 +- addons/overheating/CfgWeapons.hpp | 2 +- .../functions/fnc_swapBarrelCallback.sqf | 2 +- addons/parachute/CfgVehicles.hpp | 2 +- addons/parachute/CfgWeapons.hpp | 2 +- addons/parachute/RscTitles.hpp | 2 +- addons/rangecard/CfgVehicles.hpp | 8 +- addons/rangecard/CfgWeapons.hpp | 2 +- addons/rangecard/RscTitles.hpp | 2 +- addons/rearm/CfgVehicles.hpp | 10 +- addons/refuel/CfgVehicles.hpp | 30 +-- addons/refuel/functions/fnc_makeJerryCan.sqf | 10 +- addons/repair/CfgVehicles.hpp | 14 +- addons/respawn/CfgVehicles.hpp | 6 +- addons/sandbag/CfgVehicles.hpp | 10 +- addons/sandbag/CfgWeapons.hpp | 8 +- addons/scopes/CfgSounds.hpp | 6 +- addons/scopes/CfgVehicles.hpp | 2 +- addons/scopes/RscTitles.hpp | 2 +- addons/sitting/CfgVehicles.hpp | 4 +- .../sitting/functions/fnc_addSitActions.sqf | 2 +- addons/slideshow/CfgVehicles.hpp | 2 +- addons/spectator/CfgVehicles.hpp | 2 +- addons/spottingscope/CfgVehicles.hpp | 8 +- addons/spottingscope/CfgWeapons.hpp | 4 +- addons/switchunits/CfgVehicles.hpp | 2 +- addons/tacticalladder/CfgVehicles.hpp | 6 +- addons/tagging/CfgVehicles.hpp | 16 +- addons/tagging/CfgWeapons.hpp | 18 +- addons/trenches/CfgVehicles.hpp | 12 +- addons/trenches/CfgWeapons.hpp | 4 +- addons/tripod/CfgVehicles.hpp | 8 +- addons/tripod/CfgWeapons.hpp | 4 +- addons/vector/CfgWeapons.hpp | 6 +- .../functions/fnc_convertToTexturesDegree.sqf | 32 ++-- .../fnc_convertToTexturesDistance.sqf | 48 ++--- .../functions/fnc_convertToTexturesFOS.sqf | 172 +++++++++--------- addons/vector/functions/fnc_showCenter.sqf | 2 +- addons/vector/functions/fnc_showP1.sqf | 6 +- addons/vector/functions/fnc_showReticle.sqf | 2 +- addons/vector/functions/fnc_showText.sqf | 122 ++++++------- addons/vehiclelock/CfgMagazines.hpp | 2 +- addons/vehiclelock/CfgVehicles.hpp | 12 +- addons/vehiclelock/CfgWeapons.hpp | 12 +- addons/weather/CfgVehicles.hpp | 2 +- .../weather/functions/fnc_displayWindInfo.sqf | 6 +- addons/winddeflection/CfgVehicles.hpp | 2 +- addons/yardage450/CfgWeapons.hpp | 6 +- addons/zeus/CfgVehicles.hpp | 18 +- 164 files changed, 900 insertions(+), 900 deletions(-) diff --git a/addons/advanced_ballistics/CfgVehicles.hpp b/addons/advanced_ballistics/CfgVehicles.hpp index 27ccb2377b..804a6e9236 100644 --- a/addons/advanced_ballistics/CfgVehicles.hpp +++ b/addons/advanced_ballistics/CfgVehicles.hpp @@ -3,7 +3,7 @@ class CfgVehicles { class GVAR(ModuleSettings): ACE_Module { scope = 2; displayName = CSTRING(DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Wind_ca.paa); category = "ACE"; function = QUOTE(DFUNC(initModuleSettings)); functionPriority = 1; diff --git a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf index 8ff21e60cc..62663c843b 100644 --- a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf +++ b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf @@ -43,13 +43,13 @@ GVAR(Protractor) = true; __ctrl1 ctrlSetScale 1; __ctrl1 ctrlCommit 0; - __ctrl1 ctrlSetText QUOTE(PATHTOF(UI\protractor.paa)); + __ctrl1 ctrlSetText QPATHTOF(UI\protractor.paa); __ctrl1 ctrlSetTextColor [1, 1, 1, 1]; __ctrl2 ctrlSetScale 1; __ctrl2 ctrlSetPosition [SafeZoneX + 0.001, SafeZoneY - 0.001 - 0.1074 * (-0.86 max ((ACE_player weaponDirection currentWeapon ACE_player) select 2) min 0.86), 0.2, 0.2 * 4/3]; __ctrl2 ctrlCommit 0; - __ctrl2 ctrlSetText QUOTE(PATHTOF(UI\protractor_marker.paa)); + __ctrl2 ctrlSetText QPATHTOF(UI\protractor_marker.paa); __ctrl2 ctrlSetTextColor [1, 1, 1, 1]; }, 0.1, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/aircraft/RscInGameUI.hpp b/addons/aircraft/RscInGameUI.hpp index 620d895d9e..6411085b24 100644 --- a/addons/aircraft/RscInGameUI.hpp +++ b/addons/aircraft/RscInGameUI.hpp @@ -145,7 +145,7 @@ class RscInGameUI sizeEx = "0.038*SafezoneH"; shadow = 0; font = "EtelkaMonospacePro"; - text = PATHTOF(data\Helo_LaserON.paa); + text = QPATHTOF(data\Helo_LaserON.paa); x = "20.45 * (0.01875 * SafezoneH)"; y = "14.1 * (0.025 * SafezoneH)"; w = "12.5 * (0.01875 * SafezoneH)"; @@ -335,7 +335,7 @@ class RscInGameUI shadow = 0; align = "right"; font = "EtelkaMonospacePro"; - text = PATHTOF(data\Helo_LaserON.paa); + text = QPATHTOF(data\Helo_LaserON.paa); x = "20.45 * (0.01875 * SafezoneH)"; y = "14.1 * (0.025 * SafezoneH)"; w = "12.5 * (0.01875 * SafezoneH)"; diff --git a/addons/atragmx/CfgVehicles.hpp b/addons/atragmx/CfgVehicles.hpp index cc4a7880fe..6e8a136a03 100644 --- a/addons/atragmx/CfgVehicles.hpp +++ b/addons/atragmx/CfgVehicles.hpp @@ -9,7 +9,7 @@ class CfgVehicles { statement = QUOTE(call FUNC(create_dialog)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\ATRAG_Icon.paa); + icon = QPATHTOF(UI\ATRAG_Icon.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; }; }; diff --git a/addons/atragmx/CfgWeapons.hpp b/addons/atragmx/CfgWeapons.hpp index 42d1e56ae2..af5e1a9955 100644 --- a/addons/atragmx/CfgWeapons.hpp +++ b/addons/atragmx/CfgWeapons.hpp @@ -8,8 +8,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(Name); descriptionShort = CSTRING(Description); - model = PATHTOF(data\tdsrecon.p3d); - picture = PATHTOF(UI\ATRAG_Icon.paa); + model = QPATHTOF(data\tdsrecon.p3d); + picture = QPATHTOF(UI\ATRAG_Icon.paa); icon = "iconObject_circle"; mapSize = 0.034; diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index 07b93eb2da..0990d87aca 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -56,7 +56,7 @@ GVAR(DialogPFH) = [{ if (!GVAR(active)) exitWith { [_this select 1] call CBA_fnc_removePerFrameHandler; }; - __ctrlBackground ctrlSetText format [QUOTE(PATHTOF(UI\ATRAG_%1.paa)), ["N", "D"] select (call EFUNC(common,ambientBrightness))]; + __ctrlBackground ctrlSetText format [QPATHTOF(UI\ATRAG_%1.paa), ["N", "D"] select (call EFUNC(common,ambientBrightness))]; }, 60, []] call CBA_fnc_addPerFrameHandler; true diff --git a/addons/atragmx/initKeybinds.sqf b/addons/atragmx/initKeybinds.sqf index 51d2338292..94704e8132 100644 --- a/addons/atragmx/initKeybinds.sqf +++ b/addons/atragmx/initKeybinds.sqf @@ -33,4 +33,4 @@ _closeCode = { closeDialog 0; }; }; -[(localize LSTRING(Name)), QUOTE(PATHTOF(UI\ATRAG_Icon.paa)), _conditonCode, _toggleCode, _closeCode] call EFUNC(common,deviceKeyRegisterNew); +[(localize LSTRING(Name)), QPATHTOF(UI\ATRAG_Icon.paa), _conditonCode, _toggleCode, _closeCode] call EFUNC(common,deviceKeyRegisterNew); diff --git a/addons/attach/CfgMagazines.hpp b/addons/attach/CfgMagazines.hpp index f85cac82b4..7ba8cebbc5 100644 --- a/addons/attach/CfgMagazines.hpp +++ b/addons/attach/CfgMagazines.hpp @@ -3,17 +3,17 @@ class CfgMagazines { class CA_Magazine; class B_IR_Grenade: CA_Magazine { ACE_Attachable = "B_IRStrobe"; - model = QUOTE(PATHTOF(data\ace_IRStrobe.p3d)); + model = QPATHTOF(data\ace_IRStrobe.p3d); }; class O_IR_Grenade: B_IR_Grenade { ACE_Attachable = "O_IRStrobe"; - model = QUOTE(PATHTOF(data\ace_IRStrobe.p3d)); + model = QPATHTOF(data\ace_IRStrobe.p3d); }; class I_IR_Grenade: B_IR_Grenade { ACE_Attachable = "I_IRStrobe"; - model = QUOTE(PATHTOF(data\ace_IRStrobe.p3d)); + model = QPATHTOF(data\ace_IRStrobe.p3d); }; class SmokeShell; diff --git a/addons/attach/CfgVehicles.hpp b/addons/attach/CfgVehicles.hpp index e462c0cefa..1e0c0f3e71 100644 --- a/addons/attach/CfgVehicles.hpp +++ b/addons/attach/CfgVehicles.hpp @@ -9,7 +9,7 @@ exceptions[] = {}; \ showDisabled = 0; \ priority = 0; \ - icon = PATHTOF(UI\attach_ca.paa); \ + icon = QPATHTOF(UI\attach_ca.paa); \ distance = 4.5; \ }; \ class GVAR(DetachVehicle) { \ @@ -19,7 +19,7 @@ exceptions[] = {}; \ showDisabled = 0; \ priority = 0.1; \ - icon = PATHTOF(UI\detach_ca.paa); \ + icon = QPATHTOF(UI\detach_ca.paa); \ distance = 4.5; \ }; \ }; \ @@ -60,7 +60,7 @@ class CfgVehicles { exceptions[] = {"isNotDragging"}; showDisabled = 0; priority = 5; - icon = PATHTOF(UI\attach_ca.paa); + icon = QPATHTOF(UI\attach_ca.paa); }; class GVAR(Detach) { displayName = CSTRING(Detach); @@ -69,7 +69,7 @@ class CfgVehicles { exceptions[] = {"isNotDragging"}; showDisabled = 0; priority = 5; - icon = PATHTOF(UI\detach_ca.paa); + icon = QPATHTOF(UI\detach_ca.paa); }; }; }; diff --git a/addons/attach/CfgWeapons.hpp b/addons/attach/CfgWeapons.hpp index dfea64678d..cc50b3be5e 100644 --- a/addons/attach/CfgWeapons.hpp +++ b/addons/attach/CfgWeapons.hpp @@ -8,8 +8,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(IrStrobe_Name); descriptionShort = CSTRING(IrStrobe_Description); - model = QUOTE(PATHTOF(data\ace_IRStrobe.p3d)); - picture = PATHTOF(UI\irstrobe_item.paa); + model = QPATHTOF(data\ace_IRStrobe.p3d); + picture = QPATHTOF(UI\irstrobe_item.paa); class ItemInfo: InventoryItem_Base_F { mass = 1; diff --git a/addons/ballistics/scripts/initTargetWall.sqf b/addons/ballistics/scripts/initTargetWall.sqf index d9b16eec10..0ce3950de1 100644 --- a/addons/ballistics/scripts/initTargetWall.sqf +++ b/addons/ballistics/scripts/initTargetWall.sqf @@ -11,5 +11,5 @@ if (local _wall) then { _paper attachTo [_wall, [0,-0.02,0.6]]; _paper setDir getDir _wall; - _paper setObjectTextureGlobal [0, QUOTE(PATHTOF(textures\target_ca.paa))]; + _paper setObjectTextureGlobal [0, QPATHTOF(textures\target_ca.paa)]; }; diff --git a/addons/captives/CfgVehicles.hpp b/addons/captives/CfgVehicles.hpp index a8215c0cdc..2afa1cfea4 100644 --- a/addons/captives/CfgVehicles.hpp +++ b/addons/captives/CfgVehicles.hpp @@ -10,7 +10,7 @@ class CfgVehicles { condition = QUOTE([ARR_2(_player, _target)] call FUNC(canApplyHandcuffs)); statement = QUOTE([ARR_2(_player, _target)] call FUNC(doApplyHandcuffs)); exceptions[] = {}; - icon = QUOTE(PATHTOF(UI\handcuff_ca.paa)); + icon = QPATHTOF(UI\handcuff_ca.paa); }; class ACE_MainActions { @@ -21,7 +21,7 @@ class CfgVehicles { condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRemoveHandcuffs)); statement = QUOTE([ARR_2(_player, _target)] call FUNC(doRemoveHandcuffs)); exceptions[] = {}; - icon = QUOTE(PATHTOF(UI\handcuff_ca.paa)); + icon = QPATHTOF(UI\handcuff_ca.paa); }; class ACE_EscortCaptive { displayName = CSTRING(EscortCaptive); @@ -30,7 +30,7 @@ class CfgVehicles { statement = QUOTE([ARR_3(_player, _target, true)] call FUNC(doEscortCaptive)); exceptions[] = {}; showDisabled = 0; - icon = QUOTE(PATHTOF(UI\captive_ca.paa)); + icon = QPATHTOF(UI\captive_ca.paa); priority = 2.3; }; class ACE_StopEscorting { @@ -40,7 +40,7 @@ class CfgVehicles { statement = QUOTE([ARR_3(_player,_target, false)] call FUNC(doEscortCaptive)); exceptions[] = {"isNotEscorting"}; showDisabled = 0; - icon = QUOTE(PATHTOF(UI\captive_ca.paa)); + icon = QPATHTOF(UI\captive_ca.paa); priority = 2.3; }; class ACE_LoadCaptive { @@ -50,7 +50,7 @@ class CfgVehicles { statement = QUOTE([ARR_3(_player, _target, objNull)] call FUNC(doLoadCaptive)); exceptions[] = {"isNotEscorting"}; showDisabled = 0; - icon = QUOTE(PATHTOF(UI\captive_ca.paa)); + icon = QPATHTOF(UI\captive_ca.paa); priority = 2.2; }; class GVAR(UnloadCaptive) { @@ -79,7 +79,7 @@ class CfgVehicles { exceptions[] = {}; showDisabled = 0; priority = 0; - icon = QUOTE(PATHTOF(UI\Surrender_ca.paa)); + icon = QPATHTOF(UI\Surrender_ca.paa); }; class ACE_StopSurrenderingSelf { displayName = CSTRING(StopSurrendering); @@ -88,7 +88,7 @@ class CfgVehicles { exceptions[] = {"isNotSurrendering"}; showDisabled = 0; priority = 0; - icon = QUOTE(PATHTOF(UI\Surrender_ca.paa)); + icon = QPATHTOF(UI\Surrender_ca.paa); }; }; }; @@ -154,7 +154,7 @@ class CfgVehicles { scope = 2; //show in editor isGlobal = 0; //run on server isTriggerActivated = 1; //Wait for triggers - icon = QUOTE(PATHTOF(UI\Icon_Module_Make_Unit_Surrender_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Make_Unit_Surrender_ca.paa); functionPriority = 0; class Arguments {}; class ModuleDescription: ModuleDescription { @@ -170,7 +170,7 @@ class CfgVehicles { scope = 2; //show in editor isGlobal = 0; //run on server isTriggerActivated = 1; //Wait for triggers - icon = QUOTE(PATHTOF(UI\Icon_Module_Make_Unit_Handcuffed_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Make_Unit_Handcuffed_ca.paa); functionPriority = 0; class Arguments {}; class ModuleDescription: ModuleDescription { @@ -186,7 +186,7 @@ class CfgVehicles { displayName = CSTRING(ModuleSettings_DisplayName); function = QFUNC(moduleSettings); scope = 2; - icon = QUOTE(PATHTOF(UI\Icon_Module_settings_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_settings_ca.paa); isGlobal = 1; isSingular = 1; class Arguments { diff --git a/addons/captives/CfgWeapons.hpp b/addons/captives/CfgWeapons.hpp index 7092962519..1b65a0a4bf 100644 --- a/addons/captives/CfgWeapons.hpp +++ b/addons/captives/CfgWeapons.hpp @@ -5,8 +5,8 @@ class CfgWeapons { class ACE_CableTie: ACE_ItemCore { displayName = CSTRING(CableTie); descriptionShort = CSTRING(CableTieDescription); - model = QUOTE(PATHTOF(models\ace_cabletie.p3d)); - picture = QUOTE(PATHTOF(UI\ace_cabletie_ca.paa)); + model = QPATHTOF(models\ace_cabletie.p3d); + picture = QPATHTOF(UI\ace_cabletie_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 1; diff --git a/addons/cargo/CfgVehicles.hpp b/addons/cargo/CfgVehicles.hpp index dfeab3b017..008762653f 100644 --- a/addons/cargo/CfgVehicles.hpp +++ b/addons/cargo/CfgVehicles.hpp @@ -10,7 +10,7 @@ class CfgVehicles { class ACE_moduleCargoSettings: ACE_Module { scope = 2; displayName = CSTRING(SettingsModule_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Cargo_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Cargo_ca.paa); category = "ACE_Logistics"; function = QFUNC(moduleSettings); functionPriority = 1; @@ -36,7 +36,7 @@ class CfgVehicles { class GVAR(makeLoadable): ACE_Module { scope = 2; displayName = CSTRING(makeLoadable_displayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_makeLoadable_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_makeLoadable_ca.paa); category = "ACE_Logistics"; function = QFUNC(moduleMakeLoadable); isGlobal = 1; diff --git a/addons/cargo/functions/fnc_initObject.sqf b/addons/cargo/functions/fnc_initObject.sqf index dc8db802e5..f740d0e371 100644 --- a/addons/cargo/functions/fnc_initObject.sqf +++ b/addons/cargo/functions/fnc_initObject.sqf @@ -39,7 +39,7 @@ private _statement = { [_player, _target] call FUNC(startLoadIn); }; private _text = localize LSTRING(loadObject); -private _icon = QUOTE(PATHTOF(UI\Icon_load.paa)); +private _icon = QPATHTOF(UI\Icon_load.paa); private _action = [QGVAR(load), _text, _icon, _statement, _condition] call EFUNC(interact_menu,createAction); [_type, 0, ["ACE_MainActions"], _action] call EFUNC(interact_menu,addActionToClass); diff --git a/addons/common/CfgUnitInsignia.hpp b/addons/common/CfgUnitInsignia.hpp index c1cd541e9c..337baa4235 100644 --- a/addons/common/CfgUnitInsignia.hpp +++ b/addons/common/CfgUnitInsignia.hpp @@ -3,13 +3,13 @@ class CfgUnitInsignia { class ACE_insignia_logo { displayName = "ACE3"; author = CSTRING(ACETeam); - texture = PATHTOF(data\Insignia_ace3logo_ca.paa); + texture = QPATHTOF(data\Insignia_ace3logo_ca.paa); textureVehicle = ""; }; class ACE_insignia_banana { displayName = "ABE3"; author = CSTRING(ACETeam); - texture = PATHTOF(data\insignia_banana_ca.paa); + texture = QPATHTOF(data\insignia_banana_ca.paa); textureVehicle = ""; }; }; diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index de1f7f7cf4..1e958027be 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -36,7 +36,7 @@ class CfgVehicles { scope = 2; isGlobal = 1; isSingular = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_CheckPBO_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_CheckPBO_ca.paa); class Arguments { class Action { displayName = CSTRING(CheckPBO_Action_DisplayName); @@ -82,7 +82,7 @@ class CfgVehicles { displayName = CSTRING(LSDVehicles_DisplayName); function = "ACE_Common_fnc_moduleLSDVehicles"; scope = 2; - icon = QUOTE(PATHTOF(UI\Icon_Module_LSD_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_LSD_ca.paa); isGlobal = 1; class Arguments {}; class ModuleDescription: ModuleDescription { @@ -132,7 +132,7 @@ class CfgVehicles { class ACE_Headbug_Fix: Bicycle { scope = 1; side = 3; - model = PATHTOF(data\ACE_HeadBanger.p3d); + model = QPATHTOF(data\ACE_HeadBanger.p3d); //model = QPATHTO_M(ACE_HeadBanger.p3d); author = CSTRING(ACETeam); displayName = " "; diff --git a/addons/common/CfgWeapons.hpp b/addons/common/CfgWeapons.hpp index 22075e2903..488d4210c4 100644 --- a/addons/common/CfgWeapons.hpp +++ b/addons/common/CfgWeapons.hpp @@ -34,8 +34,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(bananaDisplayName); descriptionShort = CSTRING(bananaDescr); - model = PATHTOF(data\banana.p3d); - picture = PATHTOF(data\icon_banana_ca.paa); + model = QPATHTOF(data\banana.p3d); + picture = QPATHTOF(data\icon_banana_ca.paa); icon = "iconObject_circle"; mapSize = 0.034; class ItemInfo: InventoryItem_Base_F { diff --git a/addons/common/functions/fnc_deviceKeyRegisterNew.sqf b/addons/common/functions/fnc_deviceKeyRegisterNew.sqf index 416eef2c77..ce012fc3aa 100644 --- a/addons/common/functions/fnc_deviceKeyRegisterNew.sqf +++ b/addons/common/functions/fnc_deviceKeyRegisterNew.sqf @@ -13,7 +13,7 @@ * None * * Example: - * [(localize "STR_ACE_microdagr_itemName"), QUOTE(PATHTOF(images\microDAGR_item.paa)), _conditionCode, _toggleCode, _closeCode] call ace_common_fnc_deviceKeyRegisterNew + * [(localize "STR_ACE_microdagr_itemName"), QPATHTOF(images\microDAGR_item.paa), _conditionCode, _toggleCode, _closeCode] call ace_common_fnc_deviceKeyRegisterNew * * Public: No */ diff --git a/addons/common/functions/fnc_displayIcon.sqf b/addons/common/functions/fnc_displayIcon.sqf index c51b3bd454..1552bc8bc5 100644 --- a/addons/common/functions/fnc_displayIcon.sqf +++ b/addons/common/functions/fnc_displayIcon.sqf @@ -14,7 +14,7 @@ * None * * Example: - * ["myID", true, QUOTE(PATHTOF(data\icon_group.paa)), [1,1,1,1], 0] call ace_gui_fnc_displayIcon; + * ["myID", true, QPATHTOF(data\icon_group.paa), [1,1,1,1], 0] call ace_gui_fnc_displayIcon; * * Public: Yes */ diff --git a/addons/common/init_versionTooltip.sqf b/addons/common/init_versionTooltip.sqf index 7aef3f4786..ce0d005a14 100644 --- a/addons/common/init_versionTooltip.sqf +++ b/addons/common/init_versionTooltip.sqf @@ -30,7 +30,7 @@ _display setVariable [QGVAR(versionTooltip), [_display] spawn { _ctrl ctrlCommit 0; // pls ignore - _ctrl ctrlSetText QUOTE(PATHTOF(data\icon_banana_ca.paa)); + _ctrl ctrlSetText QPATHTOF(data\icon_banana_ca.paa); // animate with random speed _position set [1, 1 - safezoneY]; diff --git a/addons/concertina_wire/CfgVehicles.hpp b/addons/concertina_wire/CfgVehicles.hpp index dd18c07209..01f128bbea 100644 --- a/addons/concertina_wire/CfgVehicles.hpp +++ b/addons/concertina_wire/CfgVehicles.hpp @@ -10,7 +10,7 @@ class CfgVehicles { scope = 1; displayName = ""; - model = PATHTOF(data\ACE_ConcertinaWireNoGeo.p3d); + model = QPATHTOF(data\ACE_ConcertinaWireNoGeo.p3d); destrType = "DestructTent"; accuracy = 0.3; mapSize = 2.8; @@ -75,7 +75,7 @@ class CfgVehicles { class ACE_ConcertinaWire: ACE_ConcertinaWireNoGeo { scope = 2; displayName = $STR_ACE_CONCERTINA_WIRE; - model = PATHTOF(data\ACE_ConcertinaWire.p3d); + model = QPATHTOF(data\ACE_ConcertinaWire.p3d); EGVAR(logistics_wirecutter,isFence) = 1; class ACE_Actions { class ACE_MainActions { @@ -91,7 +91,7 @@ class CfgVehicles { showDisabled = 0; exceptions[] = {}; priority = 5; - icon = PATHTOF(UI\icon_sandbag_ca.paa); + icon = QPATHTOF(UI\icon_sandbag_ca.paa); }; }; }; @@ -105,7 +105,7 @@ class CfgVehicles { scope = 2; displayName = $STR_ACE_CONCERTINA_WIRECOIL; - model = PATHTOF(data\ACE_ConcertinaWireCoil.p3d); + model = QPATHTOF(data\ACE_ConcertinaWireCoil.p3d); mapsize = 0.5; animated = 0; nameSound = "fence"; @@ -138,7 +138,7 @@ class CfgVehicles { showDisabled = 0; exceptions[] = {}; priority = 5; - icon = PATHTOF(UI\icon_sandbag_ca.paa); + icon = QPATHTOF(UI\icon_sandbag_ca.paa); }; }; }; diff --git a/addons/dagr/CfgVehicles.hpp b/addons/dagr/CfgVehicles.hpp index 7f0a7f6cff..89bfd8af4e 100644 --- a/addons/dagr/CfgVehicles.hpp +++ b/addons/dagr/CfgVehicles.hpp @@ -9,7 +9,7 @@ class CfgVehicles { statement = QUOTE(call FUNC(menuInit)); showDisabled = 0; priority = 0.1; - icon = QUOTE(PATHTOF(UI\DAGR_Icon.paa)); + icon = QPATHTOF(UI\DAGR_Icon.paa); exceptions[] = {"isNotInside", "isNotSitting"}; class GVAR(toggle) { displayName = CSTRING(ToggleDAGR); @@ -17,7 +17,7 @@ class CfgVehicles { statement = QUOTE(call FUNC(toggleOverlay)); showDisabled = 0; priority = 0.2; - icon = QUOTE(PATHTOF(UI\DAGR_Icon.paa)); + icon = QPATHTOF(UI\DAGR_Icon.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; }; }; diff --git a/addons/dagr/CfgWeapons.hpp b/addons/dagr/CfgWeapons.hpp index 9fcd903cdd..b6601e094c 100644 --- a/addons/dagr/CfgWeapons.hpp +++ b/addons/dagr/CfgWeapons.hpp @@ -7,9 +7,9 @@ class CfgWeapons { author[] = {$STR_ACE_Common_ACETeam, "Ruthberg"}; scope = 2; displayName = CSTRING(Name); - model = QUOTE(PATHTOF(data\DAGR.p3d)); + model = QPATHTOF(data\DAGR.p3d); descriptionShort = CSTRING(Description); - picture = PATHTOF(UI\DAGR_Icon.paa); + picture = QPATHTOF(UI\DAGR_Icon.paa); icon = "iconObject_circle"; mapSize = 0.034; class ItemInfo: InventoryItem_Base_F { diff --git a/addons/dagr/Dialog.hpp b/addons/dagr/Dialog.hpp index 8511829e5e..52e3a8f683 100644 --- a/addons/dagr/Dialog.hpp +++ b/addons/dagr/Dialog.hpp @@ -156,7 +156,7 @@ class DAGR_Menu { idc = 266861; x = 0.175; y = -0.173; - text = QUOTE(PATHTOF(UI\dagr_menu.paa)); + text = QPATHTOF(UI\dagr_menu.paa); sizeEx = 0.1; }; diff --git a/addons/dagr/functions/fnc_menuInit.sqf b/addons/dagr/functions/fnc_menuInit.sqf index e4fb341537..59a77909b4 100644 --- a/addons/dagr/functions/fnc_menuInit.sqf +++ b/addons/dagr/functions/fnc_menuInit.sqf @@ -179,7 +179,7 @@ GVAR(menuRun) = true; (__dsp displayCtrl __Option2) ctrlSetText "WP LIST"; (__dsp displayCtrl __Option3) ctrlSetText "CONNECT TO"; (__dsp displayCtrl __Option4) ctrlSetText "OPTIONS"; - (__dsp displayCtrl (__Selection0 + GVAR(selection))) ctrlSetText QUOTE(PATHTOF(UI\DAGR_Selection.paa)); + (__dsp displayCtrl (__Selection0 + GVAR(selection))) ctrlSetText QPATHTOF(UI\DAGR_Selection.paa); }; }; case "goto_wp": { @@ -190,7 +190,7 @@ GVAR(menuRun) = true; (__dsp displayCtrl __Option3) ctrlSetText GVAR(wpString3); (__dsp displayCtrl __Option4) ctrlSetText GVAR(wpString4); if (GVAR(numSelections) > 0) then { - (__dsp displayCtrl (__Selection0 + GVAR(selection))) ctrlSetText QUOTE(PATHTOF(UI\DAGR_Selection.paa)); + (__dsp displayCtrl (__Selection0 + GVAR(selection))) ctrlSetText QPATHTOF(UI\DAGR_Selection.paa); }; }; if (GVAR(SEL)) then { @@ -238,7 +238,7 @@ GVAR(menuRun) = true; (__dsp displayCtrl __F2) ctrlSetText "Edit"; (__dsp displayCtrl __F3) ctrlSetText "Delete"; if (GVAR(numSelections) > 0) then { - (__dsp displayCtrl (__Selection0 + GVAR(selection))) ctrlSetText QUOTE(PATHTOF(UI\DAGR_Selection.paa)); + (__dsp displayCtrl (__Selection0 + GVAR(selection))) ctrlSetText QPATHTOF(UI\DAGR_Selection.paa); }; }; if (GVAR(F3) && GVAR(numWaypoints) > 0) then { @@ -399,7 +399,7 @@ GVAR(menuRun) = true; (__dsp displayCtrl __F3) ctrlSetText "Cancel"; GVAR(output) = str GVAR(digit1) + str GVAR(digit2) + str GVAR(digit3) + str GVAR(digit4) + str GVAR(digit5) + str GVAR(digit6) + str GVAR(digit7) + str GVAR(digit8); (__dsp displayCtrl __mainText) ctrlSetText GVAR(output); - (__dsp displayCtrl __PSelection1 + GVAR(pointer)) ctrlSetText QUOTE(PATHTOF(UI\DAGR_PSelection.paa)); + (__dsp displayCtrl __PSelection1 + GVAR(pointer)) ctrlSetText QPATHTOF(UI\DAGR_PSelection.paa); }; if (GVAR(F1)) then { if (!GVAR(busy)) then { @@ -507,7 +507,7 @@ GVAR(menuRun) = true; case "connect": { if (!GVAR(busy)) then { (__dsp displayCtrl __Option0) ctrlSetText "Vector 21"; - (__dsp displayCtrl __Selection0) ctrlSetText QUOTE(PATHTOF(UI\DAGR_Selection.paa)); + (__dsp displayCtrl __Selection0) ctrlSetText QPATHTOF(UI\DAGR_Selection.paa); }; if (GVAR(SEL)) then { if (!GVAR(busy)) then { @@ -542,7 +542,7 @@ GVAR(menuRun) = true; case "options": { (__dsp displayCtrl __Option0) ctrlSetText "Signal Delay"; (__dsp displayCtrl __Option1) ctrlSetText (if (GVAR(useDegrees)) then { "Direction: Deg" } else { "Direction: MIL" }); - (__dsp displayCtrl (__Selection0 + GVAR(selection))) ctrlSetText QUOTE(PATHTOF(UI\DAGR_Selection.paa)); + (__dsp displayCtrl (__Selection0 + GVAR(selection))) ctrlSetText QPATHTOF(UI\DAGR_Selection.paa); if (GVAR(SEL)) then { GVAR(vectorConnected) = false; switch (GVAR(selection)) do { diff --git a/addons/dagr/functions/fnc_outputData.sqf b/addons/dagr/functions/fnc_outputData.sqf index 63350c71a3..a981514e54 100644 --- a/addons/dagr/functions/fnc_outputData.sqf +++ b/addons/dagr/functions/fnc_outputData.sqf @@ -25,7 +25,7 @@ #define __timeControl (__display displayCtrl 266855) #define __background (__display displayCtrl 266856) -__background ctrlSetText QUOTE(PATHTOF(UI\dagr_gps.paa)); +__background ctrlSetText QPATHTOF(UI\dagr_gps.paa); if (GVAR(outputPFH) != -1) exitWith {}; diff --git a/addons/dagr/functions/fnc_outputVector.sqf b/addons/dagr/functions/fnc_outputVector.sqf index ef93a53d8a..23996c46b4 100644 --- a/addons/dagr/functions/fnc_outputVector.sqf +++ b/addons/dagr/functions/fnc_outputVector.sqf @@ -27,7 +27,7 @@ private ["_xGrid", "_yGrid", "_dagrGrid", "_bearing", "_dagrDist", "_dagrElevati #define __timeControl (__display displayCtrl 266855) #define __background (__display displayCtrl 266856) -__background ctrlSetText QUOTE(PATHTOF(UI\dagr_vector.paa)); +__background ctrlSetText QPATHTOF(UI\dagr_vector.paa); if (GVAR(noVectorData)) exitWith {}; GVAR(LAZPOS) params ["_lazPosX", "_lazPosY", "_lazPosZ"]; diff --git a/addons/dagr/functions/fnc_outputWP.sqf b/addons/dagr/functions/fnc_outputWP.sqf index 204a5ef556..2d1aee4d4e 100644 --- a/addons/dagr/functions/fnc_outputWP.sqf +++ b/addons/dagr/functions/fnc_outputWP.sqf @@ -25,7 +25,7 @@ #define __timeControl (__display displayCtrl 266859) #define __background (__display displayCtrl 266856) -__background ctrlSetText QUOTE(PATHTOF(UI\dagr_wp.paa)); +__background ctrlSetText QPATHTOF(UI\dagr_wp.paa); if (GVAR(outputPFH) != -1) exitWith {}; diff --git a/addons/dagr/initKeybinds.sqf b/addons/dagr/initKeybinds.sqf index 66bd08190e..c233eaff6a 100644 --- a/addons/dagr/initKeybinds.sqf +++ b/addons/dagr/initKeybinds.sqf @@ -56,4 +56,4 @@ _closeCode = { closeDialog 0; }; }; -["DAGR", QUOTE(PATHTOF(UI\DAGR_Icon.paa)), _conditonCode, _toggleCode, _closeCode] call EFUNC(common,deviceKeyRegisterNew); +["DAGR", QPATHTOF(UI\DAGR_Icon.paa), _conditonCode, _toggleCode, _closeCode] call EFUNC(common,deviceKeyRegisterNew); diff --git a/addons/disarming/CfgVehicles.hpp b/addons/disarming/CfgVehicles.hpp index b4a1a4c7dd..1d04bb157c 100644 --- a/addons/disarming/CfgVehicles.hpp +++ b/addons/disarming/CfgVehicles.hpp @@ -8,7 +8,7 @@ class CfgVehicles { distance = 3.5; condition = QUOTE([ARR_2(_player,_target)] call FUNC(canPlayerDisarmUnit)); statement = QUOTE([ARR_2(_player,_target)] call FUNC(openDisarmDialog)); - icon = PATHTOF(UI\disarm.paa); + icon = QPATHTOF(UI\disarm.paa); exceptions[] = {}; }; }; diff --git a/addons/disarming/CfgWeapons.hpp b/addons/disarming/CfgWeapons.hpp index 404ef4aa76..4e7122ba41 100644 --- a/addons/disarming/CfgWeapons.hpp +++ b/addons/disarming/CfgWeapons.hpp @@ -5,7 +5,7 @@ class CfgWeapons { class ACE_DebugPotato: ACE_ItemCore { displayName = "ACE Potato (debug)"; descriptionShort = "Glorious Potato
If you see this in game it means someone fucked up"; - picture = QUOTE(PATHTOF(UI\potato_ca.paa)); + picture = QPATHTOF(UI\potato_ca.paa); scope = 1; class ItemInfo: InventoryItem_Base_F { mass = 1; diff --git a/addons/disposable/CfgMagazines.hpp b/addons/disposable/CfgMagazines.hpp index d26d5ecea2..d9ad0508db 100644 --- a/addons/disposable/CfgMagazines.hpp +++ b/addons/disposable/CfgMagazines.hpp @@ -5,7 +5,7 @@ class CfgMagazines { scope = 1; scopeArsenal = 1; displayName = CSTRING(PreloadedMissileDummy); - picture = PATHTOEF(common,UI\blank_CO.paa); + picture = QPATHTOEF(common,UI\blank_CO.paa); weaponPoolAvailable = 0; mass = 0; }; diff --git a/addons/explosives/ACE_Triggers.hpp b/addons/explosives/ACE_Triggers.hpp index 280906432f..145ae0804e 100644 --- a/addons/explosives/ACE_Triggers.hpp +++ b/addons/explosives/ACE_Triggers.hpp @@ -11,52 +11,52 @@ onSetup parameters: class Command { isAttachable = 1; displayName = CSTRING(clacker_displayName); - picture = PATHTOF(Data\UI\Clacker.paa); + picture = QPATHTOF(Data\UI\Clacker.paa); onPlace = QUOTE(_this call FUNC(AddClacker);false); requires[] = {"ACE_Clacker"}; }; class MK16_Transmitter: Command { isAttachable = 1; displayName = CSTRING(M152_displayName); - picture = PATHTOF(Data\UI\MK16_Reciever_ca.paa); + picture = QPATHTOF(Data\UI\MK16_Reciever_ca.paa); requires[] = {"ACE_M26_Clacker"}; }; class DeadManSwitch: Command { isAttachable = 1; displayName = CSTRING(DeadManSwitch_displayName); - picture = PATHTOF(Data\UI\DeadmanSwitch.paa); + picture = QPATHTOF(Data\UI\DeadmanSwitch.paa); requires[] = {"ACE_DeadManSwitch"}; }; class Cellphone: Command { isAttachable = 1; displayName = CSTRING(cellphone_displayName); - picture = PATHTOF(Data\UI\Cellphone_UI.paa); + picture = QPATHTOF(Data\UI\Cellphone_UI.paa); onPlace = QUOTE(_this call FUNC(addCellphoneIED);false); requires[] = {"ACE_Cellphone"}; }; class PressurePlate { isAttachable = 0; displayName = CSTRING(PressurePlate); - picture = PATHTOF(Data\UI\PressurePlate.paa); + picture = QPATHTOF(Data\UI\PressurePlate.paa); onPlace = QUOTE(false); }; class IRSensor { isAttachable = 0; displayName = CSTRING(IRSensor); - picture = PATHTOF(Data\UI\PressurePlate.paa); + picture = QPATHTOF(Data\UI\PressurePlate.paa); onPlace = "false"; }; class Timer { isAttachable = 1; displayName = CSTRING(timerName); - picture = PATHTOF(data\UI\Timer.paa); + picture = QPATHTOF(data\UI\Timer.paa); onPlace = QUOTE([ARR_2(_this select 1,(_this select 3) select 0)] call FUNC(startTimer);false); onSetup = QUOTE(_this call FUNC(openTimerSetUI);true); }; class Tripwire { isAttachable = 0; displayName = CSTRING(TripWire); - picture = PATHTOF(Data\UI\Tripwire.paa); + picture = QPATHTOF(Data\UI\Tripwire.paa); onPlace = "false"; }; }; diff --git a/addons/explosives/CfgModule.hpp b/addons/explosives/CfgModule.hpp index b651903f59..075bb87325 100644 --- a/addons/explosives/CfgModule.hpp +++ b/addons/explosives/CfgModule.hpp @@ -7,7 +7,7 @@ class ACE_ModuleExplosive: ACE_Module { scope = 2; isGlobal = 1; isSingular = 1; - icon = PATHTOF(UI\Icon_Module_Explosives_ca.paa); + icon = QPATHTOF(UI\Icon_Module_Explosives_ca.paa); class Arguments { class RequireSpecialist { displayName = CSTRING(RequireSpecialist_DisplayName); diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index 5f81bde127..fb724e830a 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -12,7 +12,7 @@ class CfgVehicles { exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"}; showDisabled = 1; priority = 4; - icon = PATHTOF(UI\Explosives_Menu_ca.paa); + icon = QPATHTOF(UI\Explosives_Menu_ca.paa); insertChildren = QUOTE([_player] call FUNC(addTransmitterActions);); //Sub-menu items class ACE_Place { @@ -22,7 +22,7 @@ class CfgVehicles { insertChildren = QUOTE([_player] call FUNC(addExplosiveActions);); exceptions[] = {"isNotSwimming"}; showDisabled = 1; - icon = PATHTOF(UI\Place_Explosive_ca.paa); + icon = QPATHTOF(UI\Place_Explosive_ca.paa); priority = 1; }; class ACE_Cellphone { @@ -31,7 +31,7 @@ class CfgVehicles { statement = "closeDialog 0;createDialog 'Rsc_ACE_PhoneInterface';"; exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"}; showDisabled = 0; - icon = PATHTOF(Data\UI\Cellphone_UI.paa); + icon = QPATHTOF(Data\UI\Cellphone_UI.paa); priority = 0.8; }; }; @@ -64,7 +64,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse);); exceptions[] = {"isNotSwimming"}; showDisabled = 0; - icon = PATHTOF(UI\Defuse_ca.paa); + icon = QPATHTOF(UI\Defuse_ca.paa); priority = 0.8; }; }; @@ -98,7 +98,7 @@ class CfgVehicles { showDisabled = 0; exceptions[] = {"isNotSwimming"}; priority = 5; - icon = QUOTE(PATHTOF(UI\Explosives_Menu_ca.paa)); + icon = QPATHTOF(UI\Explosives_Menu_ca.paa); }; class ACE_PickUp { selection = ""; diff --git a/addons/explosives/CfgWeapons.hpp b/addons/explosives/CfgWeapons.hpp index cd900b2da3..a3f3b32d4c 100644 --- a/addons/explosives/CfgWeapons.hpp +++ b/addons/explosives/CfgWeapons.hpp @@ -11,8 +11,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(clacker_displayName); descriptionShort = CSTRING(clacker_description); - picture = PATHTOF(Data\UI\Clacker.paa); - model = QUOTE(PATHTOF(data\ace_m57.p3d)); + picture = QPATHTOF(Data\UI\Clacker.paa); + model = QPATHTOF(data\ace_m57.p3d); GVAR(Range) = 250; GVAR(Detonator) = 1; GVAR(triggerType) = "Command"; @@ -24,7 +24,7 @@ class CfgWeapons { }; class ACE_M26_Clacker: ACE_Clacker { displayName = CSTRING(M152_Clacker_displayName); - picture = PATHTOF(Data\UI\MK26_Transmitter_ca.paa); + picture = QPATHTOF(Data\UI\MK26_Transmitter_ca.paa); GVAR(Range) = 5000; GVAR(triggerType) = "MK16_Transmitter"; }; @@ -32,7 +32,7 @@ class CfgWeapons { scope = 2; displayName = CSTRING(DefusalKit_displayName); descriptionShort = CSTRING(DefusalKit_description); - picture = PATHTOF(Data\UI\Pliers.paa); + picture = QPATHTOF(Data\UI\Pliers.paa); model = "\A3\Structures_F\Items\Tools\Pliers_F.p3d"; class ItemInfo: ACE_ExplosiveItem { @@ -44,7 +44,7 @@ class CfgWeapons { scope = 2; displayName = CSTRING(DeadManSwitch_displayName); descriptionShort = CSTRING(DeadManSwitch_description); - picture = PATHTOF(Data\UI\DeadmanSwitch.paa); + picture = QPATHTOF(Data\UI\DeadmanSwitch.paa); model = "\A3\weapons_F\ammo\mag_univ.p3d"; GVAR(Range) = 100; GVAR(Detonator) = 1; @@ -59,7 +59,7 @@ class CfgWeapons { scope = 2; displayName = CSTRING(cellphone_displayName); descriptionShort = CSTRING(cellphone_description); - picture = PATHTOF(Data\UI\Cellphone_UI.paa); + picture = QPATHTOF(Data\UI\Cellphone_UI.paa); model = "\A3\weapons_F\ammo\mag_univ.p3d"; GVAR(Range) = 15000; GVAR(Detonator) = 1; diff --git a/addons/explosives/ExplosivesUI.hpp b/addons/explosives/ExplosivesUI.hpp index 45582a8564..cf97794d8f 100644 --- a/addons/explosives/ExplosivesUI.hpp +++ b/addons/explosives/ExplosivesUI.hpp @@ -113,7 +113,7 @@ class Rsc_ACE_PhoneInterface { class controls { class RscPicture_1200: RscPicture { idc = 1200; - text = PATHTOF(Data\UI\Cellphone_Background.paa); + text = QPATHTOF(Data\UI\Cellphone_Background.paa); x = 0.231875 * safezoneW + safezoneX; y = 0.104 * safezoneH + safezoneY; w = 0.195937 * safezoneW; diff --git a/addons/fastroping/CfgMoves.hpp b/addons/fastroping/CfgMoves.hpp index 94f3fe51f0..b978539432 100644 --- a/addons/fastroping/CfgMoves.hpp +++ b/addons/fastroping/CfgMoves.hpp @@ -9,7 +9,7 @@ class CfgMovesMaleSdr: CfgMovesBasic { class States { class Crew; class ACE_FastRoping: Crew { - file = QUOTE(PATHTOF(anim\fastroping.rtm)); + file = QPATHTOF(anim\fastroping.rtm); interpolateTo[] = {"Unconscious", 1}; disableWeapons = 1; disableWeaponsLong = 1; diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index a9f5ebfbad..5bced23b49 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -20,7 +20,7 @@ class CfgVehicles { class ACE_moduleEquipFRIES: ACE_Module { scope = 2; displayName = CSTRING(Module_FRIES_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_FRIES_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_FRIES_ca.paa); category = "ACE"; function = QUOTE(FUNC(moduleEquipFRIES)); functionPriority = 10; @@ -77,7 +77,7 @@ class CfgVehicles { class ACE_friesAnchorBar: ACE_friesBase { author = "jokoho48"; scope = 1; - model = QUOTE(PATHTOF(data\friesAnchorBar.p3d)); + model = QPATHTOF(data\friesAnchorBar.p3d); animated = 1; class AnimationSources { class extendHookRight { @@ -95,7 +95,7 @@ class CfgVehicles { class ACE_friesGantry: ACE_friesBase { author = "jokoho48"; scope = 1; - model = QUOTE(PATHTOF(data\friesGantry.p3d)); + model = QPATHTOF(data\friesGantry.p3d); animated = 1; class AnimationSources { class adjustWidth { @@ -148,7 +148,7 @@ class CfgVehicles { class GVAR(helper): Helicopter_Base_F { author = "KoffeinFlummi"; scope = 1; - model = PATHTOF(data\helper.p3d); + model = QPATHTOF(data\helper.p3d); class ACE_Actions {}; class Turrets {}; }; diff --git a/addons/fastroping/CfgWaypoints.hpp b/addons/fastroping/CfgWaypoints.hpp index 4c4da2a7cb..f3303c28ff 100644 --- a/addons/fastroping/CfgWaypoints.hpp +++ b/addons/fastroping/CfgWaypoints.hpp @@ -4,8 +4,8 @@ class CfgWaypoints { class Fastrope { displayName = CSTRING(Waypoint_Fastrope); displayNameDebug = "Fastrope"; - file = QUOTE(PATHTOF(functions\fnc_deployAIWaypoint.sqf)); - icon = QUOTE(PATHTOF(UI\Icon_Waypoint.paa)); + file = QPATHTOF(functions\fnc_deployAIWaypoint.sqf); + icon = QPATHTOF(UI\Icon_Waypoint.paa); }; }; }; diff --git a/addons/finger/CfgVehicles.hpp b/addons/finger/CfgVehicles.hpp index 74229968e4..8125e7f2f5 100644 --- a/addons/finger/CfgVehicles.hpp +++ b/addons/finger/CfgVehicles.hpp @@ -4,7 +4,7 @@ class CfgVehicles { scope = 2; category = "ACE"; displayName = CSTRING(moduleSettings_displayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_finger_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_finger_ca.paa); function = QFUNC(moduleSettings); isGlobal = 0; isSingular = 1; diff --git a/addons/finger/functions/fnc_perFrameEH.sqf b/addons/finger/functions/fnc_perFrameEH.sqf index 61c8f077ab..e8a1035583 100644 --- a/addons/finger/functions/fnc_perFrameEH.sqf +++ b/addons/finger/functions/fnc_perFrameEH.sqf @@ -41,7 +41,7 @@ _iconSize = BASE_SIZE * _fovCorrection; _drawColor set [3, ((_drawColor select 3) * (_timeLeftToShow / 0.5))]; }; - drawIcon3D [QUOTE(PATHTOF(UI\fp_icon2.paa)), _drawColor, _pos, _iconSize, _iconSize, 0, _name, 1, 0.03, "RobotoCondensed"]; + drawIcon3D [QPATHTOF(UI\fp_icon2.paa), _drawColor, _pos, _iconSize, _iconSize, 0, _name, 1, 0.03, "RobotoCondensed"]; }; } count (GVAR(fingersHash) select 0); diff --git a/addons/flashlights/CfgWeapons.hpp b/addons/flashlights/CfgWeapons.hpp index 09fe70d764..84edac6c85 100644 --- a/addons/flashlights/CfgWeapons.hpp +++ b/addons/flashlights/CfgWeapons.hpp @@ -17,8 +17,8 @@ class CfgWeapons { class ACE_Flashlight_MX991: ACE_ItemCore { displayName = CSTRING(MX991_DisplayName); descriptionShort = CSTRING(MX991_Description); - model = QUOTE(PATHTOF(data\MX_991.p3d)); - picture = PATHTOF(UI\mx991_ca.paa); + model = QPATHTOF(data\MX_991.p3d); + picture = QPATHTOF(UI\mx991_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 1; @@ -32,8 +32,8 @@ class CfgWeapons { class ACE_Flashlight_KSF1: ACE_ItemCore { displayName = CSTRING(KSF1_DisplayName); descriptionShort = CSTRING(KSF1_Description); - model = QUOTE(PATHTOF(data\KSF_1.p3d)); - picture = PATHTOF(UI\ksf1_ca.paa); + model = QPATHTOF(data\KSF_1.p3d); + picture = QPATHTOF(UI\ksf1_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 1; @@ -47,8 +47,8 @@ class CfgWeapons { class ACE_Flashlight_XL50: ACE_ItemCore { displayName = CSTRING(XL50_DisplayName); descriptionShort = CSTRING(XL50_Description); - model = QUOTE(PATHTOF(data\Maglight.p3d)); - picture = PATHTOF(UI\xl50_ca.paa); + model = QPATHTOF(data\Maglight.p3d); + picture = QPATHTOF(UI\xl50_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 1; diff --git a/addons/fonts/CfgFontFamilies.hpp b/addons/fonts/CfgFontFamilies.hpp index 963a35fa8e..80c8114624 100644 --- a/addons/fonts/CfgFontFamilies.hpp +++ b/addons/fonts/CfgFontFamilies.hpp @@ -2,38 +2,38 @@ class CfgFontFamilies { class PixelSplitterBold { - fonts[] = { PATHTOF(PixelSplitterBold\PixelSplitterBold6), - PATHTOF(PixelSplitterBold\PixelSplitterBold7), - PATHTOF(PixelSplitterBold\PixelSplitterBold8), - PATHTOF(PixelSplitterBold\PixelSplitterBold9), - PATHTOF(PixelSplitterBold\PixelSplitterBold10), - PATHTOF(PixelSplitterBold\PixelSplitterBold11), - PATHTOF(PixelSplitterBold\PixelSplitterBold12), - PATHTOF(PixelSplitterBold\PixelSplitterBold13), - PATHTOF(PixelSplitterBold\PixelSplitterBold14), - PATHTOF(PixelSplitterBold\PixelSplitterBold15), - PATHTOF(PixelSplitterBold\PixelSplitterBold16), - PATHTOF(PixelSplitterBold\PixelSplitterBold17), - PATHTOF(PixelSplitterBold\PixelSplitterBold18), - PATHTOF(PixelSplitterBold\PixelSplitterBold19), - PATHTOF(PixelSplitterBold\PixelSplitterBold20), - PATHTOF(PixelSplitterBold\PixelSplitterBold21), - PATHTOF(PixelSplitterBold\PixelSplitterBold22), - PATHTOF(PixelSplitterBold\PixelSplitterBold23), - PATHTOF(PixelSplitterBold\PixelSplitterBold24), - PATHTOF(PixelSplitterBold\PixelSplitterBold25), - PATHTOF(PixelSplitterBold\PixelSplitterBold26), - PATHTOF(PixelSplitterBold\PixelSplitterBold27), - PATHTOF(PixelSplitterBold\PixelSplitterBold28), - PATHTOF(PixelSplitterBold\PixelSplitterBold29), - PATHTOF(PixelSplitterBold\PixelSplitterBold30), - PATHTOF(PixelSplitterBold\PixelSplitterBold31), - PATHTOF(PixelSplitterBold\PixelSplitterBold34), - PATHTOF(PixelSplitterBold\PixelSplitterBold35), - PATHTOF(PixelSplitterBold\PixelSplitterBold37), - PATHTOF(PixelSplitterBold\PixelSplitterBold46) + fonts[] = { QPATHTOF(PixelSplitterBold\PixelSplitterBold6), + QPATHTOF(PixelSplitterBold\PixelSplitterBold7), + QPATHTOF(PixelSplitterBold\PixelSplitterBold8), + QPATHTOF(PixelSplitterBold\PixelSplitterBold9), + QPATHTOF(PixelSplitterBold\PixelSplitterBold10), + QPATHTOF(PixelSplitterBold\PixelSplitterBold11), + QPATHTOF(PixelSplitterBold\PixelSplitterBold12), + QPATHTOF(PixelSplitterBold\PixelSplitterBold13), + QPATHTOF(PixelSplitterBold\PixelSplitterBold14), + QPATHTOF(PixelSplitterBold\PixelSplitterBold15), + QPATHTOF(PixelSplitterBold\PixelSplitterBold16), + QPATHTOF(PixelSplitterBold\PixelSplitterBold17), + QPATHTOF(PixelSplitterBold\PixelSplitterBold18), + QPATHTOF(PixelSplitterBold\PixelSplitterBold19), + QPATHTOF(PixelSplitterBold\PixelSplitterBold20), + QPATHTOF(PixelSplitterBold\PixelSplitterBold21), + QPATHTOF(PixelSplitterBold\PixelSplitterBold22), + QPATHTOF(PixelSplitterBold\PixelSplitterBold23), + QPATHTOF(PixelSplitterBold\PixelSplitterBold24), + QPATHTOF(PixelSplitterBold\PixelSplitterBold25), + QPATHTOF(PixelSplitterBold\PixelSplitterBold26), + QPATHTOF(PixelSplitterBold\PixelSplitterBold27), + QPATHTOF(PixelSplitterBold\PixelSplitterBold28), + QPATHTOF(PixelSplitterBold\PixelSplitterBold29), + QPATHTOF(PixelSplitterBold\PixelSplitterBold30), + QPATHTOF(PixelSplitterBold\PixelSplitterBold31), + QPATHTOF(PixelSplitterBold\PixelSplitterBold34), + QPATHTOF(PixelSplitterBold\PixelSplitterBold35), + QPATHTOF(PixelSplitterBold\PixelSplitterBold37), + QPATHTOF(PixelSplitterBold\PixelSplitterBold46) }; spaceWidth = 0.5; spacing = 0.065; }; -}; \ No newline at end of file +}; diff --git a/addons/gestures/CfgVehicles.hpp b/addons/gestures/CfgVehicles.hpp index 4bf98f4978..00e04f23a4 100644 --- a/addons/gestures/CfgVehicles.hpp +++ b/addons/gestures/CfgVehicles.hpp @@ -9,7 +9,7 @@ class CfgVehicles { statement = ""; showDisabled = 1; priority = 3.5; - icon = PATHTOF(UI\gestures_ca.paa); + icon = QPATHTOF(UI\gestures_ca.paa); class GVAR(Advance) { displayName = CSTRING(Advance); diff --git a/addons/gestures/cfgMovesBasic.hpp b/addons/gestures/cfgMovesBasic.hpp index 50a835abe6..30e2d4d2dd 100644 --- a/addons/gestures/cfgMovesBasic.hpp +++ b/addons/gestures/cfgMovesBasic.hpp @@ -126,75 +126,75 @@ class CfgGesturesMale { }; class GVAR(forward): GVAR(Base) { - file = QUOTE(PATHTOF(anim\ace_forward.rtm)); + file = QPATHTOF(anim\ace_forward.rtm); speed = 1; }; class GVAR(forwardStandLowered): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_forward_stand_lowered.rtm)); + file = QPATHTOF(anim\ace_forward_stand_lowered.rtm); }; class GVAR(freeze): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_freeze.rtm)); + file = QPATHTOF(anim\ace_freeze.rtm); speed = 0.6; }; class GVAR(freezeStandLowered): GVAR(freeze) { - file = QUOTE(PATHTOF(anim\ace_freeze_stand_lowered.rtm)); + file = QPATHTOF(anim\ace_freeze_stand_lowered.rtm); }; class GVAR(cover): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_cover.rtm)); + file = QPATHTOF(anim\ace_cover.rtm); speed = 0.8; }; class GVAR(coverStandLowered): GVAR(cover) { - file = QUOTE(PATHTOF(anim\ace_cover_stand_lowered.rtm)); + file = QPATHTOF(anim\ace_cover_stand_lowered.rtm); }; class GVAR(regroup): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_regroup.rtm)); + file = QPATHTOF(anim\ace_regroup.rtm); speed = 0.8; }; class GVAR(regroupStandLowered): GVAR(regroup) { - file = QUOTE(PATHTOF(anim\ace_regroup_stand_lowered.rtm)); + file = QPATHTOF(anim\ace_regroup_stand_lowered.rtm); }; class GVAR(engage): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_engage.rtm)); + file = QPATHTOF(anim\ace_engage.rtm); speed = 0.9; }; class GVAR(engageStandLowered): GVAR(engage) { - file = QUOTE(PATHTOF(anim\ace_engage_stand_lowered.rtm)); + file = QPATHTOF(anim\ace_engage_stand_lowered.rtm); }; class GVAR(point): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_point.rtm)); + file = QPATHTOF(anim\ace_point.rtm); speed = 0.8; }; class GVAR(pointStandLowered): GVAR(point) { - file = QUOTE(PATHTOF(anim\ace_point_stand_lowered.rtm)); + file = QPATHTOF(anim\ace_point_stand_lowered.rtm); }; class GVAR(hold): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_hold.rtm)); + file = QPATHTOF(anim\ace_hold.rtm); speed = 0.8; }; class GVAR(holdStandLowered): GVAR(hold) { - file = QUOTE(PATHTOF(anim\ace_hold_stand_lowered.rtm)); + file = QPATHTOF(anim\ace_hold_stand_lowered.rtm); }; class GVAR(warning): GVAR(forward) { - file = QUOTE(PATHTOF(anim\ace_warning.rtm)); + file = QPATHTOF(anim\ace_warning.rtm); speed = 0.8; }; class GVAR(warningStandLowered): GVAR(warning) { - file = QUOTE(PATHTOF(anim\ace_warning_stand_lowered.rtm)); + file = QPATHTOF(anim\ace_warning_stand_lowered.rtm); }; }; }; diff --git a/addons/goggles/config.cpp b/addons/goggles/config.cpp index 0812200a87..7ac4048748 100644 --- a/addons/goggles/config.cpp +++ b/addons/goggles/config.cpp @@ -15,8 +15,8 @@ class CfgPatches { #include "CfgEventHandlers.hpp" -#define COMBAT_GOGGLES ACE_Overlay = QUOTE(PATHTOF(textures\HUD\CombatGoggles.paa)); \ - ACE_OverlayCracked = QUOTE(PATHTOF(textures\HUD\CombatGogglesCracked.paa)); \ +#define COMBAT_GOGGLES ACE_Overlay = QPATHTOF(textures\HUD\CombatGoggles.paa); \ + ACE_OverlayCracked = QPATHTOF(textures\HUD\CombatGogglesCracked.paa); \ ACE_Resistance = 2; \ ACE_Protection = 1; @@ -26,10 +26,10 @@ class CfgGlasses { ACE_TintAmount=0; ACE_Overlay = ""; ACE_OverlayDirt = "A3\Ui_f\data\igui\rsctitles\HealthTextures\dust_upper_ca.paa"; - ACE_OverlayCracked = QUOTE(PATHTOF(textures\HUD\Cracked.paa)); + ACE_OverlayCracked = QPATHTOF(textures\HUD\Cracked.paa); ACE_Resistance = 0; ACE_Protection = 0; - ACE_DustPath = QUOTE(PATHTOF(textures\fx\dust\%1.paa)); + ACE_DustPath = QPATHTOF(textures\fx\dust\%1.paa); }; class G_Combat:None { @@ -37,8 +37,8 @@ class CfgGlasses { }; class G_Diving { - ACE_Overlay = QUOTE(PATHTOF(textures\HUD\DivingGoggles.paa)); - ACE_OverlayCracked = QUOTE(PATHTOF(textures\HUD\DivingGogglesCracked.paa)); + ACE_Overlay = QPATHTOF(textures\HUD\DivingGoggles.paa); + ACE_OverlayCracked = QPATHTOF(textures\HUD\DivingGogglesCracked.paa); ACE_Resistance = 2; ACE_Protection = 1; }; @@ -209,7 +209,7 @@ class CfgGesturesMale { class States { class GestureFreezeStand; class GestureWipeFace: GestureFreezeStand { - file = QUOTE(PATHTOF(anim\WipeGlasses.rtm)); + file = QPATHTOF(anim\WipeGlasses.rtm); canPullTrigger = 0; }; }; diff --git a/addons/grenades/CfgAmmo.hpp b/addons/grenades/CfgAmmo.hpp index 5aa33284c8..a5971044f9 100644 --- a/addons/grenades/CfgAmmo.hpp +++ b/addons/grenades/CfgAmmo.hpp @@ -81,7 +81,7 @@ class CfgAmmo { class ACE_G_M84: SmokeShell { GVAR(flashbang) = 1; - model = PATHTOF(models\ACE_m84_thrown.p3d); + model = QPATHTOF(models\ACE_m84_thrown.p3d); dangerRadiusHit = -1; suppressionRadiusHit = 20; typicalSpeed = 22; diff --git a/addons/grenades/CfgMagazines.hpp b/addons/grenades/CfgMagazines.hpp index 16dd9929ff..d1d9127fa4 100644 --- a/addons/grenades/CfgMagazines.hpp +++ b/addons/grenades/CfgMagazines.hpp @@ -59,8 +59,8 @@ class CfgMagazines { displayname = CSTRING(M84_Name); descriptionshort = CSTRING(M84_Description); displayNameShort = "M84"; - model = PATHTOF(models\ACE_m84.p3d); - picture = PATHTOF(UI\ACE_m84_x_ca.paa); + model = QPATHTOF(models\ACE_m84.p3d); + picture = QPATHTOF(UI\ACE_m84_x_ca.paa); ammo = "ACE_G_M84"; mass = 4; }; diff --git a/addons/hearing/CfgSounds.hpp b/addons/hearing/CfgSounds.hpp index 0a1bc82ed1..6df1b39193 100644 --- a/addons/hearing/CfgSounds.hpp +++ b/addons/hearing/CfgSounds.hpp @@ -1,34 +1,34 @@ class CfgSounds { class ACE_EarRinging_Weak { - sound[] = {QUOTE(PATHTOF(sounds\ACE_earringing_weak.wav)),8,1.7}; + sound[] = {QPATHTOF(sounds\ACE_earringing_weak.wav),8,1.7}; titles[] = {}; }; class ACE_EarRinging_Medium { - sound[] = {QUOTE(PATHTOF(sounds\ACE_earringing_medium.wav)),8,1.7}; + sound[] = {QPATHTOF(sounds\ACE_earringing_medium.wav),8,1.7}; titles[] = {}; }; class ACE_EarRinging_Heavy { - sound[] = {QUOTE(PATHTOF(sounds\ACE_earringing_heavy.wav)),8,1.7}; + sound[] = {QPATHTOF(sounds\ACE_earringing_heavy.wav),8,1.7}; titles[] = {}; }; class ACE_Combat_Deafness_Heavy { - sound[] = {QUOTE(PATHTOF(sounds\deafness.ogg)),8,1}; + sound[] = {QPATHTOF(sounds\deafness.ogg),8,1}; titles[] = {}; }; class ACE_Combat_Deafness_Medium { - sound[] = {QUOTE(PATHTOF(sounds\deafness.ogg)),3,1}; + sound[] = {QPATHTOF(sounds\deafness.ogg),3,1}; titles[] = {}; }; class ACE_Combat_Deafness_Heavy_NoRing { - sound[] = {QUOTE(PATHTOF(sounds\deafness_noring.ogg)),8,1}; + sound[] = {QPATHTOF(sounds\deafness_noring.ogg),8,1}; titles[] = {}; }; class ACE_Combat_Deafness_Medium_NoRing { - sound[] = {QUOTE(PATHTOF(sounds\deafness_noring.ogg)),3,1}; + sound[] = {QPATHTOF(sounds\deafness_noring.ogg),3,1}; titles[] = {}; }; class ACE_Ring_Backblast { - sound[] = {QUOTE(PATHTOF(sounds\backblast_ring.ogg)),1,1}; + sound[] = {QPATHTOF(sounds\backblast_ring.ogg),1,1}; titles[] = {}; }; }; diff --git a/addons/hearing/CfgVehicles.hpp b/addons/hearing/CfgVehicles.hpp index 17dec1641b..760ed95a03 100644 --- a/addons/hearing/CfgVehicles.hpp +++ b/addons/hearing/CfgVehicles.hpp @@ -10,7 +10,7 @@ class CfgVehicles { statement = QUOTE( [_player] call FUNC(putInEarPlugs) ); showDisabled = 0; priority = 2.5; - icon = PATHTOF(UI\ACE_earplugs_x_ca.paa); + icon = QPATHTOF(UI\ACE_earplugs_x_ca.paa); }; class ACE_RemoveEarplugs { displayName = CSTRING(EarPlugs_Off); @@ -19,7 +19,7 @@ class CfgVehicles { statement = QUOTE( [_player] call FUNC(removeEarPlugs) ); showDisabled = 0; priority = 2.5; - icon = PATHTOF(UI\ACE_earplugs_x_ca.paa); + icon = QPATHTOF(UI\ACE_earplugs_x_ca.paa); }; }; }; @@ -100,7 +100,7 @@ class CfgVehicles { scope = 2; isGlobal = 1; isSingular = 1; - icon = PATHTOF(UI\Icon_Module_Hearing_ca.paa); + icon = QPATHTOF(UI\Icon_Module_Hearing_ca.paa); class Arguments { class EnableCombatDeafness { displayName = CSTRING(EnableCombatDeafness_DisplayName); diff --git a/addons/hearing/CfgWeapons.hpp b/addons/hearing/CfgWeapons.hpp index af7b7d4cb3..c063c0e896 100644 --- a/addons/hearing/CfgWeapons.hpp +++ b/addons/hearing/CfgWeapons.hpp @@ -5,8 +5,8 @@ class CfgWeapons { class ACE_EarPlugs: ACE_ItemCore { displayName = CSTRING(EarPlugs_Name); descriptionShort = CSTRING(EarPlugs_Description); - model = QUOTE(PATHTOF(data\ace_earplugs.p3d)); - picture = PATHTOF(UI\ACE_earplugs_x_ca.paa); + model = QPATHTOF(data\ace_earplugs.p3d); + picture = QPATHTOF(UI\ACE_earplugs_x_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 1; diff --git a/addons/huntir/CfgAmmo.hpp b/addons/huntir/CfgAmmo.hpp index 86f73e9755..e822e76389 100644 --- a/addons/huntir/CfgAmmo.hpp +++ b/addons/huntir/CfgAmmo.hpp @@ -1,7 +1,7 @@ class CfgAmmo { class FlareBase; class F_HuntIR: FlareBase { - model = PATHTOF(data\ace_m1070_armed.p3d); + model = QPATHTOF(data\ace_m1070_armed.p3d); lightColor[] = {0, 0, 0, 0}; smokeColor[] = {0, 0, 0, 0}; timeToLive = 6; diff --git a/addons/huntir/CfgMagazines.hpp b/addons/huntir/CfgMagazines.hpp index c11f81a98c..62ae785333 100644 --- a/addons/huntir/CfgMagazines.hpp +++ b/addons/huntir/CfgMagazines.hpp @@ -5,7 +5,7 @@ class CfgMagazines { displayName = CSTRING(magazine_displayName); displayNameShort = "HuntIR"; descriptionShort = ""; - picture = PATHTOF(data\m_m1070_ca.paa); + picture = QPATHTOF(data\m_m1070_ca.paa); ammo = "F_HuntIR"; }; }; diff --git a/addons/huntir/CfgVehicles.hpp b/addons/huntir/CfgVehicles.hpp index 3b6486aaf7..cd5054a2da 100644 --- a/addons/huntir/CfgVehicles.hpp +++ b/addons/huntir/CfgVehicles.hpp @@ -10,7 +10,7 @@ class CfgVehicles { statement = QUOTE(call FUNC(huntir)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\w_huntir_monitor_ca.paa); + icon = QPATHTOF(UI\w_huntir_monitor_ca.paa); exceptions[] = {}; }; }; @@ -23,7 +23,7 @@ class CfgVehicles { castDriverShadow = 0; destrType = "DestructDefault"; displayName = "HuntIR"; - model = PATHTOF(data\huntir.p3d); + model = QPATHTOF(data\huntir.p3d); scope = 1; soundCrash[] = {"", db-30, 1 }; soundEnviron[] = {"z\ace\addons\apl\sounds\padak_let", 0.316228, 1, 80}; @@ -73,7 +73,7 @@ class CfgVehicles { class ReammoBox_F; class ACE_HuntIR_Box: ReammoBox_F { - model = PATHTOF(data\ace_huntirbox.p3d); + model = QPATHTOF(data\ace_huntirbox.p3d); displayName = $STR_DN_ACE_HUNTIRBOX; class TransportItems { MACRO_ADDITEM(ACE_HuntIR_monitor,5); diff --git a/addons/huntir/CfgWeapons.hpp b/addons/huntir/CfgWeapons.hpp index 6ff271d604..ac57491e77 100644 --- a/addons/huntir/CfgWeapons.hpp +++ b/addons/huntir/CfgWeapons.hpp @@ -6,9 +6,9 @@ class CfgWeapons { class ACE_HuntIR_monitor: ACE_ItemCore { scope = 2; displayName = CSTRING(monitor_displayName); - picture = PATHTOF(UI\w_huntir_monitor_ca.paa); + picture = QPATHTOF(UI\w_huntir_monitor_ca.paa); descriptionShort = CSTRING(monitor_displayName); - model = PATHTOF(data\ace_huntir_monitor.p3d); + model = QPATHTOF(data\ace_huntir_monitor.p3d); class ItemInfo: InventoryItem_Base_F { mass = 20; diff --git a/addons/huntir/Dialog.hpp b/addons/huntir/Dialog.hpp index ca1e85466b..745bef8dc3 100644 --- a/addons/huntir/Dialog.hpp +++ b/addons/huntir/Dialog.hpp @@ -154,7 +154,7 @@ class ace_huntir_cam_dialog { w = __W; h = __H + 0.2; border = 0; - text = PATHTOF(UI\ace_huntir_monitor_on.paa); + text = QPATHTOF(UI\ace_huntir_monitor_on.paa); }; class CAM_HEIGHT { type = CT_STATIC; @@ -311,7 +311,7 @@ class ace_huntir_cam_dialog_off: ace_huntir_cam_dialog_inactive { class RIGHT_BORDER: RIGHT_BORDER {}; class PRESS_HELP: PRESS_HELP {}; class HELP_DIALOG: HELP_DIALOG {}; - class CAM_BG: CAM_BG { text = PATHTOF(UI\ace_huntir_monitor_off.paa); }; + class CAM_BG: CAM_BG { text = QPATHTOF(UI\ace_huntir_monitor_off.paa); }; }; //ACTIVE PARA CAMERA DIALOG class ace_huntir_help_dialog: ace_huntir_cam_dialog { diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index 117a828b0b..5c4379cc3e 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -56,7 +56,7 @@ if (GVAR(openedMenuType) >= 0) then { GVAR(lastTime) = _cTime; GVAR(rotationAngle) = (GVAR(rotationAngle) + (270*_delta)) mod 360; - [_sPos, format [QUOTE(PATHTOF(ui\selector%1.paa)), floor (((abs GVAR(rotationAngle)) mod 90) / 6)]] call FUNC(renderSelector); + [_sPos, format [QPATHTOF(ui\selector%1.paa), floor (((abs GVAR(rotationAngle)) mod 90) / 6)]] call FUNC(renderSelector); _foundTarget = true; GVAR(actionSelected) = true; diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 0b71ebb4e1..2939cb6ad5 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -11,7 +11,7 @@ class CfgVehicles { scope = 2; isGlobal = 1; isSingular = 1; - icon = PATHTOF(UI\Icon_Module_Interaction_ca.paa); + icon = QPATHTOF(UI\Icon_Module_Interaction_ca.paa); class Arguments { class EnableTeamManagement { displayName = CSTRING(EnableTeamManagement_DisplayName); @@ -68,14 +68,14 @@ class CfgVehicles { statement = ""; showDisabled = 0; priority = 3.2; - icon = PATHTOF(UI\team\team_management_ca.paa); + icon = QPATHTOF(UI\team\team_management_ca.paa); class ACE_AssignTeamRed { displayName = CSTRING(AssignTeamRed); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHTOF(UI\team\team_red_ca.paa); + icon = QPATHTOF(UI\team\team_red_ca.paa); priority = 2.4; }; class ACE_AssignTeamGreen { @@ -83,7 +83,7 @@ class CfgVehicles { condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHTOF(UI\team\team_green_ca.paa); + icon = QPATHTOF(UI\team\team_green_ca.paa); priority = 2.3; }; class ACE_AssignTeamBlue { @@ -91,7 +91,7 @@ class CfgVehicles { condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHTOF(UI\team\team_blue_ca.paa); + icon = QPATHTOF(UI\team\team_blue_ca.paa); priority = 2.2; }; class ACE_AssignTeamYellow { @@ -99,7 +99,7 @@ class CfgVehicles { condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam)); statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHTOF(UI\team\team_yellow_ca.paa); + icon = QPATHTOF(UI\team\team_yellow_ca.paa); priority = 2.1; }; class ACE_UnassignTeam { @@ -107,7 +107,7 @@ class CfgVehicles { condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {assignedTeam _target != 'MAIN'}); statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHTOF(UI\team\team_white_ca.paa); + icon = QPATHTOF(UI\team\team_white_ca.paa); priority = 2.5; }; }; @@ -118,7 +118,7 @@ class CfgVehicles { statement = QUOTE([_player] joinSilent group _target); showDisabled = 0; priority = 2.6; - icon = PATHTOF(UI\team\team_management_ca.paa); + icon = QPATHTOF(UI\team\team_management_ca.paa); }; class ACE_GetDown { displayName = CSTRING(GetDown); @@ -223,7 +223,7 @@ class CfgVehicles { statement = ""; showDisabled = 1; priority = 3.2; - icon = PATHTOF(UI\team\team_management_ca.paa); + icon = QPATHTOF(UI\team\team_management_ca.paa); class ACE_JoinTeamRed { displayName = CSTRING(JoinTeamRed); @@ -232,7 +232,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,'RED')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.4; - icon = PATHTOF(UI\team\team_red_ca.paa); + icon = QPATHTOF(UI\team\team_red_ca.paa); }; class ACE_JoinTeamGreen { displayName = CSTRING(JoinTeamGreen); @@ -241,7 +241,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,'GREEN')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.3; - icon = PATHTOF(UI\team\team_green_ca.paa); + icon = QPATHTOF(UI\team\team_green_ca.paa); }; class ACE_JoinTeamBlue { displayName = CSTRING(JoinTeamBlue); @@ -250,7 +250,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,'BLUE')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.2; - icon = PATHTOF(UI\team\team_blue_ca.paa); + icon = QPATHTOF(UI\team\team_blue_ca.paa); }; class ACE_JoinTeamYellow { displayName = CSTRING(JoinTeamYellow); @@ -259,7 +259,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,'YELLOW')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.1; - icon = PATHTOF(UI\team\team_yellow_ca.paa); + icon = QPATHTOF(UI\team\team_yellow_ca.paa); }; class ACE_LeaveTeam { displayName = CSTRING(LeaveTeam); @@ -268,7 +268,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,'MAIN')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.5; - icon = PATHTOF(UI\team\team_white_ca.paa); + icon = QPATHTOF(UI\team\team_white_ca.paa); }; class ACE_BecomeLeader { displayName = CSTRING(BecomeLeader); @@ -277,7 +277,7 @@ class CfgVehicles { statement = QUOTE(_this call DFUNC(doBecomeLeader)); showDisabled = 1; priority = 1.0; - icon = PATHTOF(UI\team\team_white_ca.paa); + icon = QPATHTOF(UI\team\team_white_ca.paa); }; class ACE_LeaveGroup { displayName = CSTRING(LeaveGroup); @@ -286,7 +286,7 @@ class CfgVehicles { statement = QUOTE(_oldGroup = units group _player; _newGroup = createGroup side _player; [_player] joinSilent _newGroup; {_player reveal _x} forEach _oldGroup;); showDisabled = 1; priority = 1.2; - icon = PATHTOF(UI\team\team_management_ca.paa); + icon = QPATHTOF(UI\team\team_management_ca.paa); }; }; diff --git a/addons/interaction/RscTitles.hpp b/addons/interaction/RscTitles.hpp index d03d3e0f36..71070b1715 100644 --- a/addons/interaction/RscTitles.hpp +++ b/addons/interaction/RscTitles.hpp @@ -170,7 +170,7 @@ class RscTitles { class controls { class SelectIcon: RscInteractionHelperIcon{ idc = 1200; - text = PATHTOF(UI\mouse_left_ca.paa); + text = QPATHTOF(UI\mouse_left_ca.paa); y = 17.5 * GUI_GRID_H; }; class SelectText: RscInteractionText{ @@ -180,7 +180,7 @@ class RscTitles { }; class GoBackIcon: RscInteractionHelperIcon{ idc = 1201; - text = PATHTOF(UI\mouse_right_ca.paa); + text = QPATHTOF(UI\mouse_right_ca.paa); y = 19.5 * GUI_GRID_H; }; class GoBackText: RscInteractionText{ @@ -190,7 +190,7 @@ class RscTitles { }; class ScrollIcon: RscInteractionHelperIcon{ idc = 1202; - text = PATHTOF(UI\mouse_scroll_ca.paa); + text = QPATHTOF(UI\mouse_scroll_ca.paa); y = 18.5 * GUI_GRID_H; }; class ScrollText: RscInteractionText{ diff --git a/addons/interaction/functions/fnc_addPassengersActions.sqf b/addons/interaction/functions/fnc_addPassengersActions.sqf index 8ee95b7eb9..7b8ad69ee0 100644 --- a/addons/interaction/functions/fnc_addPassengersActions.sqf +++ b/addons/interaction/functions/fnc_addPassengersActions.sqf @@ -34,7 +34,7 @@ _actions = []; ] select (([driver _vehicle, gunner _vehicle, commander _vehicle] find _unit) + 1); if (_unit getVariable [QEGVAR(captives,isHandcuffed), false]) then { - _icon = QUOTE(PATHTOEF(captives,UI\handcuff_ca.paa)); + _icon = QPATHTOEF(captives,UI\handcuff_ca.paa); }; _actions pushBack [ diff --git a/addons/javelin/CfgVehicles.hpp b/addons/javelin/CfgVehicles.hpp index 1cd527089d..17cf03a689 100644 --- a/addons/javelin/CfgVehicles.hpp +++ b/addons/javelin/CfgVehicles.hpp @@ -18,7 +18,7 @@ class CfgVehicles { magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; turretInfoType = "ACE_RscOptics_javelin"; - gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); + gunnerOpticsModel = QPATHTOF(data\reticle_titan.p3d); opticsZoomMin = 0.08333; opticsZoomMax = 0.04167; opticsZoomInit = 0.08333; @@ -36,7 +36,7 @@ class CfgVehicles { magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; turretInfoType = "ACE_RscOptics_javelin"; - gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); + gunnerOpticsModel = QPATHTOF(data\reticle_titan.p3d); opticsZoomMin = 0.08333; opticsZoomMax = 0.04167; opticsZoomInit = 0.08333; @@ -54,7 +54,7 @@ class CfgVehicles { magazines[] = {"1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles","1Rnd_GAT_missiles"}; turretInfoType = "ACE_RscOptics_javelin"; - gunnerOpticsModel = PATHTOF(data\reticle_titan.p3d); + gunnerOpticsModel = QPATHTOF(data\reticle_titan.p3d); opticsZoomMin = 0.08333; opticsZoomMax = 0.04167; opticsZoomInit = 0.08333; diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp index 75aaf7c332..8e489bfaa2 100644 --- a/addons/javelin/CfgWeapons.hpp +++ b/addons/javelin/CfgWeapons.hpp @@ -15,7 +15,7 @@ class CfgWeapons { class GVAR(Titan_Static) : missiles_titan_at { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; - modelOptics = PATHTOF(data\reticle_titan.p3d); + modelOptics = QPATHTOF(data\reticle_titan.p3d); canLock = 0; magazines[] = {"1Rnd_GAT_missiles"}; @@ -31,7 +31,7 @@ class CfgWeapons { class launch_B_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; - modelOptics = PATHTOF(data\reticle_titan.p3d); + modelOptics = QPATHTOF(data\reticle_titan.p3d); canLock = 0; @@ -41,7 +41,7 @@ class CfgWeapons { class launch_I_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; - modelOptics = PATHTOF(data\reticle_titan.p3d); + modelOptics = QPATHTOF(data\reticle_titan.p3d); canLock = 0; @@ -51,7 +51,7 @@ class CfgWeapons { class launch_O_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; - modelOptics = PATHTOF(data\reticle_titan.p3d); + modelOptics = QPATHTOF(data\reticle_titan.p3d); canLock = 0; @@ -62,7 +62,7 @@ class CfgWeapons { class launch_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; - modelOptics = PATHTOF(data\reticle_titan.p3d); + modelOptics = QPATHTOF(data\reticle_titan.p3d); canLock = 0; diff --git a/addons/javelin/RscInGameUI.hpp b/addons/javelin/RscInGameUI.hpp index ea1e12626c..e2f097d89a 100644 --- a/addons/javelin/RscInGameUI.hpp +++ b/addons/javelin/RscInGameUI.hpp @@ -306,7 +306,7 @@ class RscInGameUI { }; class OpticsBorders: RscPicture { idc = 699105; - text = PATHTOF(data\javelin_ui_border_ca.paa); + text = QPATHTOF(data\javelin_ui_border_ca.paa); colorText[] = {0,0,0,1}; x = "((SafezoneW -(3.1/4)*SafezoneH)/2) - SafezoneX"; y = "0.15*SafezoneH-SafezoneY"; diff --git a/addons/kestrel4500/CfgVehicles.hpp b/addons/kestrel4500/CfgVehicles.hpp index 9ca6510928..ccc4fa3bd2 100644 --- a/addons/kestrel4500/CfgVehicles.hpp +++ b/addons/kestrel4500/CfgVehicles.hpp @@ -9,7 +9,7 @@ class CfgVehicles { statement = QUOTE(call FUNC(createKestrelDialog)); showDisabled = 0; priority = 0.1; - icon = QUOTE(PATHTOF(UI\Kestrel4500_Icon.paa)); + icon = QPATHTOF(UI\Kestrel4500_Icon.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; class GVAR(show) { displayName = CSTRING(ShowKestrel); @@ -17,7 +17,7 @@ class CfgVehicles { statement = QUOTE(call FUNC(displayKestrel)); showDisabled = 0; priority = 0.2; - icon = QUOTE(PATHTOF(UI\Kestrel4500_Icon.paa)); + icon = QPATHTOF(UI\Kestrel4500_Icon.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; }; class GVAR(hide) { @@ -26,7 +26,7 @@ class CfgVehicles { statement = QUOTE(call FUNC(displayKestrel)); showDisabled = 0; priority = 0.3; - icon = QUOTE(PATHTOF(UI\Kestrel4500_Icon.paa)); + icon = QPATHTOF(UI\Kestrel4500_Icon.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; }; }; diff --git a/addons/kestrel4500/CfgWeapons.hpp b/addons/kestrel4500/CfgWeapons.hpp index c31b736ac6..8b318994a2 100644 --- a/addons/kestrel4500/CfgWeapons.hpp +++ b/addons/kestrel4500/CfgWeapons.hpp @@ -8,8 +8,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(Name); descriptionShort = CSTRING(Description); - model = PATHTOF(data\kestrel4500.p3d); - picture = PATHTOF(UI\Kestrel4500.paa); + model = QPATHTOF(data\kestrel4500.p3d); + picture = QPATHTOF(UI\Kestrel4500.paa); icon = "iconObject_circle"; mapSize = 0.034; diff --git a/addons/kestrel4500/RscTitles.hpp b/addons/kestrel4500/RscTitles.hpp index 7046918935..276e8c4392 100644 --- a/addons/kestrel4500/RscTitles.hpp +++ b/addons/kestrel4500/RscTitles.hpp @@ -348,25 +348,25 @@ class RscTitles { fadeout = 0; class controls { class Preload_0 { - text = PATHTOF(UI\Kestrel4500_0.paa); + text = QPATHTOF(UI\Kestrel4500_0.paa); }; class Preload_1 { - text = PATHTOF(UI\Kestrel4500_1.paa); + text = QPATHTOF(UI\Kestrel4500_1.paa); }; class Preload_2 { - text = PATHTOF(UI\Kestrel4500_2.paa); + text = QPATHTOF(UI\Kestrel4500_2.paa); }; class Preload_3 { - text = PATHTOF(UI\Kestrel4500_3.paa); + text = QPATHTOF(UI\Kestrel4500_3.paa); }; class Preload_4 { - text = PATHTOF(UI\Kestrel4500_4.paa); + text = QPATHTOF(UI\Kestrel4500_4.paa); }; class Preload_5 { - text = PATHTOF(UI\Kestrel4500_5.paa); + text = QPATHTOF(UI\Kestrel4500_5.paa); }; class Preload_6 { - text = PATHTOF(UI\Kestrel4500_6.paa); + text = QPATHTOF(UI\Kestrel4500_6.paa); }; }; }; diff --git a/addons/kestrel4500/functions/fnc_displayKestrel.sqf b/addons/kestrel4500/functions/fnc_displayKestrel.sqf index 64d06fea1c..348c6306e1 100644 --- a/addons/kestrel4500/functions/fnc_displayKestrel.sqf +++ b/addons/kestrel4500/functions/fnc_displayKestrel.sqf @@ -126,7 +126,7 @@ GVAR(Overlay) = true; }; call FUNC(updateImpellerState); - __ctrlKestrel4500 ctrlSetText format [QUOTE(PATHTOF(UI\Kestrel4500_%1.paa)), floor(GVAR(ImpellerState) % 7)]; + __ctrlKestrel4500 ctrlSetText format [QPATHTOF(UI\Kestrel4500_%1.paa), floor(GVAR(ImpellerState) % 7)]; }, 0.01, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/kestrel4500/initKeybinds.sqf b/addons/kestrel4500/initKeybinds.sqf index 5793d36976..0807284ed6 100644 --- a/addons/kestrel4500/initKeybinds.sqf +++ b/addons/kestrel4500/initKeybinds.sqf @@ -56,4 +56,4 @@ _closeCode = { closeDialog 0; }; }; -[(localize LSTRING(Name)), QUOTE(PATHTOF(UI\Kestrel4500.paa)), _conditonCode, _toggleCode, _closeCode] call EFUNC(common,deviceKeyRegisterNew); +[(localize LSTRING(Name)), QPATHTOF(UI\Kestrel4500.paa), _conditonCode, _toggleCode, _closeCode] call EFUNC(common,deviceKeyRegisterNew); diff --git a/addons/logistics_uavbattery/CfgSounds.hpp b/addons/logistics_uavbattery/CfgSounds.hpp index 530c5b86a9..3cf83715ba 100644 --- a/addons/logistics_uavbattery/CfgSounds.hpp +++ b/addons/logistics_uavbattery/CfgSounds.hpp @@ -1,7 +1,7 @@ class CfgSounds { class ACE_replaceUAVBattery { name = "ACE_replaceUAVBattery"; - sound[]={QUOTE(PATHTOF(sounds\exchange_battery.ogg)),1,1}; + sound[]={QPATHTOF(sounds\exchange_battery.ogg),1,1}; titles[]={}; }; }; diff --git a/addons/logistics_uavbattery/CfgVehicles.hpp b/addons/logistics_uavbattery/CfgVehicles.hpp index a6f2db786f..2daa8c8011 100644 --- a/addons/logistics_uavbattery/CfgVehicles.hpp +++ b/addons/logistics_uavbattery/CfgVehicles.hpp @@ -20,7 +20,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player, _target)] call FUNC(refuelUAV)); showDisabled = 0; priority = 1.245; - icon = QUOTE(PATHTOF(ui\UAV_battery_ca.paa)); + icon = QPATHTOF(ui\UAV_battery_ca.paa); }; }; }; diff --git a/addons/logistics_uavbattery/CfgWeapons.hpp b/addons/logistics_uavbattery/CfgWeapons.hpp index 46120f7c3d..8beedff39b 100644 --- a/addons/logistics_uavbattery/CfgWeapons.hpp +++ b/addons/logistics_uavbattery/CfgWeapons.hpp @@ -6,8 +6,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(Battery_Name); descriptionShort = CSTRING(Battery_Description); - model = QUOTE(PATHTOF(data\ace_battery.p3d)); - picture = QUOTE(PATHTOF(ui\UAV_battery_ca.paa)); + model = QPATHTOF(data\ace_battery.p3d); + picture = QPATHTOF(ui\UAV_battery_ca.paa); class ItemInfo: InventoryItem_Base_F { mass = 20; }; diff --git a/addons/logistics_wirecutter/CfgSounds.hpp b/addons/logistics_wirecutter/CfgSounds.hpp index 9958190ec1..598e72255b 100644 --- a/addons/logistics_wirecutter/CfgSounds.hpp +++ b/addons/logistics_wirecutter/CfgSounds.hpp @@ -1,12 +1,12 @@ class CfgSounds { class ACE_Wirecutter_sound { name = "ACE_wirecutter_sound"; - sound[] = {QUOTE(PATHTOF(sound\wire_cut.ogg)), "db-0", 1}; + sound[] = {QPATHTOF(sound\wire_cut.ogg), "db-0", 1}; titles[] = {}; }; class ACE_Wirecutter_sound_long { name = "ACE_wirecutter_sound_long"; - sound[] = {QUOTE(PATHTOF(sound\wire_cut_long.ogg)), "db-0", 1}; + sound[] = {QPATHTOF(sound\wire_cut_long.ogg), "db-0", 1}; titles[] = {}; }; }; diff --git a/addons/logistics_wirecutter/CfgWeapons.hpp b/addons/logistics_wirecutter/CfgWeapons.hpp index 2b365cc8e6..0674c44f1a 100644 --- a/addons/logistics_wirecutter/CfgWeapons.hpp +++ b/addons/logistics_wirecutter/CfgWeapons.hpp @@ -6,8 +6,8 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); displayName = CSTRING(wirecutterName); descriptionShort = CSTRING(wirecutterDescription); - model = QUOTE(PATHTOF(data\ace_wirecutter.p3d)); - picture = QUOTE(PATHTOF(ui\item_wirecutter_ca.paa)); + model = QPATHTOF(data\ace_wirecutter.p3d); + picture = QPATHTOF(ui\item_wirecutter_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 65; diff --git a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf index e28ff17db6..f926a53e01 100644 --- a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf +++ b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf @@ -56,7 +56,7 @@ TRACE_1("Starting wire-cut action PFEH",_interactionType); if ([_x] call FUNC(isFence)) then { _fencesHelped pushBack _x; _helper = "ACE_LogicDummy" createVehicleLocal (getpos _x); - _action = [QGVAR(helperCutFence), (localize LSTRING(CutFence)), QUOTE(PATHTOF(ui\wirecutter_ca.paa)), _fncStatement, _fncCondition, {}, _x, {[0,0,0]}, 5.5] call EFUNC(interact_menu,createAction); + _action = [QGVAR(helperCutFence), (localize LSTRING(CutFence)), QPATHTOF(ui\wirecutter_ca.paa), _fncStatement, _fncCondition, {}, _x, {[0,0,0]}, 5.5] call EFUNC(interact_menu,createAction); [_helper, 0, [],_action] call EFUNC(interact_menu,addActionToObject); _helper setPosASL ((getPosASL _x) vectorAdd [0,0,1.25]); _addedHelpers pushBack _helper; diff --git a/addons/magazinerepack/CfgSounds.hpp b/addons/magazinerepack/CfgSounds.hpp index 1390397e5e..a189c18b9c 100644 --- a/addons/magazinerepack/CfgSounds.hpp +++ b/addons/magazinerepack/CfgSounds.hpp @@ -1,12 +1,12 @@ class CfgSounds { class GVAR(soundMagazineFinished) { name = QGVAR(soundMagazineFinished); - sound[]={QUOTE(PATHTOF(sounds\magrepack_finished.wav)),1,1}; + sound[]={QPATHTOF(sounds\magrepack_finished.wav),1,1}; titles[]={}; }; class GVAR(soundRoundFinished) { name = QGVAR(soundRoundFinished); - sound[] = {QUOTE(PATHTOF(sounds\magrepack_single.wav)),1,1}; + sound[] = {QPATHTOF(sounds\magrepack_single.wav),1,1}; titles[] = {}; }; }; diff --git a/addons/magazinerepack/CfgVehicles.hpp b/addons/magazinerepack/CfgVehicles.hpp index 78af19bcfe..0bf4833bf0 100644 --- a/addons/magazinerepack/CfgVehicles.hpp +++ b/addons/magazinerepack/CfgVehicles.hpp @@ -8,7 +8,7 @@ class CfgVehicles { exceptions[] = {"isNotInside", "isNotSitting"}; insertChildren = QUOTE(_this call FUNC(getMagazineChildren)); priority = -2; - icon = QUOTE(PATHTOF(UI\repack_ca.paa)); + icon = QPATHTOF(UI\repack_ca.paa); }; }; }; diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index a64c8e014d..e45f041ffa 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -82,12 +82,12 @@ #define TYPE_BACKPACK 901 #ifdef DISABLE_COMPILE_CACHE - #define PREP(fncName) DFUNC(fncName) = compile preprocessFileLineNumbers QUOTE(PATHTOF(functions\DOUBLES(fnc,fncName).sqf)) + #define PREP(fncName) DFUNC(fncName) = compile preprocessFileLineNumbers QPATHTOF(functions\DOUBLES(fnc,fncName).sqf) #else - #define PREP(fncName) [QUOTE(PATHTOF(functions\DOUBLES(fnc,fncName).sqf)), QFUNC(fncName)] call CBA_fnc_compileFunction + #define PREP(fncName) [QPATHTOF(functions\DOUBLES(fnc,fncName).sqf), QFUNC(fncName)] call CBA_fnc_compileFunction #endif -#define PREP_MODULE(folder) [] call compile preprocessFileLineNumbers QUOTE(PATHTOF(folder\__PREP__.sqf)) +#define PREP_MODULE(folder) [] call compile preprocessFileLineNumbers QPATHTOF(folder\__PREP__.sqf) #define HASH_CREATE ([] call EFUNC(common,hashCreate)) #define HASH_SET(hash, key, val) ([hash, key, val, __FILE__, __LINE__] call EFUNC(common,hashSet)) diff --git a/addons/map/CfgVehicles.hpp b/addons/map/CfgVehicles.hpp index df52756eee..16eba79cb2 100644 --- a/addons/map/CfgVehicles.hpp +++ b/addons/map/CfgVehicles.hpp @@ -24,7 +24,7 @@ class CfgVehicles { scope = 2; isGlobal = 1; isSingular = 1; - icon = PATHTOF(UI\Icon_Module_Map_ca.paa); + icon = QPATHTOF(UI\Icon_Module_Map_ca.paa); class Arguments { class MapIllumination { displayName = CSTRING(MapIllumination_DisplayName); @@ -84,7 +84,7 @@ class CfgVehicles { scope = 2; isGlobal = 0; isSingular = 1; - icon = PATHTOF(UI\Icon_Module_BFTracking_ca.paa); + icon = QPATHTOF(UI\Icon_Module_BFTracking_ca.paa); class Arguments { class Enabled { displayName = CSTRING(BFT_Enabled_DisplayName); diff --git a/addons/map_gestures/CfgVehicles.hpp b/addons/map_gestures/CfgVehicles.hpp index d4c88883e6..5593d66181 100644 --- a/addons/map_gestures/CfgVehicles.hpp +++ b/addons/map_gestures/CfgVehicles.hpp @@ -8,7 +8,7 @@ class CfgVehicles { isGlobal = 0; isSingular = 1; author = ECSTRING(common,ACETeam); - icon = PATHTOF(ui\icon_module_map_gestures_ca.paa); + icon = QPATHTOF(ui\icon_module_map_gestures_ca.paa); class Arguments { class enabled { displayName = CSTRING(enabled_DisplayName); @@ -49,7 +49,7 @@ class CfgVehicles { function = QFUNC(moduleGroupSettings); isGlobal = 0; author = ECSTRING(common,ACETeam); - icon = PATHTOF(ui\icon_module_map_gestures_ca.paa); + icon = QPATHTOF(ui\icon_module_map_gestures_ca.paa); class Arguments { class leadColor { displayName = CSTRING(leadColor_displayName); diff --git a/addons/maptools/CfgWeapons.hpp b/addons/maptools/CfgWeapons.hpp index 5cec99bfb0..dc7a7046dd 100644 --- a/addons/maptools/CfgWeapons.hpp +++ b/addons/maptools/CfgWeapons.hpp @@ -5,8 +5,8 @@ class CfgWeapons { class ACE_MapTools: ACE_ItemCore { displayName = CSTRING(Name); descriptionShort = CSTRING(Description); - model = QUOTE(PATHTOF(data\ace_MapTools.p3d)); - picture = PATHTOF(UI\maptool_item.paa); + model = QPATHTOF(data\ace_MapTools.p3d); + picture = QPATHTOF(UI\maptool_item.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 1; diff --git a/addons/maptools/MapGpsUI.hpp b/addons/maptools/MapGpsUI.hpp index 170f0d1620..c5b230f163 100644 --- a/addons/maptools/MapGpsUI.hpp +++ b/addons/maptools/MapGpsUI.hpp @@ -26,7 +26,7 @@ class RscTitles { y = Y_gps; w = W_gps; h = H_gps; - text = PATHTOF(UI\mapGps.paa); + text = QPATHTOF(UI\mapGps.paa); colorBackground[] = {1, 1, 1, 1}; }; class heading: RscText{ diff --git a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf index 5d11c6a6e9..530d213773 100644 --- a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf +++ b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf @@ -35,10 +35,10 @@ if (!("ACE_MapTools" in items ACE_player)|| {GVAR(mapTool_Shown) == 0}) exitWith _rotatingTexture = ""; _textureWidth = 0; if (GVAR(mapTool_Shown) == 1) then { - _rotatingTexture = QUOTE(PATHTOF(data\mapToolRotatingNormal.paa)); + _rotatingTexture = QPATHTOF(data\mapToolRotatingNormal.paa); _textureWidth = TEXTURE_WIDTH_IN_M; } else { - _rotatingTexture = QUOTE(PATHTOF(data\mapToolRotatingSmall.paa)); + _rotatingTexture = QPATHTOF(data\mapToolRotatingSmall.paa); _textureWidth = TEXTURE_WIDTH_IN_M / 2; }; @@ -51,7 +51,7 @@ _scaleY = _scaleX * ((_resWidth / _resHeight) / _aspectRatio); //handle bad aspe _xPos = GVAR(mapTool_pos) select 0; _yPos = (GVAR(mapTool_pos) select 1) + _textureWidth * CENTER_OFFSET_Y_PERC; -_theMap drawIcon [QUOTE(PATHTOF(data\mapToolFixed.paa)), [1,1,1,1], [_xPos,_yPos], _scaleX, _scaleY, 0, "", 0]; +_theMap drawIcon [QPATHTOF(data\mapToolFixed.paa), [1,1,1,1], [_xPos,_yPos], _scaleX, _scaleY, 0, "", 0]; // Position and rotation of the rotating part _xPos = (GVAR(mapTool_pos) select 0) + sin(GVAR(mapTool_angle)) * _textureWidth * CENTER_OFFSET_Y_PERC; diff --git a/addons/medical/ACE_Medical_Actions.hpp b/addons/medical/ACE_Medical_Actions.hpp index 5934203333..900e6cb26c 100644 --- a/addons/medical/ACE_Medical_Actions.hpp +++ b/addons/medical/ACE_Medical_Actions.hpp @@ -6,7 +6,7 @@ class ACE_Head { ACTION_CONDITION modifierFunction = QUOTE([ARR_4(_target,_player,0,_this select 3)] call FUNC(modifyMedicalAction)); EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { displayName = CSTRING(Bandage); @@ -16,7 +16,7 @@ class ACE_Head { EXCEPTIONS showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; // Advanced medical class FieldDressing { @@ -27,28 +27,28 @@ class ACE_Head { EXCEPTIONS showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = CSTRING(Actions_QuikClot); condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class CheckPulse: fieldDressing { displayName = CSTRING(Actions_CheckPulse); @@ -83,7 +83,7 @@ class ACE_Torso { ACTION_CONDITION modifierFunction = QUOTE([ARR_4(_target,_player,1,_this select 3)] call FUNC(modifyMedicalAction)); EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { displayName = CSTRING(Bandage); @@ -94,7 +94,7 @@ class ACE_Torso { showDisabled = 1; priority = 2; enableInside = 1; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PlaceInBodyBag { displayName = CSTRING(PlaceInBodyBag); @@ -115,7 +115,7 @@ class ACE_Torso { showDisabled = 1; priority = 2; enableInside = 1; - icon = PATHTOF(UI\icons\triageCard.paa); + icon = QPATHTOF(UI\icons\triageCard.paa); }; class Diagnose { displayName = CSTRING(Actions_Diagnose); @@ -138,35 +138,35 @@ class ACE_Torso { showDisabled = 0; priority = 2; enableInside = 1; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = CSTRING(Actions_QuikClot); condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class SurgicalKit: fieldDressing { displayName = CSTRING(Use_SurgicalKit); condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\surgicalKit.paa); + icon = QPATHTOF(UI\icons\surgicalKit.paa); }; class PersonalAidKit: fieldDressing { displayName = CSTRING(Use_Aid_Kit); @@ -190,7 +190,7 @@ class ACE_ArmLeft { ACTION_CONDITION modifierFunction = QUOTE([ARR_4(_target,_player,2,_this select 3)] call FUNC(modifyMedicalAction)); EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { @@ -201,7 +201,7 @@ class ACE_ArmLeft { EXCEPTIONS showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; // Advanced medical @@ -213,70 +213,70 @@ class ACE_ArmLeft { EXCEPTIONS showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = CSTRING(Actions_QuikClot); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class Tourniquet: fieldDressing { displayName = CSTRING(Actions_Tourniquet); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\tourniquet.paa); + icon = QPATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { displayName = CSTRING(Inject_Morphine); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Adenosine: Morphine { displayName = CSTRING(Inject_Adenosine); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Adenosine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Adenosine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Epinephrine: Morphine { displayName = CSTRING(Inject_Epinephrine); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class BloodIV: fieldDressing { displayName = CSTRING(Actions_Blood4_1000); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\iv.paa); + icon = QPATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { displayName = CSTRING(Actions_Blood4_500); @@ -353,7 +353,7 @@ class ACE_ArmRight { ACTION_CONDITION modifierFunction = QUOTE([ARR_4(_target,_player,3,_this select 3)] call FUNC(modifyMedicalAction)); EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { @@ -364,7 +364,7 @@ class ACE_ArmRight { EXCEPTIONS showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; // Advanced medical @@ -376,14 +376,14 @@ class ACE_ArmRight { EXCEPTIONS showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); @@ -402,14 +402,14 @@ class ACE_ArmRight { condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\tourniquet.paa); + icon = QPATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { displayName = CSTRING(Inject_Morphine); condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Adenosine: Morphine { @@ -417,7 +417,7 @@ class ACE_ArmRight { condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Adenosine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Adenosine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = CSTRING(Inject_Atropine); @@ -436,7 +436,7 @@ class ACE_ArmRight { condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\iv.paa); + icon = QPATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { displayName = CSTRING(Actions_Blood4_500); @@ -514,7 +514,7 @@ class ACE_LegLeft { ACTION_CONDITION modifierFunction = QUOTE([ARR_4(_target,_player,4,_this select 3)] call FUNC(modifyMedicalAction)); EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { @@ -525,7 +525,7 @@ class ACE_LegLeft { EXCEPTIONS showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; @@ -538,14 +538,14 @@ class ACE_LegLeft { EXCEPTIONS showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); @@ -564,28 +564,28 @@ class ACE_LegLeft { condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\tourniquet.paa); + icon = QPATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { displayName = CSTRING(Inject_Morphine); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Adenosine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Adenosine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Adenosine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Epinephrine: Morphine { displayName = CSTRING(Inject_Epinephrine); @@ -598,7 +598,7 @@ class ACE_LegLeft { condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\iv.paa); + icon = QPATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { displayName = CSTRING(Actions_Blood4_500); @@ -662,7 +662,7 @@ class ACE_LegRight { ACTION_CONDITION modifierFunction = QUOTE([ARR_4(_target,_player,5,_this select 3)] call FUNC(modifyMedicalAction)); EXCEPTIONS - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); distance = MEDICAL_ACTION_DISTANCE; class Bandage { @@ -673,7 +673,7 @@ class ACE_LegRight { EXCEPTIONS showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; @@ -686,14 +686,14 @@ class ACE_LegRight { EXCEPTIONS showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); @@ -712,21 +712,21 @@ class ACE_LegRight { condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\tourniquet.paa); + icon = QPATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { displayName = CSTRING(Inject_Morphine); condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Adenosine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Adenosine')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Adenosine')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = CSTRING(Inject_Atropine); @@ -745,7 +745,7 @@ class ACE_LegRight { condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached)); statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment)); EXCEPTIONS - icon = PATHTOF(UI\icons\iv.paa); + icon = QPATHTOF(UI\icons\iv.paa); }; class BloodIV_500: BloodIV { displayName = CSTRING(Actions_Blood4_500); diff --git a/addons/medical/ACE_Medical_SelfActions.hpp b/addons/medical/ACE_Medical_SelfActions.hpp index 54a8ba60f5..fca025adcb 100644 --- a/addons/medical/ACE_Medical_SelfActions.hpp +++ b/addons/medical/ACE_Medical_SelfActions.hpp @@ -4,11 +4,11 @@ class Medical { exceptions[] = {"isNotInside", "isNotSitting"}; statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); condition = "true"; - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); class ACE_Head { displayName = CSTRING(Head); - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); exceptions[] = {"isNotInside", "isNotSitting"}; statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); modifierFunction = QUOTE([ARR_4(_target,_player,0,_this select 3)] call FUNC(modifyMedicalAction)); @@ -23,7 +23,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; // Advanced medical class FieldDressing { @@ -34,28 +34,28 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = CSTRING(Actions_QuikClot); condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class CheckPulse: fieldDressing { displayName = CSTRING(Actions_CheckPulse); @@ -81,7 +81,7 @@ class Medical { modifierFunction = QUOTE([ARR_4(_target,_player,1,_this select 3)] call FUNC(modifyMedicalAction)); showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); class Bandage { displayName = CSTRING(Bandage); @@ -91,7 +91,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class TriageCard { @@ -102,7 +102,7 @@ class Medical { statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard)); showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\triageCard.paa); + icon = QPATHTOF(UI\icons\triageCard.paa); }; // Advanced medical @@ -114,28 +114,28 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = CSTRING(Actions_QuikClot); condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; }; class ACE_ArmLeft { @@ -145,7 +145,7 @@ class Medical { statement = QUOTE([ARR_3(_target, true, 2)] call DFUNC(displayPatientInformation)); modifierFunction = QUOTE([ARR_4(_target,_player,2,_this select 3)] call FUNC(modifyMedicalAction)); condition = "true"; - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); class Bandage { displayName = CSTRING(Bandage); @@ -155,7 +155,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; // Advanced medical @@ -167,63 +167,63 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class QuikClot: fieldDressing { displayName = CSTRING(Actions_QuikClot); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class Tourniquet: fieldDressing { displayName = CSTRING(Actions_Tourniquet); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\tourniquet.paa); + icon = QPATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { displayName = CSTRING(Inject_Morphine); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Morphine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Adenosine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Adenosine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Adenosine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Atropine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Epinephrine: Morphine { displayName = CSTRING(Inject_Epinephrine); condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Epinephrine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class CheckPulse: fieldDressing { displayName = CSTRING(Actions_CheckPulse); @@ -252,7 +252,7 @@ class Medical { statement = QUOTE([ARR_3(_target, true, 3)] call DFUNC(displayPatientInformation)); modifierFunction = QUOTE([ARR_4(_target,_player,3,_this select 3)] call FUNC(modifyMedicalAction)); condition = "true"; - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); class Bandage { displayName = CSTRING(Bandage); @@ -262,7 +262,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; // Advanced medical @@ -274,14 +274,14 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); @@ -300,21 +300,21 @@ class Medical { condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\tourniquet.paa); + icon = QPATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { displayName = CSTRING(Inject_Morphine); condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Morphine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Adenosine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Adenosine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Adenosine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = CSTRING(Inject_Atropine); @@ -355,7 +355,7 @@ class Medical { statement = QUOTE([ARR_3(_target, true, 4)] call DFUNC(displayPatientInformation)); modifierFunction = QUOTE([ARR_4(_target,_player,4,_this select 3)] call FUNC(modifyMedicalAction)); condition = "true"; - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); class Bandage { displayName = CSTRING(Bandage); @@ -365,7 +365,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; @@ -378,14 +378,14 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); @@ -404,28 +404,28 @@ class Medical { condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\tourniquet.paa); + icon = QPATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { displayName = CSTRING(Inject_Morphine); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Morphine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Adenosine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Adenosine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Adenosine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Atropine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Epinephrine: Morphine { displayName = CSTRING(Inject_Epinephrine); @@ -447,7 +447,7 @@ class Medical { statement = QUOTE([ARR_3(_target, true, 5)] call DFUNC(displayPatientInformation)); modifierFunction = QUOTE([ARR_4(_target,_player,5,_this select 3)] call FUNC(modifyMedicalAction)); condition = "true"; - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); class Bandage { displayName = CSTRING(Bandage); @@ -457,7 +457,7 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment)); showDisabled = 1; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; @@ -470,14 +470,14 @@ class Medical { statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(treatment)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\bandage.paa); + icon = QPATHTOF(UI\icons\bandage.paa); }; class PackingBandage: fieldDressing { displayName = CSTRING(Actions_PackingBandage); condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\packingBandage.paa); + icon = QPATHTOF(UI\icons\packingBandage.paa); }; class ElasticBandage: fieldDressing { displayName = CSTRING(Actions_ElasticBandage); @@ -496,21 +496,21 @@ class Medical { condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\tourniquet.paa); + icon = QPATHTOF(UI\icons\tourniquet.paa); }; class Morphine: fieldDressing { displayName = CSTRING(Inject_Morphine); condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Morphine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Adenosine: Morphine { displayName = CSTRING(Inject_Atropine); condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Adenosine')] call DFUNC(canTreatCached)); exceptions[] = {"isNotInside"}; statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Adenosine')] call DFUNC(treatment)); - icon = PATHTOF(UI\icons\autoInjector.paa); + icon = QPATHTOF(UI\icons\autoInjector.paa); }; class Atropine: Morphine { displayName = CSTRING(Inject_Atropine); diff --git a/addons/medical/CfgSounds.hpp b/addons/medical/CfgSounds.hpp index 6b5fa48344..9cc5faedf9 100644 --- a/addons/medical/CfgSounds.hpp +++ b/addons/medical/CfgSounds.hpp @@ -1,37 +1,37 @@ class CfgSounds { class ACE_heartbeat_fast_1 { name = "ACE_heartbeat_fast_1"; - sound[] = {QUOTE(PATHTOF(sounds\heart_beats\fast_1.wav)), "db+1", 1}; + sound[] = {QPATHTOF(sounds\heart_beats\fast_1.wav), "db+1", 1}; titles[] = {}; }; class ACE_heartbeat_fast_2 { name = "ACE_heartbeat_fast_2"; - sound[] = {QUOTE(PATHTOF(sounds\heart_beats\fast_2.wav)), "db+1", 1}; + sound[] = {QPATHTOF(sounds\heart_beats\fast_2.wav), "db+1", 1}; titles[] = {}; }; class ACE_heartbeat_fast_3 { name = "ACE_heartbeat_fast_3"; - sound[] = {QUOTE(PATHTOF(sounds\heart_beats\fast_3.wav)), "db+1", 1}; + sound[] = {QPATHTOF(sounds\heart_beats\fast_3.wav), "db+1", 1}; titles[] = {}; }; class ACE_heartbeat_norm_1 { name = "ACE_heartbeat_norm_1"; - sound[] = {QUOTE(PATHTOF(sounds\heart_beats\norm_1.wav)), "db+1", 1}; + sound[] = {QPATHTOF(sounds\heart_beats\norm_1.wav), "db+1", 1}; titles[] = {}; }; class ACE_heartbeat_norm_2 { name = "ACE_heartbeat_norm_2"; - sound[] = {QUOTE(PATHTOF(sounds\heart_beats\norm_2.wav)), "db+1", 1}; + sound[] = {QPATHTOF(sounds\heart_beats\norm_2.wav), "db+1", 1}; titles[] = {}; }; class ACE_heartbeat_slow_1 { name = "ACE_heartbeat_slow_1"; - sound[] = {QUOTE(PATHTOF(sounds\heart_beats\slow_1.wav)), "db+1", 1}; + sound[] = {QPATHTOF(sounds\heart_beats\slow_1.wav), "db+1", 1}; titles[] = {}; }; class ACE_heartbeat_slow_2 { name = "ACE_heartbeat_slow_2"; - sound[] = {QUOTE(PATHTOF(sounds\heart_beats\slow_2.wav)), "db+1", 1}; + sound[] = {QPATHTOF(sounds\heart_beats\slow_2.wav), "db+1", 1}; titles[] = {}; }; }; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 86ad45296b..fb64aa07e5 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -14,7 +14,7 @@ class CfgVehicles { class ACE_moduleMedicalSettings: ACE_Module { scope = 2; displayName = CSTRING(MedicalSettings_Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa); category = "ACE_medical"; function = QUOTE(DFUNC(moduleMedicalSettings)); functionPriority = 1; @@ -156,7 +156,7 @@ class CfgVehicles { class ACE_moduleBasicMedicalSettings: ACE_Module { scope = 2; displayName = CSTRING(BasicMedicalSettings_Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa); category = "ACE_medical"; function = QUOTE(FUNC(moduleBasicMedicalSettings)); functionPriority = 10; @@ -198,7 +198,7 @@ class CfgVehicles { class ACE_moduleAdvancedMedicalSettings: ACE_Module { scope = 2; displayName = CSTRING(AdvancedMedicalSettings_Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa); category = "ACE_medical"; function = QUOTE(FUNC(moduleAdvancedMedicalSettings)); functionPriority = 10; @@ -320,7 +320,7 @@ class CfgVehicles { class ACE_moduleReviveSettings: ACE_Module { scope = 2; displayName = CSTRING(ReviveSettings_Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa); category = "ACE_medical"; function = QUOTE(DFUNC(moduleReviveSettings)); functionPriority = 1; @@ -364,7 +364,7 @@ class CfgVehicles { class ACE_moduleAssignMedicRoles: Module_F { scope = 2; displayName = CSTRING(AssignMedicRoles_Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa); category = "ACE_medical"; function = QUOTE(FUNC(moduleAssignMedicRoles)); functionPriority = 10; @@ -411,7 +411,7 @@ class CfgVehicles { class ACE_moduleAssignMedicVehicle: Module_F { scope = 2; displayName = CSTRING(AssignMedicVehicle_Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa); category = "ACE_medical"; function = QUOTE(FUNC(moduleAssignMedicalVehicle)); functionPriority = 10; @@ -455,7 +455,7 @@ class CfgVehicles { class ACE_moduleAssignMedicalFacility: Module_F { scope = 2; displayName = CSTRING(AssignMedicalFacility_Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa); category = "ACE_medical"; function = QUOTE(FUNC(moduleAssignMedicalFacility)); functionPriority = 10; @@ -534,7 +534,7 @@ class CfgVehicles { exceptions[] = {"isNotInside"}; condition = QUOTE((vehicle _target != _target && vehicle _target == vehicle _player) || GVAR(menuTypeStyle) == 1); statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation)); - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); #undef EXCEPTIONS #undef ACTION_CONDITION @@ -549,7 +549,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player, _target)] call DFUNC(actionLoadUnit)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); exceptions[] = {"isNotDragging", "isNotCarrying"}; }; class GVAR(UnLoadPatient) { @@ -559,7 +559,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player, _target)] call DFUNC(actionUnloadUnit)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\icons\medical_cross.paa); + icon = QPATHTOF(UI\icons\medical_cross.paa); exceptions[] = {"isNotDragging", "isNotCarrying", "isNotInside"}; }; }; @@ -659,7 +659,7 @@ class CfgVehicles { scope = 1; scopeCurator = 2; side = -1; - model = QUOTE(PATHTOEF(apl,bodybag.p3d)); + model = QPATHTOEF(apl,bodybag.p3d); icon = ""; displayName = CSTRING(Bodybag_Display); EGVAR(dragging,canDrag) = 1; @@ -686,40 +686,40 @@ class CfgVehicles { scopeCurator = 0; displayName = " "; destrType = "DestructNo"; - model = QUOTE(PATHTOF(data\littergeneric.p3d)); + model = QPATHTOF(data\littergeneric.p3d); }; class ACE_MedicalLitter_clean: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_clean.p3d)); + model = QPATHTOF(data\littergeneric_clean.p3d); }; class ACE_MedicalLitter_bandage1: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_bandages1.p3d)); + model = QPATHTOF(data\littergeneric_bandages1.p3d); }; class ACE_MedicalLitter_bandage2: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_bandages2.p3d)); + model = QPATHTOF(data\littergeneric_bandages2.p3d); }; class ACE_MedicalLitter_bandage3: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_bandages3.p3d)); + model = QPATHTOF(data\littergeneric_bandages3.p3d); }; class ACE_MedicalLitter_packingBandage: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_packingBandage.p3d)); + model = QPATHTOF(data\littergeneric_packingBandage.p3d); }; class ACE_MedicalLitter_gloves: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_gloves.p3d)); + model = QPATHTOF(data\littergeneric_gloves.p3d); }; class ACE_MedicalLitter_adenosine: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_adenosine.p3d)); + model = QPATHTOF(data\littergeneric_adenosine.p3d); }; class ACE_MedicalLitter_atropine: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_atropine.p3d)); + model = QPATHTOF(data\littergeneric_atropine.p3d); }; class ACE_MedicalLitter_epinephrine: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_epinephrine.p3d)); + model = QPATHTOF(data\littergeneric_epinephrine.p3d); }; class ACE_MedicalLitter_morphine: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_morphine.p3d)); + model = QPATHTOF(data\littergeneric_morphine.p3d); }; class ACE_MedicalLitter_QuickClot: ACE_MedicalLitterBase { - model = QUOTE(PATHTOF(data\littergeneric_Quikclot.p3d)); + model = QPATHTOF(data\littergeneric_Quikclot.p3d); }; class Item_Base_F; class ACE_fieldDressingItem: Item_Base_F { @@ -880,7 +880,7 @@ class CfgVehicles { scopeCurator = 2; accuracy = 1000; displayName = CSTRING(medicalSupplyCrate); - model = PATHTOF(data\ace_medcrate.p3d); + model = QPATHTOF(data\ace_medcrate.p3d); author = ECSTRING(common,ACETeam); class TransportItems { MACRO_ADDITEM(ACE_fieldDressing,50); diff --git a/addons/medical/CfgWeapons.hpp b/addons/medical/CfgWeapons.hpp index 4bd5452794..7d9a273c6c 100644 --- a/addons/medical/CfgWeapons.hpp +++ b/addons/medical/CfgWeapons.hpp @@ -22,8 +22,8 @@ class CfgWeapons { class ACE_ItemCore; class ACE_fieldDressing: ACE_ItemCore { scope = 2; - model = QUOTE(PATHTOF(data\bandage.p3d)); - picture = QUOTE(PATHTOF(ui\items\fieldDressing_x_ca.paa)); + model = QPATHTOF(data\bandage.p3d); + picture = QPATHTOF(ui\items\fieldDressing_x_ca.paa); displayName = CSTRING(Bandage_Basic_Display); descriptionShort = CSTRING(Bandage_Basic_Desc_Short); descriptionUse = CSTRING(Bandage_Basic_Desc_Use); @@ -34,8 +34,8 @@ class CfgWeapons { class ACE_packingBandage: ACE_ItemCore { scope = 2; displayName = CSTRING(Packing_Bandage_Display); - picture = QUOTE(PATHTOF(ui\items\packingBandage_x_ca.paa)); - model = QUOTE(PATHTOF(data\packingbandage.p3d)); + picture = QPATHTOF(ui\items\packingBandage_x_ca.paa); + model = QPATHTOF(data\packingbandage.p3d); descriptionShort = CSTRING(Packing_Bandage_Desc_Short); descriptionUse = CSTRING(Packing_Bandage_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -45,7 +45,7 @@ class CfgWeapons { class ACE_elasticBandage: ACE_ItemCore { scope = 2; displayName = CSTRING(Bandage_Elastic_Display); - picture = QUOTE(PATHTOF(ui\items\elasticBandage_x_ca.paa)); + picture = QPATHTOF(ui\items\elasticBandage_x_ca.paa); model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d"; descriptionShort = CSTRING(Bandage_Elastic_Desc_Short); descriptionUse = CSTRING(Bandage_Elastic_Desc_Use); @@ -56,8 +56,8 @@ class CfgWeapons { class ACE_tourniquet: ACE_ItemCore { scope = 2; displayName = CSTRING(Tourniquet_Display); - picture = QUOTE(PATHTOF(ui\items\tourniquet_x_ca.paa)); - model = QUOTE(PATHTOF(data\tourniquet.p3d)); + picture = QPATHTOF(ui\items\tourniquet_x_ca.paa); + model = QPATHTOF(data\tourniquet.p3d); descriptionShort = CSTRING(Tourniquet_Desc_Short); descriptionUse = CSTRING(Tourniquet_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -67,8 +67,8 @@ class CfgWeapons { class ACE_morphine: ACE_ItemCore { scope = 2; displayName = CSTRING(Morphine_Display); - picture = QUOTE(PATHTOF(ui\items\morphine_x_ca.paa)); - model = QUOTE(PATHTOF(data\morphine.p3d)); + picture = QPATHTOF(ui\items\morphine_x_ca.paa); + model = QPATHTOF(data\morphine.p3d); descriptionShort = CSTRING(Morphine_Desc_Short); descriptionUse = CSTRING(Morphine_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -78,8 +78,8 @@ class CfgWeapons { class ACE_adenosine: ACE_ItemCore { scope = 2; displayName = CSTRING(Adenosine_Display); - picture = QUOTE(PATHTOF(ui\items\adenosine_x_ca.paa)); - model = QUOTE(PATHTOF(data\adenosine.p3d)); + picture = QPATHTOF(ui\items\adenosine_x_ca.paa); + model = QPATHTOF(data\adenosine.p3d); descriptionShort = CSTRING(adenosine_Desc_Short); descriptionUse = CSTRING(adenosine_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -89,8 +89,8 @@ class CfgWeapons { class ACE_atropine: ACE_ItemCore { scope = 2; displayName = CSTRING(Atropine_Display); - picture = QUOTE(PATHTOF(ui\items\atropine_x_ca.paa)); - model = QUOTE(PATHTOF(data\atropine.p3d)); + picture = QPATHTOF(ui\items\atropine_x_ca.paa); + model = QPATHTOF(data\atropine.p3d); descriptionShort = CSTRING(Atropine_Desc_Short); descriptionUse = CSTRING(Atropine_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -100,8 +100,8 @@ class CfgWeapons { class ACE_epinephrine: ACE_ItemCore { scope = 2; displayName = CSTRING(Epinephrine_Display); - picture = QUOTE(PATHTOF(ui\items\epinephrine_x_ca.paa)); - model = QUOTE(PATHTOF(data\epinephrine.p3d)); + picture = QPATHTOF(ui\items\epinephrine_x_ca.paa); + model = QPATHTOF(data\epinephrine.p3d); descriptionShort = CSTRING(Epinephrine_Desc_Short); descriptionUse = CSTRING(Epinephrine_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -112,10 +112,10 @@ class CfgWeapons { class ACE_plasmaIV: ACE_ItemCore { scope = 2; displayName = CSTRING(Plasma_IV); - model = QUOTE(PATHTOF(data\IVBag_1000ml.p3d)); + model = QPATHTOF(data\IVBag_1000ml.p3d); hiddenSelections[] = {"camo"}; - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_plasma_1000ml_ca.paa)) }; - picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa)); + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_plasma_1000ml_ca.paa) }; + picture = QPATHTOF(ui\items\plasmaIV_x_ca.paa); descriptionShort = CSTRING(Plasma_IV_Desc_Short); descriptionUse = CSTRING(Plasma_IV_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -124,27 +124,27 @@ class CfgWeapons { }; class ACE_plasmaIV_500: ACE_plasmaIV { displayName = CSTRING(Plasma_IV_500); - model = QUOTE(PATHTOF(data\IVBag_500ml.p3d)); - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_plasma_500ml_ca.paa)) }; + model = QPATHTOF(data\IVBag_500ml.p3d); + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_plasma_500ml_ca.paa) }; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_plasmaIV_250: ACE_plasmaIV { displayName = CSTRING(Plasma_IV_250); - model = QUOTE(PATHTOF(data\IVBag_250ml.p3d)); - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_plasma_250ml_ca.paa)) }; + model = QPATHTOF(data\IVBag_250ml.p3d); + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_plasma_250ml_ca.paa) }; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; }; class ACE_bloodIV: ACE_ItemCore { scope = 2; - model = QUOTE(PATHTOF(data\IVBag_1000ml.p3d)); + model = QPATHTOF(data\IVBag_1000ml.p3d); displayName = CSTRING(Blood_IV); - picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa)); + picture = QPATHTOF(ui\items\bloodIV_x_ca.paa); hiddenSelections[] = {"camo"}; - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_blood_1000ml_ca.paa)) }; + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_blood_1000ml_ca.paa) }; descriptionShort = CSTRING(Blood_IV_Desc_Short); descriptionUse = CSTRING(Blood_IV_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -153,16 +153,16 @@ class CfgWeapons { }; class ACE_bloodIV_500: ACE_bloodIV { displayName = CSTRING(Blood_IV_500); - model = QUOTE(PATHTOF(data\IVBag_500ml.p3d)); - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_blood_500ml_ca.paa)) }; + model = QPATHTOF(data\IVBag_500ml.p3d); + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_blood_500ml_ca.paa) }; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_bloodIV_250: ACE_bloodIV { displayName = CSTRING(Blood_IV_250); - model = QUOTE(PATHTOF(data\IVBag_250ml.p3d)); - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_blood_250ml_ca.paa)) }; + model = QPATHTOF(data\IVBag_250ml.p3d); + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_blood_250ml_ca.paa) }; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; @@ -170,10 +170,10 @@ class CfgWeapons { class ACE_salineIV: ACE_ItemCore { scope = 2; displayName = CSTRING(Saline_IV); - model = QUOTE(PATHTOF(data\IVBag_1000ml.p3d)); + model = QPATHTOF(data\IVBag_1000ml.p3d); hiddenSelections[] = {"camo"}; - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_saline_1000ml_ca.paa)) }; - picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa)); + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_saline_1000ml_ca.paa) }; + picture = QPATHTOF(ui\items\salineIV_x_ca.paa); descriptionShort = CSTRING(Saline_IV_Desc_Short); descriptionUse = CSTRING(Saline_IV_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -182,16 +182,16 @@ class CfgWeapons { }; class ACE_salineIV_500: ACE_salineIV { displayName = CSTRING(Saline_IV_500); - model = QUOTE(PATHTOF(data\IVBag_500ml.p3d)); - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_saline_500ml_ca.paa)) }; + model = QPATHTOF(data\IVBag_500ml.p3d); + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_saline_500ml_ca.paa) }; class ItemInfo: InventoryItem_Base_F { mass = 5; }; }; class ACE_salineIV_250: ACE_salineIV { displayName = CSTRING(Saline_IV_250); - model = QUOTE(PATHTOF(data\IVBag_250ml.p3d)); - hiddenSelectionsTextures[] = { QUOTE(PATHTOF(data\IVBag_saline_250ml_ca.paa)) }; + model = QPATHTOF(data\IVBag_250ml.p3d); + hiddenSelectionsTextures[] = { QPATHTOF(data\IVBag_saline_250ml_ca.paa) }; class ItemInfo: InventoryItem_Base_F { mass = 2.5; }; @@ -199,8 +199,8 @@ class CfgWeapons { class ACE_quikclot: ACE_ItemCore { scope = 2; displayName = CSTRING(QuikClot_Display); - model = QUOTE(PATHTOF(data\QuikClot.p3d)); - picture = QUOTE(PATHTOF(ui\items\quickclot_x_ca.paa)); + model = QPATHTOF(data\QuikClot.p3d); + picture = QPATHTOF(ui\items\quickclot_x_ca.paa); descriptionShort = CSTRING(QuikClot_Desc_Short); descriptionUse = CSTRING(QuikClot_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -210,7 +210,7 @@ class CfgWeapons { class ACE_personalAidKit: ACE_ItemCore { scope = 2; displayName = CSTRING(Aid_Kit_Display); - picture = QUOTE(PATHTOF(ui\items\personal_aid_kit_x_ca.paa)); + picture = QPATHTOF(ui\items\personal_aid_kit_x_ca.paa); descriptionShort = CSTRING(Aid_Kit_Desc_Short); descriptionUse = CSTRING(Aid_Kit_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -220,8 +220,8 @@ class CfgWeapons { class ACE_surgicalKit: ACE_ItemCore { scope=2; displayName= CSTRING(SurgicalKit_Display); - model = QUOTE(PATHTOF(data\surgical_kit.p3d)); - picture = QUOTE(PATHTOF(ui\items\surgicalKit_x_ca.paa)); + model = QPATHTOF(data\surgical_kit.p3d); + picture = QPATHTOF(ui\items\surgicalKit_x_ca.paa); descriptionShort = CSTRING(SurgicalKit_Desc_Short); descriptionUse = CSTRING(SurgicalKit_Desc_Use); class ItemInfo: InventoryItem_Base_F { @@ -231,8 +231,8 @@ class CfgWeapons { class ACE_bodyBag: ACE_ItemCore { scope=2; displayName= CSTRING(Bodybag_Display); - model = QUOTE(PATHTOF(data\bodybagItem.p3d)); - picture = QUOTE(PATHTOF(ui\items\bodybag_x_ca.paa)); + model = QPATHTOF(data\bodybagItem.p3d); + picture = QPATHTOF(ui\items\bodybag_x_ca.paa); descriptionShort = CSTRING(Bodybag_Desc_Short); descriptionUse = CSTRING(Bodybag_Desc_Use); class ItemInfo: InventoryItem_Base_F { diff --git a/addons/medical/functions/fnc_modifyMedicalAction.sqf b/addons/medical/functions/fnc_modifyMedicalAction.sqf index 02e5985297..f36a87855b 100644 --- a/addons/medical/functions/fnc_modifyMedicalAction.sqf +++ b/addons/medical/functions/fnc_modifyMedicalAction.sqf @@ -24,10 +24,10 @@ if (GVAR(level) < 2 || {!([_target] call FUNC(hasMedicalEnabled))}) exitWith { _pointDamage = (_target getVariable [QGVAR(bodyPartStatus), [0,0,0,0,0,0]]) select _selectionN; if (_pointDamage >= 0.8) exitWith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; + _actionData set [2, QPATHTOF(UI\icons\medical_crossRed.paa)]; }; if (_pointDamage > 0) exitWith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossYellow.paa))]; + _actionData set [2, QPATHTOF(UI\icons\medical_crossYellow.paa)]; }; }; @@ -36,6 +36,6 @@ _openWounds = _target getVariable [QGVAR(openWounds), []]; { _x params ["", "", "_selectionX", "_amountOf", "_x4"]; if (_amountOf > 0 && {(_selectionN == _selectionX)} && {_x4 > 0}) exitWith { - _actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))]; + _actionData set [2, QPATHTOF(UI\icons\medical_crossRed.paa)]; }; } forEach _openWounds; diff --git a/addons/medical/ui/RscTitles.hpp b/addons/medical/ui/RscTitles.hpp index 520a431d7b..76c1da46c0 100644 --- a/addons/medical/ui/RscTitles.hpp +++ b/addons/medical/ui/RscTitles.hpp @@ -19,34 +19,34 @@ class Rsctitles { colorBackground[] = {1,1,1,1}; colorPicture[] = {1,1,1,1}; colorText[] = {1,1,1,1}; - text = QUOTE(PATHTOF(ui\body_background.paa)); + text = QPATHTOF(ui\body_background.paa); }; class bodyImgHead: bodyImgBackground { idc = 50; colorBackground[] = {1,1,1,1}; colorPicture[] = {1,1,1,1}; colorText[] = {1,1,1,1}; - text = QUOTE(PATHTOF(ui\body_head.paa)); + text = QPATHTOF(ui\body_head.paa); }; class bodyImgTorso: bodyImgHead { idc = 51; - text = QUOTE(PATHTOF(ui\body_torso.paa)); + text = QPATHTOF(ui\body_torso.paa); }; class bodyImgArms_l: bodyImgHead { idc = 52; - text = QUOTE(PATHTOF(ui\body_arm_left.paa)); + text = QPATHTOF(ui\body_arm_left.paa); }; class bodyImgArms_r: bodyImgHead { idc = 53; - text = QUOTE(PATHTOF(ui\body_arm_right.paa)); + text = QPATHTOF(ui\body_arm_right.paa); }; class bodyImgLegs_l: bodyImgHead { idc = 54; - text = QUOTE(PATHTOF(ui\body_leg_left.paa)); + text = QPATHTOF(ui\body_leg_left.paa); }; class bodyImgLegs_r: bodyImgHead { idc = 55; - text = QUOTE(PATHTOF(ui\body_leg_right.paa)); + text = QPATHTOF(ui\body_leg_right.paa); }; class InjuryListLabel { idc = 199; diff --git a/addons/medical/ui/triagecard.hpp b/addons/medical/ui/triagecard.hpp index 1122c2e942..6a5138def8 100644 --- a/addons/medical/ui/triagecard.hpp +++ b/addons/medical/ui/triagecard.hpp @@ -30,11 +30,11 @@ class GVAR(triageCard) { SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; colorText[] = {1,1,0,1}; colorBackground[] = {0,0,0,0}; - text = QUOTE(PATHTOF(ui\triage_card_corner_l.paa)); + text = QPATHTOF(ui\triage_card_corner_l.paa); }; class cornor_top_r: cornor_top_l { x = "20 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = QUOTE(PATHTOF(ui\triage_card_corner_r.paa)); + text = QPATHTOF(ui\triage_card_corner_r.paa); }; class TriageCardLabel { diff --git a/addons/medical_menu/CfgVehicles.hpp b/addons/medical_menu/CfgVehicles.hpp index d2bbf55fd1..1918511566 100644 --- a/addons/medical_menu/CfgVehicles.hpp +++ b/addons/medical_menu/CfgVehicles.hpp @@ -5,7 +5,7 @@ class CfgVehicles { class ACE_moduleMedicalMenuSettings: ACE_Module { scope = 2; displayName = CSTRING(module_DisplayName); - icon = QUOTE(PATHTOEF(medical,UI\Icon_Module_Medical_ca.paa)); + icon = QPATHTOEF(medical,UI\Icon_Module_Medical_ca.paa); category = "ACE_medical"; function = QUOTE(DFUNC(module)); functionPriority = 1; @@ -50,7 +50,7 @@ class CfgVehicles { exceptions[] = {"isNotInside"}; condition = QUOTE([ARR_2(ACE_player,_target)] call FUNC(canOpenMenu)); statement = QUOTE([_target] call DFUNC(openMenu)); - icon = PATHTOEF(medical,UI\icons\medical_cross.paa); + icon = QPATHTOEF(medical,UI\icons\medical_cross.paa); }; }; @@ -63,7 +63,7 @@ class CfgVehicles { exceptions[] = {"isNotInside"}; condition = QUOTE([ARR_2(ACE_player,_target)] call FUNC(canOpenMenu)); statement = QUOTE([_target] call DFUNC(openMenu)); - icon = PATHTOEF(medical,UI\icons\medical_cross.paa); + icon = QPATHTOEF(medical,UI\icons\medical_cross.paa); }; }; }; diff --git a/addons/medical_menu/ui/menu.hpp b/addons/medical_menu/ui/menu.hpp index c443819caa..16c79e7c6a 100644 --- a/addons/medical_menu/ui/menu.hpp +++ b/addons/medical_menu/ui/menu.hpp @@ -51,7 +51,7 @@ class GVAR(medicalMenu) { y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)"; h = "3.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = QUOTE(PATHTOF(data\background_img.paa)); + text = QPATHTOF(data\background_img.paa); colorText[] = {1, 1, 1, 0.0}; }; class CatagoryLeft: HeaderName { @@ -94,42 +94,42 @@ class GVAR(medicalMenu) { colorBackground[] = {0,0,0,1}; colorPicture[] = {1,1,1,1}; colorText[] = {1,1,1,1}; - text = QUOTE(PATHTOF(data\icons\triage_card_small.paa)); + text = QPATHTOF(data\icons\triage_card_small.paa); }; class iconImg2: iconImg1 { idc = 112; x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = QUOTE(PATHTOF(data\icons\examine_patient_small.paa)); + text = QPATHTOF(data\icons\examine_patient_small.paa); }; class iconImg3: iconImg1 { idc = 113; x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = QUOTE(PATHTOF(data\icons\bandage_fracture_small.paa)); + text = QPATHTOF(data\icons\bandage_fracture_small.paa); }; class iconImg4: iconImg1 { idc = 114; x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = QUOTE(PATHTOF(data\icons\medication_small.paa)); + text = QPATHTOF(data\icons\medication_small.paa); }; class iconImg5: iconImg1 { idc = 115; x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = QUOTE(PATHTOF(data\icons\airway_management_small.paa)); + text = QPATHTOF(data\icons\airway_management_small.paa); }; class iconImg6: iconImg1 { idc = 116; x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = QUOTE(PATHTOF(data\icons\advanced_treatment_small.paa)); + text = QPATHTOF(data\icons\advanced_treatment_small.paa); }; class iconImg7: iconImg1 { idc = 117; x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = QUOTE(PATHTOF(data\icons\icon_carry.paa)); + text = QPATHTOF(data\icons\icon_carry.paa); }; class iconImg8: iconImg1 { idc = 118; x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - text = QUOTE(PATHTOF(data\icons\toggle_self_small.paa)); + text = QPATHTOF(data\icons\toggle_self_small.paa); }; @@ -274,7 +274,7 @@ class GVAR(medicalMenu) { colorBackground[] = {1,1,1,1}; colorPicture[] = {1,1,1,1}; colorText[] = {1,1,1,1}; - text = QUOTE(PATHTOEF(medical,ui\body_background.paa)); + text = QPATHTOEF(medical,ui\body_background.paa); }; class bodyImgHead: bodyImgBackground { idc = 50; @@ -286,28 +286,28 @@ class GVAR(medicalMenu) { colorBackground[] = {1,1,1,1}; colorPicture[] = {1,1,1,0.75}; colorText[] = {1,1,1,0.75}; - text = QUOTE(PATHTOEF(medical,ui\body_head.paa)); + text = QPATHTOEF(medical,ui\body_head.paa); }; class bodyImgTorso: bodyImgHead { idc = 51; - text = QUOTE(PATHTOEF(medical,ui\body_torso.paa)); + text = QPATHTOEF(medical,ui\body_torso.paa); }; class bodyImgArms_l: bodyImgHead { idc = 52; - text = QUOTE(PATHTOEF(medical,ui\body_arm_left.paa)); + text = QPATHTOEF(medical,ui\body_arm_left.paa); }; class bodyImgArms_r: bodyImgHead { idc = 53; - text = QUOTE(PATHTOEF(medical,ui\body_arm_right.paa)); + text = QPATHTOEF(medical,ui\body_arm_right.paa); }; class bodyImgLegs_l: bodyImgHead { idc = 54; - text = QUOTE(PATHTOEF(medical,ui\body_leg_left.paa)); + text = QPATHTOEF(medical,ui\body_leg_left.paa); }; class bodyImgLegs_r: bodyImgHead { idc = 55; - text = QUOTE(PATHTOEF(medical,ui\body_leg_right.paa)); + text = QPATHTOEF(medical,ui\body_leg_right.paa); }; diff --git a/addons/microdagr/CfgVehicles.hpp b/addons/microdagr/CfgVehicles.hpp index 3fcf92beaa..cf596c9762 100644 --- a/addons/microdagr/CfgVehicles.hpp +++ b/addons/microdagr/CfgVehicles.hpp @@ -8,21 +8,21 @@ class CfgVehicles { displayName = CSTRING(configure); condition = QUOTE(([DISPLAY_MODE_DIALOG] call FUNC(canShow)) && {GVAR(currentShowMode) != DISPLAY_MODE_DIALOG}); statement = QUOTE([DISPLAY_MODE_DIALOG] call FUNC(openDisplay)); - icon = QUOTE(PATHTOF(UI\icon_microDAGR.paa)); + icon = QPATHTOF(UI\icon_microDAGR.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; class GVAR(show) { //Opens the mini map displayName = CSTRING(show); condition = QUOTE(([DISPLAY_MODE_DISPLAY] call FUNC(canShow)) && {GVAR(currentShowMode) != DISPLAY_MODE_DISPLAY}); statement = QUOTE([DISPLAY_MODE_DISPLAY] call FUNC(openDisplay)); - icon = QUOTE(PATHTOF(UI\icon_microDAGR.paa)); + icon = QPATHTOF(UI\icon_microDAGR.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; }; class GVAR(close) { displayName = CSTRING(closeUnit); condition = QUOTE(GVAR(currentShowMode) != DISPLAY_MODE_CLOSED); statement = QUOTE([DISPLAY_MODE_CLOSED] call FUNC(openDisplay)); - icon = QUOTE(PATHTOF(UI\icon_microDAGR.paa)); + icon = QPATHTOF(UI\icon_microDAGR.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; }; }; @@ -39,7 +39,7 @@ class CfgVehicles { scope = 2; isGlobal = 0; isSingular = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_microDAGR_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_microDAGR_ca.paa); functionPriority = 0; class Arguments { class MapDataAvailable { @@ -72,7 +72,7 @@ class CfgVehicles { displayName = CSTRING(itemName); author = ECSTRING(common,ACETeam); vehicleClass = "Items"; - icon = QUOTE(PATHTOF(UI\icon_microDAGR.paa)); + icon = QPATHTOF(UI\icon_microDAGR.paa); class TransportItems { MACRO_ADDITEM(ACE_microDAGR,1); }; diff --git a/addons/microdagr/CfgWeapons.hpp b/addons/microdagr/CfgWeapons.hpp index 6fa84b6e7b..92ace96c53 100644 --- a/addons/microdagr/CfgWeapons.hpp +++ b/addons/microdagr/CfgWeapons.hpp @@ -7,8 +7,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(itemName); descriptionShort = CSTRING(itemDescription); - model = QUOTE(PATHTOF(data\MicroDAGR.p3d)); - picture = QUOTE(PATHTOF(images\microDAGR_item.paa)); + model = QPATHTOF(data\MicroDAGR.p3d); + picture = QPATHTOF(images\microDAGR_item.paa); class ItemInfo: InventoryItem_Base_F { mass = 2; }; diff --git a/addons/microdagr/XEH_clientInit.sqf b/addons/microdagr/XEH_clientInit.sqf index c918bcf454..c11019cafb 100644 --- a/addons/microdagr/XEH_clientInit.sqf +++ b/addons/microdagr/XEH_clientInit.sqf @@ -16,7 +16,7 @@ _closeCode = { if (GVAR(currentShowMode) == DISPLAY_MODE_CLOSED) exitWith {}; [DISPLAY_MODE_CLOSED] call FUNC(openDisplay); }; -[(localize LSTRING(itemName)), QUOTE(PATHTOF(images\microDAGR_item.paa)), _conditonCode, _toggleCode, _closeCode] call EFUNC(common,deviceKeyRegisterNew); +[(localize LSTRING(itemName)), QPATHTOF(images\microDAGR_item.paa), _conditonCode, _toggleCode, _closeCode] call EFUNC(common,deviceKeyRegisterNew); //Add Eventhandler: diff --git a/addons/microdagr/functions/fnc_showApplicationPage.sqf b/addons/microdagr/functions/fnc_showApplicationPage.sqf index dba6b54f18..9b461d6b64 100644 --- a/addons/microdagr/functions/fnc_showApplicationPage.sqf +++ b/addons/microdagr/functions/fnc_showApplicationPage.sqf @@ -40,7 +40,7 @@ if (GVAR(currentApplicationPage) == APP_MODE_INFODISPLAY) then { if (GVAR(currentWaypoint) == -2) then { (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa" } else { - (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText QUOTE(PATHTOF(images\icon_menuMark.paa)); + (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText QPATHTOF(images\icon_menuMark.paa); }; }; }; @@ -100,19 +100,19 @@ if (GVAR(currentApplicationPage) == APP_MODE_MARK) then { //Buttons pushed: if (GVAR(currentApplicationPage) == APP_MODE_INFODISPLAY) then { - (_display displayCtrl IDC_BUTTONBG0) ctrlSetText QUOTE(PATHTOF(images\button_pushedDown.paa)); + (_display displayCtrl IDC_BUTTONBG0) ctrlSetText QPATHTOF(images\button_pushedDown.paa); } else { - (_display displayCtrl IDC_BUTTONBG0) ctrlSetText QUOTE(PATHTOF(images\button_pushedUp.paa)); + (_display displayCtrl IDC_BUTTONBG0) ctrlSetText QPATHTOF(images\button_pushedUp.paa); }; if (GVAR(currentApplicationPage) == APP_MODE_COMPASS) then { - (_display displayCtrl IDC_BUTTONBG1) ctrlSetText QUOTE(PATHTOF(images\button_pushedDown.paa)); + (_display displayCtrl IDC_BUTTONBG1) ctrlSetText QPATHTOF(images\button_pushedDown.paa); } else { - (_display displayCtrl IDC_BUTTONBG1) ctrlSetText QUOTE(PATHTOF(images\button_pushedUp.paa)); + (_display displayCtrl IDC_BUTTONBG1) ctrlSetText QPATHTOF(images\button_pushedUp.paa); }; if (GVAR(currentApplicationPage) == APP_MODE_MAP) then { - (_display displayCtrl IDC_BUTTONBG2) ctrlSetText QUOTE(PATHTOF(images\button_pushedDown.paa)); + (_display displayCtrl IDC_BUTTONBG2) ctrlSetText QPATHTOF(images\button_pushedDown.paa); } else { - (_display displayCtrl IDC_BUTTONBG2) ctrlSetText QUOTE(PATHTOF(images\button_pushedUp.paa)); + (_display displayCtrl IDC_BUTTONBG2) ctrlSetText QPATHTOF(images\button_pushedUp.paa); }; //Update the page now: diff --git a/addons/microdagr/gui_controls.hpp b/addons/microdagr/gui_controls.hpp index a8fbb8f83f..c60201b34e 100644 --- a/addons/microdagr/gui_controls.hpp +++ b/addons/microdagr/gui_controls.hpp @@ -10,7 +10,7 @@ class controlsBackground { }; class StatusBarBS: RscPicture { idc = -1; - text = QUOTE(PATHTOF(images\microDAGR_topBar.paa)); + text = QPATHTOF(images\microDAGR_topBar.paa); x = X_PART(0); y = Y_PART(0); w = W_PART(25); @@ -187,7 +187,7 @@ class controls { }; class selfIcon: RscPicture { idc = -1; - text = QUOTE(PATHTOF(images\icon_self.paa)); + text = QPATHTOF(images\icon_self.paa); x = W_PART(0.5); y = H_PART(2); w = W_PART(4); @@ -242,7 +242,7 @@ class controls { }; class CompasIcon: RscPicture { idc = -1; - text = QUOTE(PATHTOF(images\icon_infoCompass.paa)); + text = QPATHTOF(images\icon_infoCompass.paa); x = W_PART(0.5); y = H_PART(8.5); w = W_PART(2); @@ -284,7 +284,7 @@ class controls { class controls { class TimeIcon: RscPicture { idc = -1; - text = QUOTE(PATHTOF(images\icon_infoClock.paa)); + text = QPATHTOF(images\icon_infoClock.paa); x = W_PART(0.5); y = H_PART(3.5); w = W_PART(2); @@ -315,7 +315,7 @@ class controls { class controls { class TargetIcon: RscPicture { idc = IDC_MODEDISPLAY_TARGETICON; - text = QUOTE(PATHTOF(images\icon_menuMark.paa)); + text = QPATHTOF(images\icon_menuMark.paa); x = W_PART(0.5); y = H_PART(0.5); w = W_PART(2); @@ -440,7 +440,7 @@ class controls { class mapTrackButton: GVAR(RscActiveTextPicture) { onbuttonclick = QUOTE(['autotrack'] call FUNC(modeMapButtons)); idc = IDC_MODEMAP_MAPTRACKBUTTON; - text = QUOTE(PATHTOF(images\icon_mapTrack.paa)); + text = QPATHTOF(images\icon_mapTrack.paa); x = X_PART(11); y = Y_PART(18.75); w = W_PART(3); @@ -449,14 +449,14 @@ class controls { class mapZoomIn: mapTrackButton { onbuttonclick = QUOTE(['zoomin'] call FUNC(modeMapButtons)); idc = IDC_MODEMAP_MAPZOOMIN; - text = QUOTE(PATHTOF(images\icon_mapPlus.paa)); + text = QPATHTOF(images\icon_mapPlus.paa); color[] = {1,1,1,0.4}; x = X_PART(4); }; class mapZoomOut: mapTrackButton { onbuttonclick = QUOTE(['zoomout'] call FUNC(modeMapButtons)); idc = IDC_MODEMAP_MAPZOOMOUT; - text = QUOTE(PATHTOF(images\icon_mapMinus.paa)); + text = QPATHTOF(images\icon_mapMinus.paa); color[] = {1,1,1,0.4}; x = X_PART(18); }; @@ -472,7 +472,7 @@ class controls { class Controls { class ButtonTL: GVAR(RscActiveTextPicture) { idc = -1; - text = QUOTE(PATHTOF(images\icon_menuMark.paa)); + text = QPATHTOF(images\icon_menuMark.paa); x = W_PART(3); y = H_PART(1.5); w = W_PART(8); @@ -480,7 +480,7 @@ class controls { onbuttonclick = QUOTE([4] call FUNC(saveCurrentAndSetNewMode)); }; class ButtonTR: ButtonTL { - text = QUOTE(PATHTOF(images\icon_menuWaypoints.paa)); + text = QPATHTOF(images\icon_menuWaypoints.paa); x = W_PART(14); y = H_PART(1.5); onbuttonclick = QUOTE([5] call FUNC(saveCurrentAndSetNewMode)); @@ -492,7 +492,7 @@ class controls { onbuttonclick = QUOTE(_this call FUNC(appMenuButtonConnectRangefinder)); }; class ButtonBR: ButtonTL { - text = QUOTE(PATHTOF(images\icon_menuSettings.paa)); + text = QPATHTOF(images\icon_menuSettings.paa); x = W_PART(14); y = H_PART(10.5); onbuttonclick = QUOTE([6] call FUNC(saveCurrentAndSetNewMode)); @@ -555,7 +555,7 @@ class controls { }; class DeleteButton: GVAR(RscActiveTextPicture) { idc = -1; - text = QUOTE(PATHTOF(images\icon_deleteButton.paa)); + text = QPATHTOF(images\icon_deleteButton.paa); x = W_PART(20); y = H_PART(2.75); w = W_PART(2); @@ -717,7 +717,7 @@ class controls { class ButtonBG0: RscPicture { idc = IDC_BUTTONBG0; - text = QUOTE(PATHTOF(images\button_pushedDown.paa)); + text = QPATHTOF(images\button_pushedDown.paa); x = X_PART(0 * (25/3)); y = Y_PART(21); w = W_PART((25/3)); @@ -733,7 +733,7 @@ class controls { }; class ButtonIcon0: GVAR(RscActiveTextPicture) { idc = -1; - text = QUOTE(PATHTOF(images\icon_info.paa)); + text = QPATHTOF(images\icon_info.paa); x = X_PART(0 * (25/3)); y = Y_PART(21); w = W_PART((25/3)); @@ -741,19 +741,19 @@ class controls { onbuttonclick = QUOTE([APP_MODE_INFODISPLAY] call FUNC(saveCurrentAndSetNewMode)); }; class ButtonIcon1: ButtonIcon0 { - text = QUOTE(PATHTOF(images\icon_compass.paa)); + text = QPATHTOF(images\icon_compass.paa); x = X_PART(1 * (25/3)); onbuttonclick = QUOTE([APP_MODE_COMPASS] call FUNC(saveCurrentAndSetNewMode)); }; class ButtonIcon2: ButtonIcon0 { - text = QUOTE(PATHTOF(images\icon_map.paa)); + text = QPATHTOF(images\icon_map.paa); x = X_PART(2 * (25/3)); onbuttonclick = QUOTE([APP_MODE_MAP] call FUNC(saveCurrentAndSetNewMode)); }; //At the end: The Big Shell overlay class MicroDagrShell: RscPicture { idc = IDC_MICRODAGRSHELL; - text = QUOTE(PATHTOF(images\microDAGR_shellPicture.paa)); + text = QPATHTOF(images\microDAGR_shellPicture.paa); x = X_PART(-14.77); y = Y_PART(-5.875); w = W_PART(53.62); diff --git a/addons/missionmodules/CfgVehicles.hpp b/addons/missionmodules/CfgVehicles.hpp index ebf0b04f66..c53398905f 100644 --- a/addons/missionmodules/CfgVehicles.hpp +++ b/addons/missionmodules/CfgVehicles.hpp @@ -9,7 +9,7 @@ class CfgVehicles { class ACE_moduleAmbianceSound: Module_F { scope = 2; displayName = CSTRING(AmbianceSounds_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Ambient_Sounds_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Ambient_Sounds_ca.paa); category = "ACE_missionModules"; function = QUOTE(FUNC(moduleAmbianceSound)); functionPriority = 1; diff --git a/addons/mk6mortar/CfgVehicles.hpp b/addons/mk6mortar/CfgVehicles.hpp index fa6667f874..75b0277192 100644 --- a/addons/mk6mortar/CfgVehicles.hpp +++ b/addons/mk6mortar/CfgVehicles.hpp @@ -8,7 +8,7 @@ class CfgVehicles { condition = QUOTE(_this call FUNC(rangeTableCanUse)); statement = QUOTE(_this call FUNC(rangeTableOpen)); priority = 0; - icon = QUOTE(PATHTOF(UI\icon_rangeTable.paa)); + icon = QPATHTOF(UI\icon_rangeTable.paa); exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; }; }; @@ -102,7 +102,7 @@ class CfgVehicles { scope = 2; isGlobal = 0; isSingular = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_mk6_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_mk6_ca.paa); functionPriority = 0; class Arguments { class airResistanceEnabled { diff --git a/addons/mk6mortar/CfgWeapons.hpp b/addons/mk6mortar/CfgWeapons.hpp index f535840e99..cb5454321d 100644 --- a/addons/mk6mortar/CfgWeapons.hpp +++ b/addons/mk6mortar/CfgWeapons.hpp @@ -7,7 +7,7 @@ class CfgWeapons { scope = 2; displayName = CSTRING(rangetable_name); descriptionShort = CSTRING(rangetable_description); - picture = QUOTE(PATHTOF(UI\icon_rangeTable.paa)); + picture = QPATHTOF(UI\icon_rangeTable.paa); class ItemInfo: InventoryItem_Base_F { mass = 0.5; }; diff --git a/addons/mk6mortar/RscRangeTable.hpp b/addons/mk6mortar/RscRangeTable.hpp index 6bf0e51619..c719dd7ee4 100644 --- a/addons/mk6mortar/RscRangeTable.hpp +++ b/addons/mk6mortar/RscRangeTable.hpp @@ -7,7 +7,7 @@ class ACE_82mm_RangeTable_Dialog { class ControlsBackground { class TableBackground: RscPicture { idc = -1; - text = QUOTE(PATHTOF(UI\RangeTable_background.paa)); + text = QPATHTOF(UI\RangeTable_background.paa); x = "18 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH)/2)"; y = "1 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2))/2)"; w = "16.2634559672906 * (safeZoneH / 40)"; diff --git a/addons/mk6mortar/cfgMagazines.hpp b/addons/mk6mortar/cfgMagazines.hpp index 679539e1a2..a726bc5a9f 100644 --- a/addons/mk6mortar/cfgMagazines.hpp +++ b/addons/mk6mortar/cfgMagazines.hpp @@ -8,8 +8,8 @@ class cfgMagazines { displayName = CSTRING(magazine_HE_displayName); displayNameShort = ""; descriptionShort = CSTRING(magazine_descriptionShort); - model = PATHTOF(data\l16_ammo_he.p3d); - picture = PATHTOF(UI\w_l16_ammo_he_ca.paa); + model = QPATHTOF(data\l16_ammo_he.p3d); + picture = QPATHTOF(UI\w_l16_ammo_he_ca.paa); mass = 50; }; class 8Rnd_82mm_Mo_Smoke_white; @@ -21,8 +21,8 @@ class cfgMagazines { displayName = CSTRING(magazine_Smoke_displayName); displayNameShort = ""; descriptionShort = CSTRING(magazine_descriptionShort); - model = PATHTOF(data\l16_ammo_smk_white.p3d); - picture = PATHTOF(UI\w_l16_ammo_smk_white_ca.paa); + model = QPATHTOF(data\l16_ammo_smk_white.p3d); + picture = QPATHTOF(UI\w_l16_ammo_smk_white_ca.paa); mass = 50; }; class 8Rnd_82mm_Mo_Flare_white; @@ -34,8 +34,8 @@ class cfgMagazines { displayName = CSTRING(magazine_Illum_displayName); displayNameShort = ""; descriptionShort = CSTRING(magazine_descriptionShort); - model = PATHTOF(data\l16_ammo_illum.p3d); - picture = PATHTOF(UI\w_l16_ammo_illum_ca.paa); + model = QPATHTOF(data\l16_ammo_illum.p3d); + picture = QPATHTOF(UI\w_l16_ammo_illum_ca.paa); mass = 50; }; class 8Rnd_82mm_Mo_guided; @@ -47,8 +47,8 @@ class cfgMagazines { displayName = CSTRING(magazine_HE_Guided_displayName); displayNameShort = ""; descriptionShort = CSTRING(magazine_descriptionShort); - model = PATHTOF(data\l16_ammo_he.p3d); - picture = PATHTOF(UI\w_l16_ammo_he_ca.paa); + model = QPATHTOF(data\l16_ammo_he.p3d); + picture = QPATHTOF(UI\w_l16_ammo_he_ca.paa); mass = 50; }; class 8Rnd_82mm_Mo_LG; @@ -60,8 +60,8 @@ class cfgMagazines { displayName = CSTRING(magazine_HE_LaserGuided_displayName); displayNameShort = ""; descriptionShort = CSTRING(magazine_descriptionShort); - model = PATHTOF(data\l16_ammo_he.p3d); - picture = PATHTOF(UI\w_l16_ammo_he_ca.paa); + model = QPATHTOF(data\l16_ammo_he.p3d); + picture = QPATHTOF(UI\w_l16_ammo_he_ca.paa); mass = 50; }; }; diff --git a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf index 2d921973d4..916b626969 100644 --- a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf +++ b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf @@ -71,7 +71,7 @@ if (_lastFireMode != -1) then { _display = uiNamespace getVariable ["ACE_Mk6_RscWeaponRangeArtillery", displayNull]; if (isNull _display) exitWith {}; //It may be null for the first frame - _chargeText = format ["%1: %2 ", (localize LSTRING(rangetable_charge)), _currentChargeMode, QUOTE(PATHTOF(UI\ui_charges.paa))]; + _chargeText = format ["%1: %2 ", (localize LSTRING(rangetable_charge)), _currentChargeMode, QPATHTOF(UI\ui_charges.paa)]; //Hud should hidden in 3rd person _notGunnerView = cameraView != "GUNNER"; diff --git a/addons/mx2a/CfgWeapons.hpp b/addons/mx2a/CfgWeapons.hpp index 6f590e2ed4..7ff5943a88 100644 --- a/addons/mx2a/CfgWeapons.hpp +++ b/addons/mx2a/CfgWeapons.hpp @@ -5,9 +5,9 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); displayName = CSTRING(DisplayName); descriptionShort = CSTRING(Description); - model = PATHTOF(data\ace_mx2a.p3d); - modelOptics = QUOTE(PATHTOEF(apl,LWTS_optic.p3d)); - picture = PATHTOF(UI\w_mx2a_ca.paa); + model = QPATHTOF(data\ace_mx2a.p3d); + modelOptics = QPATHTOEF(apl,LWTS_optic.p3d); + picture = QPATHTOF(UI\w_mx2a_ca.paa); opticsZoomMax = 0.1; distanceZoomMax = 120; opticsZoomMin = 0.05; diff --git a/addons/nametags/CfgVehicles.hpp b/addons/nametags/CfgVehicles.hpp index 7ca13b5aeb..6b8b8956ae 100644 --- a/addons/nametags/CfgVehicles.hpp +++ b/addons/nametags/CfgVehicles.hpp @@ -8,7 +8,7 @@ class CfgVehicles { scope = 2; isGlobal = 1; isSingular = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_NameTags_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_NameTags_ca.paa); class Arguments { class showPlayerNames { displayName = CSTRING(ShowPlayerNames); diff --git a/addons/nametags/functions/common.hpp b/addons/nametags/functions/common.hpp index 6aeb24fc5a..ef3706cd32 100644 --- a/addons/nametags/functions/common.hpp +++ b/addons/nametags/functions/common.hpp @@ -17,6 +17,6 @@ "a3\ui_f\data\IGUI\Cfg\Actions\getindriver_ca.paa", \ "a3\ui_f\data\IGUI\Cfg\Actions\getincommander_ca.paa", \ "a3\ui_f\data\IGUI\Cfg\Actions\getingunner_ca.paa", \ - QUOTE(PATHTOF(UI\icon_position_ffv.paa)), \ + QPATHTOF(UI\icon_position_ffv.paa), \ "a3\ui_f\data\IGUI\Cfg\Actions\getincargo_ca.paa" \ ] diff --git a/addons/nametags/functions/fnc_drawNameTagIcon.sqf b/addons/nametags/functions/fnc_drawNameTagIcon.sqf index 95c3f5228b..f031882da7 100644 --- a/addons/nametags/functions/fnc_drawNameTagIcon.sqf +++ b/addons/nametags/functions/fnc_drawNameTagIcon.sqf @@ -33,7 +33,7 @@ _fnc_parameters = { private _icon = ""; private _size = 0; if (_drawSoundwave) then { - _icon = format [QUOTE(PATHTOF(UI\soundwave%1.paa)), floor random 10]; + _icon = format [QPATHTOF(UI\soundwave%1.paa), floor random 10]; _size = 1; } else { if (_drawRank && {rank _target != ""}) then { diff --git a/addons/nightvision/CfgVehicles.hpp b/addons/nightvision/CfgVehicles.hpp index 8b489ad64f..8e119eabd0 100644 --- a/addons/nightvision/CfgVehicles.hpp +++ b/addons/nightvision/CfgVehicles.hpp @@ -19,7 +19,7 @@ class CfgVehicles { class GVAR(ModuleSettings): ACE_Module { scope = 2; displayName = CSTRING(Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_ca.paa); category = "ACE"; function = QUOTE(FUNC(initModule)); functionPriority = 1; diff --git a/addons/nightvision/CfgWeapons.hpp b/addons/nightvision/CfgWeapons.hpp index 8a053a3262..72be31d8cf 100644 --- a/addons/nightvision/CfgWeapons.hpp +++ b/addons/nightvision/CfgWeapons.hpp @@ -47,7 +47,7 @@ class CfgWeapons { }; class ACE_NVG_Wide: NVGoggles { author = ECSTRING(common,ACETeam); - modelOptics = QUOTE(PATHTOF(models\ACE_nvg_wide_optics)); + modelOptics = QPATHTOF(models\ACE_nvg_wide_optics); displayName = CSTRING(NVG_FullScreen); ACE_NightVision_grain = 0.75; ACE_NightVision_blur = 0.055; diff --git a/addons/optics/CfgRscTitles.hpp b/addons/optics/CfgRscTitles.hpp index 3bbd6b62bc..42a2326a0e 100644 --- a/addons/optics/CfgRscTitles.hpp +++ b/addons/optics/CfgRscTitles.hpp @@ -33,7 +33,7 @@ class RscInGameUI { style = 48; size = 1; sizeEx = 0; - text = QUOTE(PATHTOF(reticles\ace_shortdot_reticle_1.paa)); + text = QPATHTOF(reticles\ace_shortdot_reticle_1.paa); w = 0; h = 0; }; @@ -115,73 +115,73 @@ class RscInGameUI { class ACE_RscWeapon_Hamr: ACE_RscWeapon_base { class ReticleDay: ReticleDay { - text = QUOTE(PATHTOF(reticles\hamr-reticle65_ca.paa)); + text = QPATHTOF(reticles\hamr-reticle65_ca.paa); }; class ReticleNight: ReticleNight { - text = QUOTE(PATHTOF(reticles\hamr-reticle65Illum_ca.paa)); + text = QPATHTOF(reticles\hamr-reticle65Illum_ca.paa); }; class BodyDay: BodyDay { - text = QUOTE(PATHTOF(reticles\hamr-body_ca.paa)); + text = QPATHTOF(reticles\hamr-body_ca.paa); }; class BodyNight: BodyNight { - text = QUOTE(PATHTOF(reticles\hamr-bodyNight_ca.paa)); + text = QPATHTOF(reticles\hamr-bodyNight_ca.paa); }; }; class ACE_RscWeapon_Arco: ACE_RscWeapon_base { class ReticleDay: ReticleDay { - text = QUOTE(PATHTOF(reticles\arco-reticle65_ca.paa)); + text = QPATHTOF(reticles\arco-reticle65_ca.paa); }; class ReticleNight: ReticleNight { - text = QUOTE(PATHTOF(reticles\arco-reticle65Illum_ca.paa)); + text = QPATHTOF(reticles\arco-reticle65Illum_ca.paa); }; class BodyDay: BodyDay { - text = QUOTE(PATHTOF(reticles\arco-body_ca.paa)); + text = QPATHTOF(reticles\arco-body_ca.paa); }; class BodyNight: BodyNight { - text = QUOTE(PATHTOF(reticles\arco-bodyNight_ca.paa)); + text = QPATHTOF(reticles\arco-bodyNight_ca.paa); }; }; class ACE_RscWeapon_MRCO: ACE_RscWeapon_base { class ReticleDay: ReticleDay { - text = QUOTE(PATHTOF(reticles\mrco-reticle556_ca.paa)); + text = QPATHTOF(reticles\mrco-reticle556_ca.paa); }; class ReticleNight: ReticleNight { - text = QUOTE(PATHTOF(reticles\mrco-reticle556Illum_ca.paa)); + text = QPATHTOF(reticles\mrco-reticle556Illum_ca.paa); }; class BodyDay: BodyDay { - text = QUOTE(PATHTOF(reticles\mrco-body_ca.paa)); + text = QPATHTOF(reticles\mrco-body_ca.paa); }; class BodyNight: BodyNight { - text = QUOTE(PATHTOF(reticles\mrco-bodyNight_ca.paa)); + text = QPATHTOF(reticles\mrco-bodyNight_ca.paa); }; }; class ACE_RscWeapon_SOS: ACE_RscWeapon_base { class ReticleDay: ReticleDay { - text = QUOTE(PATHTOF(reticles\sos-reticleMLR_ca.paa)); + text = QPATHTOF(reticles\sos-reticleMLR_ca.paa); }; class ReticleNight: ReticleNight { - text = QUOTE(PATHTOF(reticles\sos-reticleMLRIllum_ca.paa)); + text = QPATHTOF(reticles\sos-reticleMLRIllum_ca.paa); }; class BodyDay: BodyDay { - text = QUOTE(PATHTOF(reticles\sos-body_ca.paa)); + text = QPATHTOF(reticles\sos-body_ca.paa); }; class BodyNight: BodyNight { - text = QUOTE(PATHTOF(reticles\sos-bodyNight_ca.paa)); + text = QPATHTOF(reticles\sos-bodyNight_ca.paa); }; }; }; diff --git a/addons/optics/CfgWeapons.hpp b/addons/optics/CfgWeapons.hpp index 1be66d3aa2..3a810ebe26 100644 --- a/addons/optics/CfgWeapons.hpp +++ b/addons/optics/CfgWeapons.hpp @@ -38,7 +38,7 @@ class CfgWeapons { weaponInfoType = "ACE_RscWeaponZeroing"; class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(models\ace_shortdot_optics.p3d)); + modelOptics = QPATHTOF(models\ace_shortdot_optics.p3d); class OpticsModes: OpticsModes { class Snip: Snip { @@ -65,10 +65,10 @@ class CfgWeapons { }; class ACE_optic_Hamr_2D: optic_Hamr { - GVAR(BodyDay) = QUOTE(PATHTOF(reticles\hamr-body_ca.paa)); - GVAR(BodyNight) = QUOTE(PATHTOF(reticles\hamr-bodyNight_ca.paa)); - GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\hamr-reticle65_ca.paa)); - GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\hamr-reticle65Illum_ca.paa)); + GVAR(BodyDay) = QPATHTOF(reticles\hamr-body_ca.paa); + GVAR(BodyNight) = QPATHTOF(reticles\hamr-bodyNight_ca.paa); + GVAR(ReticleDay) = QPATHTOF(reticles\hamr-reticle65_ca.paa); + GVAR(ReticleNight) = QPATHTOF(reticles\hamr-reticle65Illum_ca.paa); author = ECSTRING(common,ACETeam); _generalMacro = "ACE_optic_Hamr_2D"; @@ -76,7 +76,7 @@ class CfgWeapons { weaponInfoType = "ACE_RscWeapon_Hamr"; class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); + modelOptics = QPATHTOF(models\ace_optics_reticle90.p3d); class OpticsModes: OpticsModes { class Hamr2Collimator: Hamr2Collimator {}; @@ -101,7 +101,7 @@ class CfgWeapons { displayName = CSTRING(hamr_pip); class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + modelOptics = QPATHTOF(models\ace_optics_pip.p3d); }; }; @@ -115,10 +115,10 @@ class CfgWeapons { }; class ACE_optic_Arco_2D: optic_Arco { - GVAR(BodyDay) = QUOTE(PATHTOF(reticles\arco-body_ca.paa)); - GVAR(BodyNight) = QUOTE(PATHTOF(reticles\arco-bodyNight_ca.paa)); - GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\arco-reticle65_ca.paa)); - GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\arco-reticle65Illum_ca.paa)); + GVAR(BodyDay) = QPATHTOF(reticles\arco-body_ca.paa); + GVAR(BodyNight) = QPATHTOF(reticles\arco-bodyNight_ca.paa); + GVAR(ReticleDay) = QPATHTOF(reticles\arco-reticle65_ca.paa); + GVAR(ReticleNight) = QPATHTOF(reticles\arco-reticle65Illum_ca.paa); author = ECSTRING(common,ACETeam); _generalMacro = "ACE_optic_Arco_2D"; @@ -126,7 +126,7 @@ class CfgWeapons { weaponInfoType = "ACE_RscWeapon_Arco"; class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); + modelOptics = QPATHTOF(models\ace_optics_reticle90.p3d); class OpticsModes: OpticsModes { class ARCO2collimator: ARCO2collimator {}; @@ -150,7 +150,7 @@ class CfgWeapons { displayName = CSTRING(arco_pip); class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + modelOptics = QPATHTOF(models\ace_optics_pip.p3d); }; }; @@ -164,10 +164,10 @@ class CfgWeapons { }; class ACE_optic_MRCO_2D: optic_MRCO { - GVAR(BodyDay) = QUOTE(PATHTOF(reticles\mrco-body_ca.paa)); - GVAR(BodyNight) = QUOTE(PATHTOF(reticles\mrco-bodyNight_ca.paa)); - GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\mrco-reticle556_ca.paa)); - GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\mrco-reticle556Illum_ca.paa)); + GVAR(BodyDay) = QPATHTOF(reticles\mrco-body_ca.paa); + GVAR(BodyNight) = QPATHTOF(reticles\mrco-bodyNight_ca.paa); + GVAR(ReticleDay) = QPATHTOF(reticles\mrco-reticle556_ca.paa); + GVAR(ReticleNight) = QPATHTOF(reticles\mrco-reticle556Illum_ca.paa); author = ECSTRING(common,ACETeam); _generalMacro = "ACE_optic_MRCO_2D"; @@ -175,7 +175,7 @@ class CfgWeapons { weaponInfoType = "ACE_RscWeapon_MRCO"; class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)); + modelOptics = QPATHTOF(models\ace_optics_reticle90.p3d); class OpticsModes: OpticsModes { class MRCOcq: MRCOcq {}; @@ -200,7 +200,7 @@ class CfgWeapons { displayName = CSTRING(valdada_pip); class ItemInfo: ItemInfo { - modelOptics = QUOTE(PATHTOF(models\ace_optics_pip.p3d)); + modelOptics = QPATHTOF(models\ace_optics_pip.p3d); }; }; @@ -214,10 +214,10 @@ class CfgWeapons { }; class ACE_optic_SOS_2D: optic_SOS { - GVAR(BodyDay) = QUOTE(PATHTOF(reticles\sos-body_ca.paa)); - GVAR(BodyNight) = QUOTE(PATHTOF(reticles\sos-bodyNight_ca.paa)); - GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\sos-reticleMLR_ca.paa)); - GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\sos-reticleMLRIllum_ca.paa)); + GVAR(BodyDay) = QPATHTOF(reticles\sos-body_ca.paa); + GVAR(BodyNight) = QPATHTOF(reticles\sos-bodyNight_ca.paa); + GVAR(ReticleDay) = QPATHTOF(reticles\sos-reticleMLR_ca.paa); + GVAR(ReticleNight) = QPATHTOF(reticles\sos-reticleMLRIllum_ca.paa); author = ECSTRING(common,ACETeam); _generalMacro = "ACE_optic_SOS_2D"; @@ -227,7 +227,7 @@ class CfgWeapons { class ItemInfo: ItemInfo { class OpticsModes: OpticsModes { class Snip: Snip { - modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)),QUOTE(PATHTOF(models\ace_optics_reticle90.p3d))}; + modelOptics[] = {QPATHTOF(models\ace_optics_reticle90.p3d),QPATHTOF(models\ace_optics_reticle90.p3d)}; opticsDisablePeripherialVision = 0; }; class Iron: Iron {}; @@ -244,7 +244,7 @@ class CfgWeapons { class ItemInfo: ItemInfo { class OpticsModes: OpticsModes { class Snip: Snip { - modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_pip.p3d)),QUOTE(PATHTOF(models\ace_optics_pip.p3d))}; + modelOptics[] = {QPATHTOF(models\ace_optics_pip.p3d),QPATHTOF(models\ace_optics_pip.p3d)}; }; class Iron: Iron {}; }; @@ -260,10 +260,10 @@ class CfgWeapons { }; class ACE_optic_LRPS_2D: optic_LRPS { - GVAR(BodyDay) = QUOTE(PATHTOF(reticles\sos-body_ca.paa)); - GVAR(BodyNight) = QUOTE(PATHTOF(reticles\sos-bodyNight_ca.paa)); - GVAR(ReticleDay) = QUOTE(PATHTOF(reticles\sos-reticleMLR_ca.paa)); - GVAR(ReticleNight) = QUOTE(PATHTOF(reticles\sos-reticleMLRIllum_ca.paa)); + GVAR(BodyDay) = QPATHTOF(reticles\sos-body_ca.paa); + GVAR(BodyNight) = QPATHTOF(reticles\sos-bodyNight_ca.paa); + GVAR(ReticleDay) = QPATHTOF(reticles\sos-reticleMLR_ca.paa); + GVAR(ReticleNight) = QPATHTOF(reticles\sos-reticleMLRIllum_ca.paa); author = ECSTRING(common,ACETeam); _generalMacro = "ACE_optic_LRPS_2D"; @@ -273,7 +273,7 @@ class CfgWeapons { class ItemInfo: ItemInfo { class OpticsModes: OpticsModes { class Snip: Snip { - modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_reticle90.p3d)),QUOTE(PATHTOF(models\ace_optics_reticle90.p3d))}; + modelOptics[] = {QPATHTOF(models\ace_optics_reticle90.p3d),QPATHTOF(models\ace_optics_reticle90.p3d)}; useModelOptics = 1; opticsZoomInit = 0.01234; opticsZoomMax = 0.04673; @@ -295,7 +295,7 @@ class CfgWeapons { class ItemInfo: ItemInfo { class OpticsModes: OpticsModes { class Snip: Snip { - modelOptics[] = {QUOTE(PATHTOF(models\ace_optics_pip.p3d)),QUOTE(PATHTOF(models\ace_optics_pip.p3d))}; + modelOptics[] = {QPATHTOF(models\ace_optics_pip.p3d),QPATHTOF(models\ace_optics_pip.p3d)}; }; }; }; diff --git a/addons/optics/functions/fnc_onDrawScope2D.sqf b/addons/optics/functions/fnc_onDrawScope2D.sqf index 9ea038f877..82602842ca 100644 --- a/addons/optics/functions/fnc_onDrawScope2D.sqf +++ b/addons/optics/functions/fnc_onDrawScope2D.sqf @@ -19,7 +19,7 @@ if (!ctrlShown (_display displayCtrl 154)) exitWith { // @todo, all weapon types private ["_optic", "_isPIP"]; _optic = (primaryWeaponItems ACE_player) select 2; -_isPIP = (getText (configFile >> "CfgWeapons" >> _optic >> "ItemInfo" >> "modelOptics")) == QUOTE(PATHTOF(models\ace_optics_pip.p3d)); +_isPIP = (getText (configFile >> "CfgWeapons" >> _optic >> "ItemInfo" >> "modelOptics")) == QPATHTOF(models\ace_optics_pip.p3d); if (_isPIP) then { GVAR(camera) setPosATL positionCameraToWorld [0,0,0.4]; diff --git a/addons/overheating/CfgSounds.hpp b/addons/overheating/CfgSounds.hpp index c32fc02abf..bd2831eeb6 100644 --- a/addons/overheating/CfgSounds.hpp +++ b/addons/overheating/CfgSounds.hpp @@ -1,26 +1,26 @@ class CfgSounds { class ACE_BarrelSwap { - sound[] = {QUOTE(PATHTOF(sounds\barrelswap.ogg)),5,1,200}; + sound[] = {QPATHTOF(sounds\barrelswap.ogg),5,1,200}; titles[] = {}; }; class GVAR(jamming_rifle) { name=QGVAR(jamming_rifle); - sound[]={QUOTE(PATHTOF(sounds\jamming_rifle.wav)),1,1}; + sound[]={QPATHTOF(sounds\jamming_rifle.wav),1,1}; titles[]={}; }; class GVAR(jamming_pistol) { name=QGVAR(jamming_pistol); - sound[]={QUOTE(PATHTOF(sounds\jamming_pistol.wav)),1,1}; + sound[]={QPATHTOF(sounds\jamming_pistol.wav),1,1}; titles[]={}; }; class GVAR(fixing_rifle) { name=QGVAR(fixing_rifle); - sound[]={QUOTE(PATHTOF(sounds\fixing_rifle.wav)),1,1}; + sound[]={QPATHTOF(sounds\fixing_rifle.wav),1,1}; titles[]={}; }; class GVAR(fixing_pistol) { name= QGVAR(fixing_pistol); - sound[]={QUOTE(PATHTOF(sounds\fixing_pistol.wav)),1,1}; + sound[]={QPATHTOF(sounds\fixing_pistol.wav),1,1}; titles[]={}; }; }; diff --git a/addons/overheating/CfgVehicles.hpp b/addons/overheating/CfgVehicles.hpp index ec4b868b84..9d7eee58b8 100644 --- a/addons/overheating/CfgVehicles.hpp +++ b/addons/overheating/CfgVehicles.hpp @@ -11,7 +11,7 @@ class CfgVehicles { statement = QUOTE( [ARR_2(_player, currentMuzzle _player)] call FUNC(clearJam); ); showDisabled = 0; priority = 4; - icon = QUOTE(PATHTOF(UI\unjam_ca.paa)); + icon = QPATHTOF(UI\unjam_ca.paa); }; class ACE_SwapBarrel { displayName = CSTRING(SwapBarrel); @@ -19,7 +19,7 @@ class CfgVehicles { statement = QUOTE( [ARR_2(_player, currentWeapon _player)] call FUNC(swapBarrel); ); showDisabled = 0; priority = 3; - icon = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); + icon = QPATHTOF(UI\spare_barrel_ca.paa); }; class ACE_CheckTemperature { displayName = CSTRING(CheckTemperatureShort); @@ -28,7 +28,7 @@ class CfgVehicles { statement = QUOTE( [ARR_2(_player, currentWeapon _player)] call FUNC(CheckTemperature); ); showDisabled = 0; priority = 2.9; - icon = QUOTE(PATHTOF(UI\temp_ca.paa)); + icon = QPATHTOF(UI\temp_ca.paa); }; }; }; diff --git a/addons/overheating/CfgWeapons.hpp b/addons/overheating/CfgWeapons.hpp index f59c4d7911..12cfe6e498 100644 --- a/addons/overheating/CfgWeapons.hpp +++ b/addons/overheating/CfgWeapons.hpp @@ -6,7 +6,7 @@ class CfgWeapons { displayname = CSTRING(SpareBarrelName); descriptionshort = CSTRING(SpareBarrelDescription); //model = ""; - picture = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); + picture = QPATHTOF(UI\spare_barrel_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 30; diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index 9c62e77f21..99d0f9794b 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -24,7 +24,7 @@ _player playAction QGVAR(GestureMountMuzzle); playSound "ACE_BarrelSwap"; // don't consume the barrel, but rotate through them. -[localize LSTRING(SwappedBarrel), QUOTE(PATHTOF(UI\spare_barrel_ca.paa))] call EFUNC(common,displayTextPicture); +[localize LSTRING(SwappedBarrel), QPATHTOF(UI\spare_barrel_ca.paa)] call EFUNC(common,displayTextPicture); // Publish the temperature variable _player setVariable [format [QGVAR(%1_temp), _weapon], 0, true]; diff --git a/addons/parachute/CfgVehicles.hpp b/addons/parachute/CfgVehicles.hpp index ff9196ca60..db673db100 100644 --- a/addons/parachute/CfgVehicles.hpp +++ b/addons/parachute/CfgVehicles.hpp @@ -19,7 +19,7 @@ class CfgVehicles { statement = QUOTE([_player] call FUNC(cutParachute)); showDisabled = 0; priority = 2.9; - icon = QUOTE(PATHTOF(UI\cut_ca.paa)); + icon = QPATHTOF(UI\cut_ca.paa); }; }; }; diff --git a/addons/parachute/CfgWeapons.hpp b/addons/parachute/CfgWeapons.hpp index 4ca785a1ea..b5dad94425 100644 --- a/addons/parachute/CfgWeapons.hpp +++ b/addons/parachute/CfgWeapons.hpp @@ -6,6 +6,6 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); descriptionShort = CSTRING(AltimeterDescription); displayName = CSTRING(AltimeterDisplayName); - picture = PATHTOF(UI\watch_altimeter.paa); + picture = QPATHTOF(UI\watch_altimeter.paa); }; }; diff --git a/addons/parachute/RscTitles.hpp b/addons/parachute/RscTitles.hpp index c6f41a7362..277db4d2f9 100644 --- a/addons/parachute/RscTitles.hpp +++ b/addons/parachute/RscTitles.hpp @@ -12,7 +12,7 @@ class RscTitles { class controls { class AltimeterImage: RscPicture { idc = 1200; - text = PATHTOF(UI\watch_altimeter.paa); + text = QPATHTOF(UI\watch_altimeter.paa); x = 0.118437 * safezoneW + safezoneX; y = 0.621 * safezoneH + safezoneY; w = 0.20625 * safezoneW; diff --git a/addons/rangecard/CfgVehicles.hpp b/addons/rangecard/CfgVehicles.hpp index 9e0793e36b..e7df701409 100644 --- a/addons/rangecard/CfgVehicles.hpp +++ b/addons/rangecard/CfgVehicles.hpp @@ -8,7 +8,7 @@ class CfgVehicles { distance = 2.0; condition = QUOTE(_target call FUNC(canCopy)); statement = QUOTE(_target call FUNC(updateClassNames)); - icon = QUOTE(PATHTOF(UI\RangeCard_Icon.paa)); + icon = QPATHTOF(UI\RangeCard_Icon.paa); }; }; }; @@ -20,7 +20,7 @@ class CfgVehicles { statement = QUOTE(false call FUNC(openRangeCard)); showDisabled = 0; priority = 0.1; - icon = QUOTE(PATHTOF(UI\RangeCard_Icon.paa)); + icon = QPATHTOF(UI\RangeCard_Icon.paa); exceptions[] = {"notOnMap"}; class GVAR(openCopy) { displayName = CSTRING(OpenRangeCardCopy); @@ -28,7 +28,7 @@ class CfgVehicles { statement = QUOTE(true call FUNC(openRangeCard)); showDisabled = 0; priority = 0.1; - icon = QUOTE(PATHTOF(UI\RangeCard_Icon.paa)); + icon = QPATHTOF(UI\RangeCard_Icon.paa); exceptions[] = {"notOnMap"}; }; class GVAR(makeCopy) { @@ -37,7 +37,7 @@ class CfgVehicles { statement = QUOTE(GVAR(ammoClassCopy) = GVAR(ammoClass); GVAR(magazineClassCopy) = GVAR(magazineClass); GVAR(weaponClassCopy) = GVAR(ammoClass);); showDisabled = 0; priority = 0.1; - icon = QUOTE(PATHTOF(UI\RangeCard_Icon.paa)); + icon = QPATHTOF(UI\RangeCard_Icon.paa); exceptions[] = {"notOnMap"}; }; }; diff --git a/addons/rangecard/CfgWeapons.hpp b/addons/rangecard/CfgWeapons.hpp index 7195c0a008..dfc643fa47 100644 --- a/addons/rangecard/CfgWeapons.hpp +++ b/addons/rangecard/CfgWeapons.hpp @@ -8,7 +8,7 @@ class CfgWeapons { scope = 2; displayName = CSTRING(Name); descriptionShort = CSTRING(Description); - picture = PATHTOF(UI\RangeCard_Icon.paa); + picture = QPATHTOF(UI\RangeCard_Icon.paa); icon = "iconObject_circle"; mapSize = 0.034; diff --git a/addons/rangecard/RscTitles.hpp b/addons/rangecard/RscTitles.hpp index c4da1862ca..9db5a44dee 100644 --- a/addons/rangecard/RscTitles.hpp +++ b/addons/rangecard/RscTitles.hpp @@ -79,7 +79,7 @@ class ACE_RangeCard_Dialog { h="1.62727"; colorBackground[]={1,1,1,1}; colorText[]={1,1,1,1}; - text=QUOTE(PATHTOF(UI\RangeCard.paa)); + text=QPATHTOF(UI\RangeCard.paa); }; class CAPTION_TEXT_1: RangeCard_RscText { idc=770000; diff --git a/addons/rearm/CfgVehicles.hpp b/addons/rearm/CfgVehicles.hpp index 8bee12de85..c13218e472 100644 --- a/addons/rearm/CfgVehicles.hpp +++ b/addons/rearm/CfgVehicles.hpp @@ -8,7 +8,7 @@ condition = QUOTE(_this call FUNC(canRearm)); \ statement = QUOTE(_player call FUNC(rearm)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_rearm_interact.paa); \ + icon = QPATHTOF(ui\icon_rearm_interact.paa); \ }; \ }; \ }; @@ -24,7 +24,7 @@ exceptions[] = {"isNotInside"}; \ showDisabled = 0; \ priority = 2; \ - icon = PATHTOF(ui\icon_rearm_interact.paa); \ + icon = QPATHTOF(ui\icon_rearm_interact.paa); \ }; \ class GVAR(StoreAmmo) { \ displayName = CSTRING(StoreAmmo); \ @@ -32,7 +32,7 @@ condition = QUOTE(_this call FUNC(canStoreAmmo)); \ statement = QUOTE(_this call FUNC(storeAmmo)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_rearm_interact.paa); \ + icon = QPATHTOF(ui\icon_rearm_interact.paa); \ }; \ }; \ }; @@ -44,7 +44,7 @@ class CfgVehicles { class ACE_moduleRearmSettings: ACE_Module { scope = 2; displayName = CSTRING(RearmSettings_Module_DisplayName); - icon = QUOTE(PATHTOF(ui\icon_module_rearm.paa)); + icon = QPATHTOF(ui\icon_module_rearm.paa); category = "ACE_Logistics"; function = QFUNC(moduleRearmSettings); functionPriority = 1; @@ -188,7 +188,7 @@ class CfgVehicles { exceptions[] = {"isNotInside"}; showDisabled = 0; priority = 2; - icon = PATHTOF(ui\icon_rearm_interact.paa); + icon = QPATHTOF(ui\icon_rearm_interact.paa); }; }; }; diff --git a/addons/refuel/CfgVehicles.hpp b/addons/refuel/CfgVehicles.hpp index 665d217d39..078dccea37 100644 --- a/addons/refuel/CfgVehicles.hpp +++ b/addons/refuel/CfgVehicles.hpp @@ -9,41 +9,41 @@ statement = ""; \ showDisabled = 0; \ priority = 2; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ class GVAR(TakeNozzle) { \ displayName = CSTRING(TakeNozzle); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canTakeNozzle)); \ statement = QUOTE([ARR_3(_player,_target,objNull)] call FUNC(TakeNozzle)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ class GVAR(CheckFuelCounter) { \ displayName = CSTRING(CheckFuelCounter); \ condition = "true"; \ statement = QUOTE([ARR_2(_player,_target)] call FUNC(readFuelCounter)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ class GVAR(CheckFuel) { \ displayName = CSTRING(CheckFuel); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canCheckFuel)); \ statement = QUOTE([ARR_2(_player,_target)] call FUNC(checkFuel)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ class GVAR(Connect) { \ displayName = CSTRING(Connect); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canConnectNozzle)); \ statement = QUOTE([ARR_2(_player,_target)] call DFUNC(connectNozzle)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ class GVAR(Return) { \ displayName = CSTRING(Return); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canReturnNozzle)); \ statement = QUOTE([ARR_2(_player,_target)] call DFUNC(returnNozzle)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ }; \ }; \ @@ -59,13 +59,13 @@ statement = ""; \ showDisabled = 0; \ priority = 2; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ class GVAR(Connect) { \ displayName = CSTRING(Connect); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canConnectNozzle)); \ statement = QUOTE([ARR_2(_player,_target)] call DFUNC(connectNozzle)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ }; \ }; \ @@ -80,34 +80,34 @@ statement = ""; \ showDisabled = 0; \ priority = 2; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ class GVAR(PickUpNozzle) { \ displayName = CSTRING(TakeNozzle); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canTakeNozzle)); \ statement = QUOTE([ARR_3(_player,objNull,_target)] call FUNC(TakeNozzle)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ class GVAR(TurnOn) { \ displayName = CSTRING(TurnOn); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canTurnOn)); \ statement = QUOTE([ARR_2(_player,_target)] call DFUNC(turnOn)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ class GVAR(TurnOff) { \ displayName = CSTRING(TurnOff); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canTurnOff)); \ statement = QUOTE([ARR_2(_player,_target)] call DFUNC(turnOff)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ class GVAR(Disconnect) { \ displayName = CSTRING(Disconnect); \ condition = QUOTE([ARR_2(_player,_target)] call FUNC(canDisconnect)); \ statement = QUOTE([ARR_2(_player,_target)] call DFUNC(disconnect)); \ exceptions[] = {"isNotInside"}; \ - icon = PATHTOF(ui\icon_refuel_interact.paa); \ + icon = QPATHTOF(ui\icon_refuel_interact.paa); \ }; \ }; \ }; @@ -119,7 +119,7 @@ class CfgVehicles { class ACE_moduleRefuelSettings: ACE_Module { scope = 2; displayName = CSTRING(RefuelSettings_Module_DisplayName); - icon = QUOTE(PATHTOF(ui\icon_module_refuel.paa)); + icon = QPATHTOF(ui\icon_module_refuel.paa); category = "ACE_Logistics"; function = QFUNC(moduleRefuelSettings); functionPriority = 1; @@ -146,7 +146,7 @@ class CfgVehicles { displayName = QGVAR(fuelNozzle); scope = 1; scopeCurator = 1; - model = PATHTOF(data\nozzle.p3d); + model = QPATHTOF(data\nozzle.p3d); }; class All; diff --git a/addons/refuel/functions/fnc_makeJerryCan.sqf b/addons/refuel/functions/fnc_makeJerryCan.sqf index 7a9552cfe3..c826948fa2 100644 --- a/addons/refuel/functions/fnc_makeJerryCan.sqf +++ b/addons/refuel/functions/fnc_makeJerryCan.sqf @@ -29,7 +29,7 @@ _target setVariable [QGVAR(source), _target, true]; // Main Action private _action = [QGVAR(Refuel), localize LSTRING(Refuel), - QUOTE(PATHTOF(ui\icon_refuel_interact.paa)), + QPATHTOF(ui\icon_refuel_interact.paa), {}, {true}, {}, @@ -41,7 +41,7 @@ private _action = [QGVAR(Refuel), // Add pickup _action = [QGVAR(PickUpNozzle), localize LSTRING(TakeNozzle), - QUOTE(PATHTOF(ui\icon_refuel_interact.paa)), + QPATHTOF(ui\icon_refuel_interact.paa), {[_player, objNull, _target] call FUNC(TakeNozzle)}, {[_player, _target] call FUNC(canTakeNozzle)}, {}, @@ -53,7 +53,7 @@ _action = [QGVAR(PickUpNozzle), // Add turnOn _action = [QGVAR(TurnOn), localize LSTRING(TurnOn), - QUOTE(PATHTOF(ui\icon_refuel_interact.paa)), + QPATHTOF(ui\icon_refuel_interact.paa), {[_player, _target] call FUNC(turnOn)}, {[_player, _target] call FUNC(canTurnOn)}, {}, @@ -65,7 +65,7 @@ _action = [QGVAR(TurnOn), // Add turnOff _action = [QGVAR(TurnOff), localize LSTRING(TurnOff), - QUOTE(PATHTOF(ui\icon_refuel_interact.paa)), + QPATHTOF(ui\icon_refuel_interact.paa), {[_player, _target] call FUNC(turnOff)}, {[_player, _target] call FUNC(canTurnOff)}, {}, @@ -77,7 +77,7 @@ _action = [QGVAR(TurnOff), // Add disconnect _action = [QGVAR(Disconnect), localize LSTRING(Disconnect), - QUOTE(PATHTOF(ui\icon_refuel_interact.paa)), + QPATHTOF(ui\icon_refuel_interact.paa), {[_player, _target] call FUNC(disconnect)}, {[_player, _target] call FUNC(canDisconnect)}, {}, diff --git a/addons/repair/CfgVehicles.hpp b/addons/repair/CfgVehicles.hpp index 0a1d6f55dc..13379b865b 100644 --- a/addons/repair/CfgVehicles.hpp +++ b/addons/repair/CfgVehicles.hpp @@ -22,7 +22,7 @@ class CfgVehicles { class ACE_moduleRepairSettings: ACE_Module { scope = 2; displayName = CSTRING(moduleName); - icon = QUOTE(PATHTOF(ui\Icon_Module_Repair_ca.paa)); + icon = QPATHTOF(ui\Icon_Module_Repair_ca.paa); category = "ACE_Logistics"; function = QFUNC(moduleRepairSettings); functionPriority = 1; @@ -120,7 +120,7 @@ class CfgVehicles { class ACE_moduleAssignEngineerRoles: Module_F { scope = 2; displayName = CSTRING(AssignEngineerRole_Module_DisplayName); - icon = QUOTE(PATHTOF(ui\Icon_Module_Repair_ca.paa)); + icon = QPATHTOF(ui\Icon_Module_Repair_ca.paa); category = "ACE_Logistics"; function = QFUNC(moduleAssignEngineer); functionPriority = 10; @@ -164,7 +164,7 @@ class CfgVehicles { class ACE_moduleAssignRepairVehicle: Module_F { scope = 2; displayName = CSTRING(AssignRepairVehicle_Module_DisplayName); - icon = QUOTE(PATHTOF(ui\Icon_Module_Repair_ca.paa)); + icon = QPATHTOF(ui\Icon_Module_Repair_ca.paa); category = "ACE_Logistics"; function = QFUNC(moduleAssignRepairVehicle); functionPriority = 10; @@ -236,7 +236,7 @@ class CfgVehicles { class ACE_moduleAddSpareParts: Module_F { scope = 2; displayName = CSTRING(AddSpareParts_Module_DisplayName); - icon = QUOTE(PATHTOF(ui\Icon_Module_Repair_ca.paa)); + icon = QPATHTOF(ui\Icon_Module_Repair_ca.paa); category = "ACE_Logistics"; function = QFUNC(moduleAddSpareParts); functionPriority = 10; @@ -322,7 +322,7 @@ class CfgVehicles { EGVAR(cargo,canLoad) = 1; author = "Hawkins"; scope = 2; - model = QUOTE(PATHTOF(data\ace_track.p3d)); + model = QPATHTOF(data\ace_track.p3d); displayName = CSTRING(SpareTrack); }; @@ -331,9 +331,9 @@ class CfgVehicles { EGVAR(cargo,canLoad) = 1; author = "Hawkins"; scope = 2; - model = QUOTE(PATHTOF(data\ace_wheel.p3d)); + model = QPATHTOF(data\ace_wheel.p3d); displayName = CSTRING(SpareWheel); - picture = QUOTE(PATHTOF(ui\tire_ca.paa)); + picture = QPATHTOF(ui\tire_ca.paa); }; // disable vanilla repair diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 4650e8ffbe..103fab0537 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -10,7 +10,7 @@ class CfgVehicles { function = QFUNC(module); scope = 2; isGlobal = 0; - icon = QUOTE(PATHTOF(UI\Icon_Module_Respawn_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Respawn_ca.paa); class Arguments { class SavePreDeathGear { @@ -40,7 +40,7 @@ class CfgVehicles { function = QFUNC(moduleFriendlyFire); scope = 2; isGlobal = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_FriendlyFire_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_FriendlyFire_ca.paa); class Arguments {}; class ModuleDescription { @@ -55,7 +55,7 @@ class CfgVehicles { function = QFUNC(moduleRallypoint); scope = 2; isGlobal = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Rallypoint_ca.paa); class Arguments {}; class ModuleDescription { diff --git a/addons/sandbag/CfgVehicles.hpp b/addons/sandbag/CfgVehicles.hpp index 64d62ad424..86eee7be4f 100644 --- a/addons/sandbag/CfgVehicles.hpp +++ b/addons/sandbag/CfgVehicles.hpp @@ -13,7 +13,7 @@ class CfgVehicles { exceptions[] = {"isNotSwimming"}; showDisabled = 0; priority = 4; - icon = PATHTOF(UI\icon_sandbag_ca.paa); + icon = QPATHTOF(UI\icon_sandbag_ca.paa); }; }; }; @@ -53,14 +53,14 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); scope = 2; side = 3; - model = PATHTOF(data\ace_sandbag_build.p3d); + model = QPATHTOF(data\ace_sandbag_build.p3d); displayName = CSTRING(sandbag_displayName); vehicleClass = "ACE_Logistics_Items"; typicalCargo[] = {}; armor = 12000; // Withstand 200 5.56 bullets before sandbag hull is cheese mapSize = 0.4; nameSound = "Bunker"; - icon = PATHTOF(UI\icon_sandbag_ca.paa); + icon = QPATHTOF(UI\icon_sandbag_ca.paa); accuracy = 1000; destrType = "DestructDefault"; @@ -90,7 +90,7 @@ class CfgVehicles { showDisabled = 0; exceptions[] = {}; priority = 5; - icon = PATHTOF(UI\icon_sandbag_ca.paa); + icon = QPATHTOF(UI\icon_sandbag_ca.paa); }; }; }; @@ -98,7 +98,7 @@ class CfgVehicles { class ACE_SandbagObject_NoGeo: ACE_SandbagObject { scope = 1; - model = PATHTOF(data\ace_sandbag_nogeo.p3d); + model = QPATHTOF(data\ace_sandbag_nogeo.p3d); }; class Box_NATO_Support_F; diff --git a/addons/sandbag/CfgWeapons.hpp b/addons/sandbag/CfgWeapons.hpp index 1a26fc78d4..870ce9c78d 100644 --- a/addons/sandbag/CfgWeapons.hpp +++ b/addons/sandbag/CfgWeapons.hpp @@ -7,8 +7,8 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); scope = 2; displayName = CSTRING(sandbagEmpty_displayName); - model = PATHTOF(data\ace_sandbag_m.p3d); - picture = PATHTOF(data\m_sandbag_ca.paa); + model = QPATHTOF(data\ace_sandbag_m.p3d); + picture = QPATHTOF(data\m_sandbag_ca.paa); class ItemInfo: InventoryItem_Base_F { mass = 8; @@ -19,8 +19,8 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); scope = 2; displayName = CSTRING(sandbag_displayName); - model = PATHTOF(data\ace_sandbag_build.p3d); - picture = PATHTOF(data\m_sandbag_ca.paa); + model = QPATHTOF(data\ace_sandbag_build.p3d); + picture = QPATHTOF(data\m_sandbag_ca.paa); class ItemInfo: InventoryItem_Base_F { mass = 160; diff --git a/addons/scopes/CfgSounds.hpp b/addons/scopes/CfgSounds.hpp index 9063c7f730..2da106d79b 100644 --- a/addons/scopes/CfgSounds.hpp +++ b/addons/scopes/CfgSounds.hpp @@ -1,12 +1,12 @@ class CfgSounds { class ACE_Sound_Click; class ACE_Scopes_Click_1: ACE_Sound_Click { - sound[] = {QUOTE(PATHTOF(sounds\ACE_scopes_click.wav)),3, 2, 200}; + sound[] = {QPATHTOF(sounds\ACE_scopes_click.wav),3, 2, 200}; }; class ACE_Scopes_Click_2: ACE_Scopes_Click_1 { - sound[] = {QUOTE(PATHTOF(sounds\ACE_scopes_click.wav)), 3.3, 1.8, 200}; + sound[] = {QPATHTOF(sounds\ACE_scopes_click.wav), 3.3, 1.8, 200}; }; class ACE_Scopes_Click_3: ACE_Scopes_Click_1 { - sound[] = {QUOTE(PATHTOF(sounds\ACE_scopes_click.wav)), 2.8, 2.3, 200}; + sound[] = {QPATHTOF(sounds\ACE_scopes_click.wav), 2.8, 2.3, 200}; }; }; diff --git a/addons/scopes/CfgVehicles.hpp b/addons/scopes/CfgVehicles.hpp index 81756249e1..8a17384933 100644 --- a/addons/scopes/CfgVehicles.hpp +++ b/addons/scopes/CfgVehicles.hpp @@ -10,7 +10,7 @@ class CfgVehicles { statement = QUOTE([ACE_player] call FUNC(adjustZero)); showDisabled = 0; priority = 0.2; - //icon = QUOTE(PATHTOF(UI\...)); // TODO + //icon = QPATHTOF(UI\...); // TODO exceptions[] = {"notOnMap", "isNotInside", "isNotSitting"}; }; }; diff --git a/addons/scopes/RscTitles.hpp b/addons/scopes/RscTitles.hpp index 7aec20458c..1a4bcc99c3 100644 --- a/addons/scopes/RscTitles.hpp +++ b/addons/scopes/RscTitles.hpp @@ -17,7 +17,7 @@ class RscTitles { class ACE_Scopes_Zeroing_BG : RscPicture { idc = 11; type = 0; - text = PATHTOF(UI\scopes_bg.paa); + text = QPATHTOF(UI\scopes_bg.paa); style = 48 + 0x800; scale = 1; sizeEx = 1; diff --git a/addons/sitting/CfgVehicles.hpp b/addons/sitting/CfgVehicles.hpp index d92d92fc49..a93e780c84 100644 --- a/addons/sitting/CfgVehicles.hpp +++ b/addons/sitting/CfgVehicles.hpp @@ -11,7 +11,7 @@ class CfgVehicles { scope = 2; isGlobal = 1; isSingular = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_Sitting_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Sitting_ca.paa); class Arguments { class enable { displayName = CSTRING(Enable); @@ -34,7 +34,7 @@ class CfgVehicles { exceptions[] = {"isNotSitting"}; statement = QUOTE(_player call FUNC(stand)); priority = 0; - icon = PATHTOF(UI\stand_ca.paa); + icon = QPATHTOF(UI\stand_ca.paa); }; }; }; diff --git a/addons/sitting/functions/fnc_addSitActions.sqf b/addons/sitting/functions/fnc_addSitActions.sqf index 98c9aba99f..4c449bac52 100644 --- a/addons/sitting/functions/fnc_addSitActions.sqf +++ b/addons/sitting/functions/fnc_addSitActions.sqf @@ -40,7 +40,7 @@ TRACE_1("Adding Sit Action",_type); private _sitAction = [ QGVAR(Sit), localize LSTRING(Sit), - QUOTE(PATHTOF(UI\sit_ca.paa)), + QPATHTOF(UI\sit_ca.paa), {_this call FUNC(sit)}, {_this call FUNC(canSit)}, {}, diff --git a/addons/slideshow/CfgVehicles.hpp b/addons/slideshow/CfgVehicles.hpp index 7e82d48ffc..af3108eb59 100644 --- a/addons/slideshow/CfgVehicles.hpp +++ b/addons/slideshow/CfgVehicles.hpp @@ -9,7 +9,7 @@ class CfgVehicles { isGlobal = 1; isTriggerActivated = 0; isDisposable = 0; - icon = QUOTE(PATHTOF(UI\Icon_Module_Slideshow_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Slideshow_ca.paa); class Arguments { class Objects { displayName = CSTRING(Objects_DisplayName); diff --git a/addons/spectator/CfgVehicles.hpp b/addons/spectator/CfgVehicles.hpp index f6869462ac..268aabbef5 100644 --- a/addons/spectator/CfgVehicles.hpp +++ b/addons/spectator/CfgVehicles.hpp @@ -3,7 +3,7 @@ class CfgVehicles { class GVAR(moduleSettings): ACE_Module { scope = 2; displayName = CSTRING(Settings_DisplayName); - icon = PATHTOF(UI\Icon_Module_Spectator_ca.paa); + icon = QPATHTOF(UI\Icon_Module_Spectator_ca.paa); category = "ACE"; function = QFUNC(moduleSpectatorSettings); isGlobal = 1; diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index 418eea5a15..ef5f1e1c3e 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -12,7 +12,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,'ACE_SpottingScope')] call FUNC(place)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\w_spottingscope_ca.paa); + icon = QPATHTOF(UI\w_spottingscope_ca.paa); }; }; }; @@ -61,7 +61,7 @@ class CfgVehicles { side = 1; typicalCargo[] = {"Soldier"}; displayName = CSTRING(DisplayName); - model = PATHTOF(data\ace_spottingscope.p3d); + model = QPATHTOF(data\ace_spottingscope.p3d); mapSize = 0.5; transportSoldier = 0; getInAction = "GetInLow"; @@ -78,7 +78,7 @@ class CfgVehicles { weapons[] = {}; magazines[] = {}; gunnerOpticsColor[] = {1,1,1,1}; - gunnerOpticsmodel = PATHTOF(data\m144_optic.p3d); + gunnerOpticsmodel = QPATHTOF(data\m144_optic.p3d); gunnerOpticsEffect[] = {"OpticsCHAbera1","OpticsBlur2"}; gunnerOutOpticsShowCursor = 0; gunnerOpticsShowCursor = 0; @@ -126,7 +126,7 @@ class CfgVehicles { showDisabled = 0; exceptions[] = {}; priority = 5; - icon = PATHTOF(UI\w_spottingscope_ca.paa); + icon = QPATHTOF(UI\w_spottingscope_ca.paa); }; }; }; diff --git a/addons/spottingscope/CfgWeapons.hpp b/addons/spottingscope/CfgWeapons.hpp index 9b5825572b..f167b9df7e 100644 --- a/addons/spottingscope/CfgWeapons.hpp +++ b/addons/spottingscope/CfgWeapons.hpp @@ -7,8 +7,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(DisplayName); descriptionShort = ""; - picture = PATHTOF(UI\w_spottingscope_ca.paa); - model = PATHTOF(data\ace_spottingscope.p3d); + picture = QPATHTOF(UI\w_spottingscope_ca.paa); + model = QPATHTOF(data\ace_spottingscope.p3d); class ItemInfo: InventoryItem_Base_F { mass = 40; diff --git a/addons/switchunits/CfgVehicles.hpp b/addons/switchunits/CfgVehicles.hpp index f0549cb00e..1e12cc03d6 100644 --- a/addons/switchunits/CfgVehicles.hpp +++ b/addons/switchunits/CfgVehicles.hpp @@ -7,7 +7,7 @@ class CfgVehicles { function = FUNC(module); scope = 2; isGlobal = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_SwitchUnits_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_SwitchUnits_ca.paa); class Arguments { class SwitchToWest { displayName = CSTRING(SwitchToWest_DisplayName); diff --git a/addons/tacticalladder/CfgVehicles.hpp b/addons/tacticalladder/CfgVehicles.hpp index ed0ed0eb8c..2fa00d2790 100644 --- a/addons/tacticalladder/CfgVehicles.hpp +++ b/addons/tacticalladder/CfgVehicles.hpp @@ -21,8 +21,8 @@ class CfgVehicles { scope = 2; displayName = CSTRING(DisplayName); descriptionShort = ""; - model = PATHTOF(data\ace_tacticalladder_pack.p3d); - picture = PATHTOF(UI\ace_tactical_ladder_pack_ca.paa); + model = QPATHTOF(data\ace_tacticalladder_pack.p3d); + picture = QPATHTOF(UI\ace_tactical_ladder_pack_ca.paa); maximumLoad = 0; mass = 50; }; @@ -42,7 +42,7 @@ class CfgVehicles { displayName = CSTRING(DisplayName); class DestructionEffects {}; - model = PATHTOF(data\ace_tacticalladder.p3d); + model = QPATHTOF(data\ace_tacticalladder.p3d); animated = 1; autocenter = 0; featureSize = 12; diff --git a/addons/tagging/CfgVehicles.hpp b/addons/tagging/CfgVehicles.hpp index 602ee41d33..d458f7dd06 100644 --- a/addons/tagging/CfgVehicles.hpp +++ b/addons/tagging/CfgVehicles.hpp @@ -9,25 +9,25 @@ class CfgVehicles { statement = QUOTE([ARR_2(ACE_player,'black')] call FUNC(tagWall)); showDisabled = 0; priority = 3; - icon = QUOTE(PATHTOF(UI\icons\iconTaggingBlack.paa)); + icon = QPATHTOF(UI\icons\iconTaggingBlack.paa); }; class ACE_tagWallRed: ACE_tagWallBlack { displayName = CSTRING(tagWallRed); condition = QUOTE(('ACE_SpraypaintRed' in items ACE_player) && {[] call FUNC(checkTaggable)}); statement = QUOTE([ARR_2(ACE_player,'red')] call FUNC(tagWall)); - icon = QUOTE(PATHTOF(UI\icons\iconTaggingRed.paa)); + icon = QPATHTOF(UI\icons\iconTaggingRed.paa); }; class ACE_tagWallGreen: ACE_tagWallBlack { displayName = CSTRING(tagWallGreen); condition = QUOTE(('ACE_SpraypaintGreen' in items ACE_player) && {[] call FUNC(checkTaggable)}); statement = QUOTE([ARR_2(ACE_player,'green')] call FUNC(tagWall)); - icon = QUOTE(PATHTOF(UI\icons\iconTaggingGreen.paa)); + icon = QPATHTOF(UI\icons\iconTaggingGreen.paa); }; class ACE_tagWallBlue: ACE_tagWallBlack { displayName = CSTRING(tagWallBlue); condition = QUOTE(('ACE_SpraypaintBlue' in items ACE_player) && {[] call FUNC(checkTaggable)}); statement = QUOTE([ARR_2(ACE_player,'blue')] call FUNC(tagWall)); - icon = QUOTE(PATHTOF(UI\icons\iconTaggingBlue.paa)); + icon = QPATHTOF(UI\icons\iconTaggingBlue.paa); }; /*class ACE_tagGroundBlack { displayName = CSTRING(tagGroundBlack); @@ -35,25 +35,25 @@ class CfgVehicles { statement = QUOTE([ARR_2(ACE_player, 'black')] call FUNC(tagGround)); showDisabled = 0; priority = 3; - icon = QUOTE(PATHTOF(UI\icons\iconTaggingBlack.paa)); + icon = QPATHTOF(UI\icons\iconTaggingBlack.paa); }; class ACE_tagGroundRed: ACE_tagGroundBlack { displayName = CSTRING(tagGroundRed); condition = QUOTE('ACE_SpraypaintRed' in items ACE_player); statement = QUOTE([ARR_2(ACE_player, 'red')] call FUNC(tagGround)); - icon = QUOTE(PATHTOF(UI\icons\iconTaggingRed.paa)); + icon = QPATHTOF(UI\icons\iconTaggingRed.paa); }; class ACE_tagGroundGreen: ACE_tagGroundBlack { displayName = CSTRING(tagGroundGreen); condition = QUOTE('ACE_SpraypaintGreen' in items ACE_player); statement = QUOTE([ARR_2(ACE_player, 'green')] call FUNC(tagGround)); - icon = QUOTE(PATHTOF(UI\icons\iconTaggingGreen.paa)); + icon = QPATHTOF(UI\icons\iconTaggingGreen.paa); }; class ACE_tagGroundBlue: ACE_tagGroundBlack { displayName = CSTRING(tagGroundBlue); condition = QUOTE('ACE_SpraypaintBlue' in items ACE_player); statement = QUOTE([ARR_2(ACE_player, 'blue')] call FUNC(tagGround)); - icon = QUOTE(PATHTOF(UI\icons\iconTaggingBlue.paa)); + icon = QPATHTOF(UI\icons\iconTaggingBlue.paa); };*/ }; }; diff --git a/addons/tagging/CfgWeapons.hpp b/addons/tagging/CfgWeapons.hpp index a805a75679..1984b3b14a 100644 --- a/addons/tagging/CfgWeapons.hpp +++ b/addons/tagging/CfgWeapons.hpp @@ -6,28 +6,28 @@ class CfgWeapons { author = "jokoho48"; displayname = CSTRING(spraypaintBlack); descriptionShort = CSTRING(descSpraypaint); - picture = QUOTE(PATHTOF(UI\items\itemSpraypaintBlack.paa)); - model = QUOTE(PATHTOF(data\SprayCan.p3d)); + picture = QPATHTOF(UI\items\itemSpraypaintBlack.paa); + model = QPATHTOF(data\SprayCan.p3d); scope = 2; hiddenSelections[] = {"camo"}; - hiddenSelectionsTextures[] = {QUOTE(PATHTOF(data\spraycanBlack_co.paa))}; + hiddenSelectionsTextures[] = {QPATHTOF(data\spraycanBlack_co.paa)}; class ItemInfo: InventoryItem_Base_F { mass = 10; }; }; class ACE_SpraypaintRed : ACE_SpraypaintBlack { displayname = CSTRING(spraypaintRed); - picture = QUOTE(PATHTOF(UI\items\itemSpraypaintRed.paa)); - hiddenSelectionsTextures[] = {QUOTE(PATHTOF(data\spraycanRed_co.paa))}; + picture = QPATHTOF(UI\items\itemSpraypaintRed.paa); + hiddenSelectionsTextures[] = {QPATHTOF(data\spraycanRed_co.paa)}; }; class ACE_SpraypaintGreen : ACE_SpraypaintBlack { displayname = CSTRING(spraypaintGreen); - picture = QUOTE(PATHTOF(UI\items\itemSpraypaintGreen.paa)); - hiddenSelectionsTextures[] = {QUOTE(PATHTOF(data\spraycanGreen_co.paa))}; + picture = QPATHTOF(UI\items\itemSpraypaintGreen.paa); + hiddenSelectionsTextures[] = {QPATHTOF(data\spraycanGreen_co.paa)}; }; class ACE_SpraypaintBlue : ACE_SpraypaintBlack { displayname = CSTRING(spraypaintBlue); - picture = QUOTE(PATHTOF(UI\items\itemSpraypaintBlue.paa)); - hiddenSelectionsTextures[] = {QUOTE(PATHTOF(data\spraycanBlue_co.paa))}; + picture = QPATHTOF(UI\items\itemSpraypaintBlue.paa); + hiddenSelectionsTextures[] = {QPATHTOF(data\spraycanBlue_co.paa)}; }; }; diff --git a/addons/trenches/CfgVehicles.hpp b/addons/trenches/CfgVehicles.hpp index 81880a4265..520779c877 100644 --- a/addons/trenches/CfgVehicles.hpp +++ b/addons/trenches/CfgVehicles.hpp @@ -11,7 +11,7 @@ class CfgVehicles { exceptions[] = {}; showDisabled = 0; priority = 4; - //icon = PATHTOF(UI\icon_sandbag_ca.paa); + //icon = QPATHTOF(UI\icon_sandbag_ca.paa); }; class GVAR(digEnvelopeBig) { displayName = CSTRING(DigEnvelopeBig); @@ -21,7 +21,7 @@ class CfgVehicles { exceptions[] = {}; showDisabled = 0; priority = 4; - //icon = PATHTOF(UI\icon_sandbag_ca.paa); + //icon = QPATHTOF(UI\icon_sandbag_ca.paa); }; }; }; @@ -32,14 +32,14 @@ class CfgVehicles { author = ECSTRING(common,ACETeam); displayName = CSTRING(EnvelopeSmallName); descriptionShort = CSTRING(EnevlopeSmallDescription); - model = QUOTE(PATHTOEF(apl,ace_envelope_small4.p3d)); + model = QPATHTOEF(apl,ace_envelope_small4.p3d); scope = 2; }; class ACE_envelope_big: BagFence_base_F { author = ECSTRING(common,ACETeam); displayName = CSTRING(EnvelopeBigName); descriptionShort = CSTRING(EnevlopeBigDescription); - model = QUOTE(PATHTOEF(apl,ace_envelope_big4.p3d)); + model = QPATHTOEF(apl,ace_envelope_big4.p3d); scope = 2; }; @@ -47,12 +47,12 @@ class CfgVehicles { class ACE_envelope_small_NoGeo: ACE_envelope_small { scope = 1; //@todo: replace by a no geo model - model = QUOTE(PATHTOEF(apl,ace_envelope_small4_nogeo.p3d)); + model = QPATHTOEF(apl,ace_envelope_small4_nogeo.p3d); }; class ACE_envelope_big_NoGeo: ACE_envelope_big { scope = 1; //@todo: replace by a no geo model - model = QUOTE(PATHTOEF(apl,ace_envelope_big4_nogeo.p3d)); + model = QPATHTOEF(apl,ace_envelope_big4_nogeo.p3d); }; class Box_NATO_Support_F; diff --git a/addons/trenches/CfgWeapons.hpp b/addons/trenches/CfgWeapons.hpp index 5b20e9e4c1..9f9049360a 100644 --- a/addons/trenches/CfgWeapons.hpp +++ b/addons/trenches/CfgWeapons.hpp @@ -6,8 +6,8 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); displayName = CSTRING(EntrenchingToolName); descriptionShort = CSTRING(EntrenchingToolDescription); - model = QUOTE(PATHTOEF(apl,ace_entrchtool.p3d)); - picture = QUOTE(PATHTOF(ui\w_entrchtool_ca.paa)); + model = QPATHTOEF(apl,ace_entrchtool.p3d); + picture = QPATHTOF(ui\w_entrchtool_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 10; diff --git a/addons/tripod/CfgVehicles.hpp b/addons/tripod/CfgVehicles.hpp index 418b32e550..f3f11a2824 100644 --- a/addons/tripod/CfgVehicles.hpp +++ b/addons/tripod/CfgVehicles.hpp @@ -11,7 +11,7 @@ class CfgVehicles { statement = QUOTE([ARR_2(_player,'ACE_Tripod')] call FUNC(place)); showDisabled = 0; priority = 2; - icon = PATHTOF(UI\w_sniper_tripod_ca.paa); + icon = QPATHTOF(UI\w_sniper_tripod_ca.paa); }; }; }; @@ -46,7 +46,7 @@ class CfgVehicles { EGVAR(dragging,dragDirection) = 0; scope = 2; displayName = CSTRING(DisplayName); - model = PATHTOF(data\sniper_tripod.p3d); + model = QPATHTOF(data\sniper_tripod.p3d); class AnimationSources { class slide_down_tripod { @@ -76,7 +76,7 @@ class CfgVehicles { showDisabled = 0; exceptions[] = {}; priority = 5; - icon = PATHTOF(UI\w_sniper_tripod_ca.paa); + icon = QPATHTOF(UI\w_sniper_tripod_ca.paa); }; class ACE_Adjust { @@ -89,7 +89,7 @@ class CfgVehicles { showDisabled = 0; exceptions[] = {}; priority = 5; - icon = PATHTOF(UI\w_sniper_tripod_ca.paa); + icon = QPATHTOF(UI\w_sniper_tripod_ca.paa); }; }; }; diff --git a/addons/tripod/CfgWeapons.hpp b/addons/tripod/CfgWeapons.hpp index adc14912c2..03b2e92075 100644 --- a/addons/tripod/CfgWeapons.hpp +++ b/addons/tripod/CfgWeapons.hpp @@ -7,8 +7,8 @@ class CfgWeapons { scope = 2; displayName = CSTRING(DisplayName); descriptionShort = ""; - model = PATHTOF(data\w_sniper_tripod.p3d); - picture = PATHTOF(UI\w_sniper_tripod_ca.paa); + model = QPATHTOF(data\w_sniper_tripod.p3d); + picture = QPATHTOF(UI\w_sniper_tripod_ca.paa); class ItemInfo: InventoryItem_Base_F { mass = 40; diff --git a/addons/vector/CfgWeapons.hpp b/addons/vector/CfgWeapons.hpp index 019d774da8..86704c3218 100644 --- a/addons/vector/CfgWeapons.hpp +++ b/addons/vector/CfgWeapons.hpp @@ -5,9 +5,9 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); displayName = CSTRING(VectorName); descriptionShort = CSTRING(VectorDescription); - model = PATHTOF(ace_vector.p3d); - modelOptics = PATHTOF(ace_vector_optics.p3d); - picture = PATHTOF(UI\ace_vector_x_ca.paa); + model = QPATHTOF(ace_vector.p3d); + modelOptics = QPATHTOF(ace_vector_optics.p3d); + picture = QPATHTOF(UI\ace_vector_x_ca.paa); visionMode[] = {"Normal","NVG"}; opticsZoomMax = 0.06621; opticsZoomMin = 0.06621; diff --git a/addons/vector/functions/fnc_convertToTexturesDegree.sqf b/addons/vector/functions/fnc_convertToTexturesDegree.sqf index a028012cec..b94c2edf64 100644 --- a/addons/vector/functions/fnc_convertToTexturesDegree.sqf +++ b/addons/vector/functions/fnc_convertToTexturesDegree.sqf @@ -32,25 +32,25 @@ if (GVAR(useMil)) then { _digit1 = floor (_number / 100); _digit2 = floor (_number / 10) - _digit1 * 10; _digit3 = _number mod 10; - _digit4 = QUOTE(PATHTOF(rsc\vector_degree.paa)); + _digit4 = QPATHTOF(rsc\vector_degree.paa); if (_isNegative) then { if (_digit1 == 0) then { if (_digit2 == 0) then { _digit1 = ""; - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; } else { - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; }; } else { - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa)); + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = QPATHTOF(rsc\vector_minus.paa); }; } else { @@ -59,16 +59,16 @@ if (GVAR(useMil)) then { if (_digit2 == 0) then { _digit1 = ""; _digit2 = ""; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; } else { _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; }; } else { - _digit1 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit1]; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; + _digit1 = format [QPATHTOF(rsc\vector_%1.paa), _digit1]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; }; }; diff --git a/addons/vector/functions/fnc_convertToTexturesDistance.sqf b/addons/vector/functions/fnc_convertToTexturesDistance.sqf index ea0d054e5e..eb39febfe8 100644 --- a/addons/vector/functions/fnc_convertToTexturesDistance.sqf +++ b/addons/vector/functions/fnc_convertToTexturesDistance.sqf @@ -15,7 +15,7 @@ _isNegative = _number < 0; _number = abs _number; if (_number >= 10000) exitWith { - [QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa))] // return + [QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa)] // return }; private ["_digit1", "_digit2", "_digit3", "_digit4"]; @@ -32,25 +32,25 @@ if (_isNegative) then { if (_digit3 == 0) then { _digit1 = ""; _digit2 = ""; - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; } else { _digit1 = ""; - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa)); + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = QPATHTOF(rsc\vector_minus.paa); }; } else { @@ -61,24 +61,24 @@ if (_isNegative) then { _digit1 = ""; _digit2 = ""; _digit3 = ""; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; } else { _digit1 = ""; _digit2 = ""; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { - _digit1 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit1]; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit1 = format [QPATHTOF(rsc\vector_%1.paa), _digit1]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; }; diff --git a/addons/vector/functions/fnc_convertToTexturesFOS.sqf b/addons/vector/functions/fnc_convertToTexturesFOS.sqf index 6141e40fa8..7a77a3aab8 100644 --- a/addons/vector/functions/fnc_convertToTexturesFOS.sqf +++ b/addons/vector/functions/fnc_convertToTexturesFOS.sqf @@ -16,7 +16,7 @@ _isNegative = _number < 0; _number = abs _number; if (_number > 9999) exitWith { - [QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa))] // return + [QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa)] // return }; private ["_digit0", "_digit1", "_digit2", "_digit3", "_digit4"]; @@ -35,31 +35,31 @@ switch (_coordinate) do { if (_digit1 == 0) then { if (_digit2 == 0) then { if (_digit3 == 0) then { - _digit0 = QUOTE(PATHTOF(rsc\vector_l.paa)); + _digit0 = QPATHTOF(rsc\vector_l.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit3 = ""; _digit4 = ""; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_l.paa)); + _digit0 = QPATHTOF(rsc\vector_l.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit4 = ""; }; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_l.paa)); + _digit0 = QPATHTOF(rsc\vector_l.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { _digit0 = ""; - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa)); + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = QPATHTOF(rsc\vector_minus.paa); }; } else { @@ -67,31 +67,31 @@ switch (_coordinate) do { if (_digit1 == 0) then { if (_digit2 == 0) then { if (_digit3 == 0) then { - _digit0 = QUOTE(PATHTOF(rsc\vector_r.paa)); + _digit0 = QPATHTOF(rsc\vector_r.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit3 = ""; _digit4 = ""; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_r.paa)); + _digit0 = QPATHTOF(rsc\vector_r.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit4 = ""; }; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_r.paa)); + _digit0 = QPATHTOF(rsc\vector_r.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { _digit0 = ""; - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa)); + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = QPATHTOF(rsc\vector_minus.paa); }; }; @@ -104,31 +104,31 @@ switch (_coordinate) do { if (_digit1 == 0) then { if (_digit2 == 0) then { if (_digit3 == 0) then { - _digit0 = QUOTE(PATHTOF(rsc\vector_d.paa)); + _digit0 = QPATHTOF(rsc\vector_d.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit3 = ""; _digit4 = ""; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_d.paa)); + _digit0 = QPATHTOF(rsc\vector_d.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit4 = ""; }; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_d.paa)); + _digit0 = QPATHTOF(rsc\vector_d.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { _digit0 = ""; - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa)); + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = QPATHTOF(rsc\vector_minus.paa); }; } else { @@ -136,31 +136,31 @@ switch (_coordinate) do { if (_digit1 == 0) then { if (_digit2 == 0) then { if (_digit3 == 0) then { - _digit0 = QUOTE(PATHTOF(rsc\vector_a.paa)); + _digit0 = QPATHTOF(rsc\vector_a.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit3 = ""; _digit4 = ""; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_a.paa)); + _digit0 = QPATHTOF(rsc\vector_a.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit4 = ""; }; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_a.paa)); + _digit0 = QPATHTOF(rsc\vector_a.paa); _digit1 = ""; - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { _digit0 = ""; - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa)); + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = QPATHTOF(rsc\vector_minus.paa); }; }; @@ -173,31 +173,31 @@ switch (_coordinate) do { if (_digit1 == 0) then { if (_digit2 == 0) then { if (_digit3 == 0) then { - _digit0 = QUOTE(PATHTOF(rsc\vector_u.paa)); - _digit1 = QUOTE(PATHTOF(rsc\vector_p.paa)); + _digit0 = QPATHTOF(rsc\vector_u.paa); + _digit1 = QPATHTOF(rsc\vector_p.paa); _digit2 = ""; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit4 = ""; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_u.paa)); - _digit1 = QUOTE(PATHTOF(rsc\vector_p.paa)); + _digit0 = QPATHTOF(rsc\vector_u.paa); + _digit1 = QPATHTOF(rsc\vector_p.paa); _digit2 = ""; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_u.paa)); - _digit1 = QUOTE(PATHTOF(rsc\vector_p.paa)); - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit0 = QPATHTOF(rsc\vector_u.paa); + _digit1 = QPATHTOF(rsc\vector_p.paa); + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { _digit0 = ""; - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa)); + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = QPATHTOF(rsc\vector_minus.paa); }; } else { @@ -205,31 +205,31 @@ switch (_coordinate) do { if (_digit1 == 0) then { if (_digit2 == 0) then { if (_digit3 == 0) then { - _digit0 = QUOTE(PATHTOF(rsc\vector_d.paa)); - _digit1 = QUOTE(PATHTOF(rsc\vector_n.paa)); + _digit0 = QPATHTOF(rsc\vector_d.paa); + _digit1 = QPATHTOF(rsc\vector_n.paa); _digit2 = ""; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; _digit4 = ""; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_d.paa)); - _digit1 = QUOTE(PATHTOF(rsc\vector_n.paa)); + _digit0 = QPATHTOF(rsc\vector_d.paa); + _digit1 = QPATHTOF(rsc\vector_n.paa); _digit2 = ""; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { - _digit0 = QUOTE(PATHTOF(rsc\vector_d.paa)); - _digit1 = QUOTE(PATHTOF(rsc\vector_n.paa)); - _digit2 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit2]; - _digit3 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit3]; - _digit4 = format [QUOTE(PATHTOF(rsc\vector_%1.paa)), _digit4]; + _digit0 = QPATHTOF(rsc\vector_d.paa); + _digit1 = QPATHTOF(rsc\vector_n.paa); + _digit2 = format [QPATHTOF(rsc\vector_%1.paa), _digit2]; + _digit3 = format [QPATHTOF(rsc\vector_%1.paa), _digit3]; + _digit4 = format [QPATHTOF(rsc\vector_%1.paa), _digit4]; }; } else { _digit0 = ""; - _digit1 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit2 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit3 = QUOTE(PATHTOF(rsc\vector_minus.paa)); - _digit4 = QUOTE(PATHTOF(rsc\vector_minus.paa)); + _digit1 = QPATHTOF(rsc\vector_minus.paa); + _digit2 = QPATHTOF(rsc\vector_minus.paa); + _digit3 = QPATHTOF(rsc\vector_minus.paa); + _digit4 = QPATHTOF(rsc\vector_minus.paa); }; }; @@ -238,7 +238,7 @@ switch (_coordinate) do { // trap errors if !([_digit0, _digit1, _digit2, _digit3, _digit4] isEqualTypeAll "") exitWith { - [QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa)), QUOTE(PATHTOF(rsc\vector_minus.paa))] // return + [QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa), QPATHTOF(rsc\vector_minus.paa)] // return }; [_digit0, _digit1, _digit2, _digit3, _digit4] diff --git a/addons/vector/functions/fnc_showCenter.sqf b/addons/vector/functions/fnc_showCenter.sqf index 1293e1286d..4870b10a69 100644 --- a/addons/vector/functions/fnc_showCenter.sqf +++ b/addons/vector/functions/fnc_showCenter.sqf @@ -7,6 +7,6 @@ Shows or hides the vectors center square thingy. */ #include "script_component.hpp" -((GETUVAR(ACE_dlgVector,displayNull)) displayCtrl 1301) ctrlSetText (["", QUOTE(PATHTOF(rsc\vector_center.paa))] select (_this select 0)); +((GETUVAR(ACE_dlgVector,displayNull)) displayCtrl 1301) ctrlSetText (["", QPATHTOF(rsc\vector_center.paa)] select (_this select 0)); [GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showP1.sqf b/addons/vector/functions/fnc_showP1.sqf index 73453961c1..27f9063794 100644 --- a/addons/vector/functions/fnc_showP1.sqf +++ b/addons/vector/functions/fnc_showP1.sqf @@ -13,9 +13,9 @@ disableSerialization; _dlgVector = GETUVAR(ACE_dlgVector,displayNull); if (_this select 0) then { - (_dlgVector displayCtrl 1321) ctrlSetText QUOTE(PATHTOF(rsc\vector_1.paa)); - (_dlgVector displayCtrl 1322) ctrlSetText QUOTE(PATHTOF(rsc\vector_minus.paa)); - (_dlgVector displayCtrl 1323) ctrlSetText QUOTE(PATHTOF(rsc\vector_p.paa)); + (_dlgVector displayCtrl 1321) ctrlSetText QPATHTOF(rsc\vector_1.paa); + (_dlgVector displayCtrl 1322) ctrlSetText QPATHTOF(rsc\vector_minus.paa); + (_dlgVector displayCtrl 1323) ctrlSetText QPATHTOF(rsc\vector_p.paa); (_dlgVector displayCtrl 1324) ctrlSetText ""; } else { (_dlgVector displayCtrl 1321) ctrlSetText ""; diff --git a/addons/vector/functions/fnc_showReticle.sqf b/addons/vector/functions/fnc_showReticle.sqf index d44adfb68d..bcd565774f 100644 --- a/addons/vector/functions/fnc_showReticle.sqf +++ b/addons/vector/functions/fnc_showReticle.sqf @@ -7,6 +7,6 @@ Shows or hides the electronic reticle. */ #include "script_component.hpp" -((GETUVAR(ACE_dlgVector,displayNull)) displayCtrl 1302) ctrlSetText (["", QUOTE(PATHTOF(rsc\vector_crosshair.paa))] select (_this select 0)); +((GETUVAR(ACE_dlgVector,displayNull)) displayCtrl 1302) ctrlSetText (["", QPATHTOF(rsc\vector_crosshair.paa)] select (_this select 0)); [GVAR(illuminate)] call FUNC(illuminate); diff --git a/addons/vector/functions/fnc_showText.sqf b/addons/vector/functions/fnc_showText.sqf index 68dbe9d642..f9d85d84e3 100644 --- a/addons/vector/functions/fnc_showText.sqf +++ b/addons/vector/functions/fnc_showText.sqf @@ -10,123 +10,123 @@ switch (_this select 0) do { case ("config"): { (_dlgVector displayCtrl 1315) ctrlSetText ""; (_dlgVector displayCtrl 1316) ctrlSetText ""; - (_dlgVector displayCtrl 1317) ctrlSetText QUOTE(PATHTOF(rsc\vector_c.paa)); - (_dlgVector displayCtrl 1318) ctrlSetText QUOTE(PATHTOF(rsc\vector_o.paa)); - (_dlgVector displayCtrl 1319) ctrlSetText QUOTE(PATHTOF(rsc\vector_n.paa)); - (_dlgVector displayCtrl 1310) ctrlSetText QUOTE(PATHTOF(rsc\vector_f.paa)); - (_dlgVector displayCtrl 1311) ctrlSetText QUOTE(PATHTOF(rsc\vector_i.paa)); - (_dlgVector displayCtrl 1312) ctrlSetText QUOTE(PATHTOF(rsc\vector_g.paa)); + (_dlgVector displayCtrl 1317) ctrlSetText QPATHTOF(rsc\vector_c.paa); + (_dlgVector displayCtrl 1318) ctrlSetText QPATHTOF(rsc\vector_o.paa); + (_dlgVector displayCtrl 1319) ctrlSetText QPATHTOF(rsc\vector_n.paa); + (_dlgVector displayCtrl 1310) ctrlSetText QPATHTOF(rsc\vector_f.paa); + (_dlgVector displayCtrl 1311) ctrlSetText QPATHTOF(rsc\vector_i.paa); + (_dlgVector displayCtrl 1312) ctrlSetText QPATHTOF(rsc\vector_g.paa); (_dlgVector displayCtrl 1313) ctrlSetText ""; (_dlgVector displayCtrl 1314) ctrlSetText ""; }; case ("settings"): { (_dlgVector displayCtrl 1315) ctrlSetText ""; - (_dlgVector displayCtrl 1316) ctrlSetText QUOTE(PATHTOF(rsc\vector_u.paa)); - (_dlgVector displayCtrl 1317) ctrlSetText QUOTE(PATHTOF(rsc\vector_n.paa)); - (_dlgVector displayCtrl 1318) ctrlSetText QUOTE(PATHTOF(rsc\vector_i.paa)); - (_dlgVector displayCtrl 1319) ctrlSetText QUOTE(PATHTOF(rsc\vector_t.paa)); - (_dlgVector displayCtrl 1310) ctrlSetText QUOTE(PATHTOF(rsc\vector_5.paa)); - (_dlgVector displayCtrl 1311) ctrlSetText QUOTE(PATHTOF(rsc\vector_e.paa)); - (_dlgVector displayCtrl 1312) ctrlSetText QUOTE(PATHTOF(rsc\vector_t.paa)); - (_dlgVector displayCtrl 1313) ctrlSetText QUOTE(PATHTOF(rsc\vector_t.paa)); + (_dlgVector displayCtrl 1316) ctrlSetText QPATHTOF(rsc\vector_u.paa); + (_dlgVector displayCtrl 1317) ctrlSetText QPATHTOF(rsc\vector_n.paa); + (_dlgVector displayCtrl 1318) ctrlSetText QPATHTOF(rsc\vector_i.paa); + (_dlgVector displayCtrl 1319) ctrlSetText QPATHTOF(rsc\vector_t.paa); + (_dlgVector displayCtrl 1310) ctrlSetText QPATHTOF(rsc\vector_5.paa); + (_dlgVector displayCtrl 1311) ctrlSetText QPATHTOF(rsc\vector_e.paa); + (_dlgVector displayCtrl 1312) ctrlSetText QPATHTOF(rsc\vector_t.paa); + (_dlgVector displayCtrl 1313) ctrlSetText QPATHTOF(rsc\vector_t.paa); (_dlgVector displayCtrl 1314) ctrlSetText ""; }; case ("nigt"): { (_dlgVector displayCtrl 1315) ctrlSetText ""; - (_dlgVector displayCtrl 1316) ctrlSetText QUOTE(PATHTOF(rsc\vector_n.paa)); - (_dlgVector displayCtrl 1317) ctrlSetText QUOTE(PATHTOF(rsc\vector_i.paa)); - (_dlgVector displayCtrl 1318) ctrlSetText QUOTE(PATHTOF(rsc\vector_g.paa)); - (_dlgVector displayCtrl 1319) ctrlSetText QUOTE(PATHTOF(rsc\vector_t.paa)); + (_dlgVector displayCtrl 1316) ctrlSetText QPATHTOF(rsc\vector_n.paa); + (_dlgVector displayCtrl 1317) ctrlSetText QPATHTOF(rsc\vector_i.paa); + (_dlgVector displayCtrl 1318) ctrlSetText QPATHTOF(rsc\vector_g.paa); + (_dlgVector displayCtrl 1319) ctrlSetText QPATHTOF(rsc\vector_t.paa); }; case ("eret"): { (_dlgVector displayCtrl 1315) ctrlSetText ""; - (_dlgVector displayCtrl 1316) ctrlSetText QUOTE(PATHTOF(rsc\vector_e.paa)); - (_dlgVector displayCtrl 1317) ctrlSetText QUOTE(PATHTOF(rsc\vector_r.paa)); - (_dlgVector displayCtrl 1318) ctrlSetText QUOTE(PATHTOF(rsc\vector_e.paa)); - (_dlgVector displayCtrl 1319) ctrlSetText QUOTE(PATHTOF(rsc\vector_t.paa)); + (_dlgVector displayCtrl 1316) ctrlSetText QPATHTOF(rsc\vector_e.paa); + (_dlgVector displayCtrl 1317) ctrlSetText QPATHTOF(rsc\vector_r.paa); + (_dlgVector displayCtrl 1318) ctrlSetText QPATHTOF(rsc\vector_e.paa); + (_dlgVector displayCtrl 1319) ctrlSetText QPATHTOF(rsc\vector_t.paa); }; case ("on"): { - (_dlgVector displayCtrl 1310) ctrlSetText QUOTE(PATHTOF(rsc\vector_o.paa)); - (_dlgVector displayCtrl 1311) ctrlSetText QUOTE(PATHTOF(rsc\vector_n.paa)); + (_dlgVector displayCtrl 1310) ctrlSetText QPATHTOF(rsc\vector_o.paa); + (_dlgVector displayCtrl 1311) ctrlSetText QPATHTOF(rsc\vector_n.paa); (_dlgVector displayCtrl 1312) ctrlSetText ""; (_dlgVector displayCtrl 1313) ctrlSetText ""; (_dlgVector displayCtrl 1314) ctrlSetText ""; }; case ("off"): { - (_dlgVector displayCtrl 1310) ctrlSetText QUOTE(PATHTOF(rsc\vector_o.paa)); - (_dlgVector displayCtrl 1311) ctrlSetText QUOTE(PATHTOF(rsc\vector_f.paa)); - (_dlgVector displayCtrl 1312) ctrlSetText QUOTE(PATHTOF(rsc\vector_f.paa)); + (_dlgVector displayCtrl 1310) ctrlSetText QPATHTOF(rsc\vector_o.paa); + (_dlgVector displayCtrl 1311) ctrlSetText QPATHTOF(rsc\vector_f.paa); + (_dlgVector displayCtrl 1312) ctrlSetText QPATHTOF(rsc\vector_f.paa); (_dlgVector displayCtrl 1313) ctrlSetText ""; (_dlgVector displayCtrl 1314) ctrlSetText ""; }; case ("deg"): { (_dlgVector displayCtrl 1315) ctrlSetText ""; - (_dlgVector displayCtrl 1316) ctrlSetText QUOTE(PATHTOF(rsc\vector_3.paa)); - (_dlgVector displayCtrl 1317) ctrlSetText QUOTE(PATHTOF(rsc\vector_6.paa)); - (_dlgVector displayCtrl 1318) ctrlSetText QUOTE(PATHTOF(rsc\vector_0.paa)); - (_dlgVector displayCtrl 1319) ctrlSetText QUOTE(PATHTOF(rsc\vector_degree.paa)); + (_dlgVector displayCtrl 1316) ctrlSetText QPATHTOF(rsc\vector_3.paa); + (_dlgVector displayCtrl 1317) ctrlSetText QPATHTOF(rsc\vector_6.paa); + (_dlgVector displayCtrl 1318) ctrlSetText QPATHTOF(rsc\vector_0.paa); + (_dlgVector displayCtrl 1319) ctrlSetText QPATHTOF(rsc\vector_degree.paa); }; case ("mil"): { (_dlgVector displayCtrl 1315) ctrlSetText ""; - (_dlgVector displayCtrl 1316) ctrlSetText QUOTE(PATHTOF(rsc\vector_6.paa)); - (_dlgVector displayCtrl 1317) ctrlSetText QUOTE(PATHTOF(rsc\vector_4.paa)); - (_dlgVector displayCtrl 1318) ctrlSetText QUOTE(PATHTOF(rsc\vector_0.paa)); - (_dlgVector displayCtrl 1319) ctrlSetText QUOTE(PATHTOF(rsc\vector_0.paa)); + (_dlgVector displayCtrl 1316) ctrlSetText QPATHTOF(rsc\vector_6.paa); + (_dlgVector displayCtrl 1317) ctrlSetText QPATHTOF(rsc\vector_4.paa); + (_dlgVector displayCtrl 1318) ctrlSetText QPATHTOF(rsc\vector_0.paa); + (_dlgVector displayCtrl 1319) ctrlSetText QPATHTOF(rsc\vector_0.paa); }; case ("meter"): { - (_dlgVector displayCtrl 1310) ctrlSetText QUOTE(PATHTOF(rsc\vector_5.paa)); - (_dlgVector displayCtrl 1311) ctrlSetText QUOTE(PATHTOF(rsc\vector_1.paa)); - (_dlgVector displayCtrl 1312) ctrlSetText QUOTE(PATHTOF(rsc\vector_minus.paa)); - (_dlgVector displayCtrl 1313) ctrlSetText QUOTE(PATHTOF(rsc\vector_u.paa)); + (_dlgVector displayCtrl 1310) ctrlSetText QPATHTOF(rsc\vector_5.paa); + (_dlgVector displayCtrl 1311) ctrlSetText QPATHTOF(rsc\vector_1.paa); + (_dlgVector displayCtrl 1312) ctrlSetText QPATHTOF(rsc\vector_minus.paa); + (_dlgVector displayCtrl 1313) ctrlSetText QPATHTOF(rsc\vector_u.paa); (_dlgVector displayCtrl 1314) ctrlSetText ""; }; case ("feet"): { - (_dlgVector displayCtrl 1310) ctrlSetText QUOTE(PATHTOF(rsc\vector_f.paa)); - (_dlgVector displayCtrl 1311) ctrlSetText QUOTE(PATHTOF(rsc\vector_e.paa)); - (_dlgVector displayCtrl 1312) ctrlSetText QUOTE(PATHTOF(rsc\vector_e.paa)); - (_dlgVector displayCtrl 1313) ctrlSetText QUOTE(PATHTOF(rsc\vector_t.paa)); + (_dlgVector displayCtrl 1310) ctrlSetText QPATHTOF(rsc\vector_f.paa); + (_dlgVector displayCtrl 1311) ctrlSetText QPATHTOF(rsc\vector_e.paa); + (_dlgVector displayCtrl 1312) ctrlSetText QPATHTOF(rsc\vector_e.paa); + (_dlgVector displayCtrl 1313) ctrlSetText QPATHTOF(rsc\vector_t.paa); (_dlgVector displayCtrl 1314) ctrlSetText ""; }; case ("stor"): { - (_dlgVector displayCtrl 1321) ctrlSetText QUOTE(PATHTOF(rsc\vector_5.paa)); - (_dlgVector displayCtrl 1322) ctrlSetText QUOTE(PATHTOF(rsc\vector_t.paa)); - (_dlgVector displayCtrl 1323) ctrlSetText QUOTE(PATHTOF(rsc\vector_o.paa)); - (_dlgVector displayCtrl 1324) ctrlSetText QUOTE(PATHTOF(rsc\vector_r.paa)); + (_dlgVector displayCtrl 1321) ctrlSetText QPATHTOF(rsc\vector_5.paa); + (_dlgVector displayCtrl 1322) ctrlSetText QPATHTOF(rsc\vector_t.paa); + (_dlgVector displayCtrl 1323) ctrlSetText QPATHTOF(rsc\vector_o.paa); + (_dlgVector displayCtrl 1324) ctrlSetText QPATHTOF(rsc\vector_r.paa); }; case ("old_config"): { (_dlgVector displayCtrl 1315) ctrlSetText ""; (_dlgVector displayCtrl 1316) ctrlSetText ""; - (_dlgVector displayCtrl 1317) ctrlSetText QUOTE(PATHTOF(rsc\vector_o.paa)); - (_dlgVector displayCtrl 1318) ctrlSetText QUOTE(PATHTOF(rsc\vector_1.paa)); - (_dlgVector displayCtrl 1319) ctrlSetText QUOTE(PATHTOF(rsc\vector_d.paa)); - (_dlgVector displayCtrl 1310) ctrlSetText QUOTE(PATHTOF(rsc\vector_c.paa)); - (_dlgVector displayCtrl 1311) ctrlSetText QUOTE(PATHTOF(rsc\vector_o.paa)); - (_dlgVector displayCtrl 1312) ctrlSetText QUOTE(PATHTOF(rsc\vector_n.paa)); - (_dlgVector displayCtrl 1313) ctrlSetText QUOTE(PATHTOF(rsc\vector_f.paa)); + (_dlgVector displayCtrl 1317) ctrlSetText QPATHTOF(rsc\vector_o.paa); + (_dlgVector displayCtrl 1318) ctrlSetText QPATHTOF(rsc\vector_1.paa); + (_dlgVector displayCtrl 1319) ctrlSetText QPATHTOF(rsc\vector_d.paa); + (_dlgVector displayCtrl 1310) ctrlSetText QPATHTOF(rsc\vector_c.paa); + (_dlgVector displayCtrl 1311) ctrlSetText QPATHTOF(rsc\vector_o.paa); + (_dlgVector displayCtrl 1312) ctrlSetText QPATHTOF(rsc\vector_n.paa); + (_dlgVector displayCtrl 1313) ctrlSetText QPATHTOF(rsc\vector_f.paa); (_dlgVector displayCtrl 1314) ctrlSetText ""; }; case ("old_settings"): { (_dlgVector displayCtrl 1315) ctrlSetText ""; (_dlgVector displayCtrl 1316) ctrlSetText ""; - (_dlgVector displayCtrl 1317) ctrlSetText QUOTE(PATHTOF(rsc\vector_o.paa)); - (_dlgVector displayCtrl 1318) ctrlSetText QUOTE(PATHTOF(rsc\vector_1.paa)); - (_dlgVector displayCtrl 1319) ctrlSetText QUOTE(PATHTOF(rsc\vector_d.paa)); - (_dlgVector displayCtrl 1310) ctrlSetText QUOTE(PATHTOF(rsc\vector_u.paa)); - (_dlgVector displayCtrl 1311) ctrlSetText QUOTE(PATHTOF(rsc\vector_n.paa)); - (_dlgVector displayCtrl 1312) ctrlSetText QUOTE(PATHTOF(rsc\vector_i.paa)); - (_dlgVector displayCtrl 1313) ctrlSetText QUOTE(PATHTOF(rsc\vector_t.paa)); + (_dlgVector displayCtrl 1317) ctrlSetText QPATHTOF(rsc\vector_o.paa); + (_dlgVector displayCtrl 1318) ctrlSetText QPATHTOF(rsc\vector_1.paa); + (_dlgVector displayCtrl 1319) ctrlSetText QPATHTOF(rsc\vector_d.paa); + (_dlgVector displayCtrl 1310) ctrlSetText QPATHTOF(rsc\vector_u.paa); + (_dlgVector displayCtrl 1311) ctrlSetText QPATHTOF(rsc\vector_n.paa); + (_dlgVector displayCtrl 1312) ctrlSetText QPATHTOF(rsc\vector_i.paa); + (_dlgVector displayCtrl 1313) ctrlSetText QPATHTOF(rsc\vector_t.paa); (_dlgVector displayCtrl 1314) ctrlSetText ""; }; diff --git a/addons/vehiclelock/CfgMagazines.hpp b/addons/vehiclelock/CfgMagazines.hpp index 62c6fdcec2..28cb00717a 100644 --- a/addons/vehiclelock/CfgMagazines.hpp +++ b/addons/vehiclelock/CfgMagazines.hpp @@ -1,7 +1,7 @@ class CfgMagazines { class CA_Magazine; class ACE_key_customKeyMagazine: CA_Magazine { - picture = QUOTE(PATHTOF(ui\keyBlack.paa)); + picture = QPATHTOF(ui\keyBlack.paa); displayName = "ACE Vehicle Key"; //!!!CANNOT be localized!!!: because it is used as part of the magazineDetail string descriptionShort = CSTRING(Item_Custom_Description); count = 1; diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index 873c875f09..5906f05f79 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -5,14 +5,14 @@ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,false)])] call EFUNC(common,targetEvent)); \ priority = 0.3; \ - icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ + icon = QPATHTOF(UI\key_menuIcon_ca.paa); \ }; \ class ACE_lockVehicle { \ displayName = CSTRING(Action_Lock); \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,true)])] call EFUNC(common,targetEvent)); \ priority = 0.2; \ - icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ + icon = QPATHTOF(UI\key_menuIcon_ca.paa); \ }; \ class ACE_lockpickVehicle { \ displayName = CSTRING(Action_Lockpick); \ @@ -29,7 +29,7 @@ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,false)])] call EFUNC(common,targetEvent)); \ priority = 0.3; \ - icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ + icon = QPATHTOF(UI\key_menuIcon_ca.paa); \ }; \ class ACE_lockVehicle { \ displayName = CSTRING(Action_Lock); \ @@ -37,7 +37,7 @@ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,true)])] call EFUNC(common,targetEvent)); \ priority = 0.2; \ - icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ + icon = QPATHTOF(UI\key_menuIcon_ca.paa); \ }; \ class ACE_lockpickVehicle { \ displayName = CSTRING(Action_Lockpick); \ @@ -75,7 +75,7 @@ class CfgVehicles { scope = 2; isGlobal = 0; isSingular = 1; - icon = QUOTE(PATHTOF(UI\Icon_Module_VehicleLock_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_VehicleLock_ca.paa); functionPriority = 0; class Arguments { class LockVehicleInventory { @@ -113,7 +113,7 @@ class CfgVehicles { function = QFUNC(moduleSync); scope = 2; isGlobal = 0; - icon = QUOTE(PATHTOF(UI\Icon_Module_VehicleKey_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_VehicleKey_ca.paa); functionPriority = 0; class Arguments {}; class ModuleDescription: ModuleDescription { diff --git a/addons/vehiclelock/CfgWeapons.hpp b/addons/vehiclelock/CfgWeapons.hpp index 0895988737..1d72a5538d 100644 --- a/addons/vehiclelock/CfgWeapons.hpp +++ b/addons/vehiclelock/CfgWeapons.hpp @@ -8,7 +8,7 @@ class CfgWeapons { displayName = "Vehicle Key: Master"; descriptionShort = CSTRING(Item_Master_Description); model = "\A3\weapons_F\ammo\mag_univ.p3d"; - picture = QUOTE(PATHTOF(ui\keyBlack.paa)); + picture = QPATHTOF(ui\keyBlack.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 0; @@ -17,26 +17,26 @@ class CfgWeapons { class ACE_key_lockpick: ACE_key_master { displayName = "Lockpick"; descriptionShort = CSTRING(Item_Lockpick_Description); - picture = QUOTE(PATHTOF(ui\lockpick.paa)); + picture = QPATHTOF(ui\lockpick.paa); }; class ACE_key_west: ACE_key_master { displayName = "Vehicle Key: West"; descriptionShort = CSTRING(Item_West_Description); - picture = QUOTE(PATHTOF(ui\keyBlue.paa)); + picture = QPATHTOF(ui\keyBlue.paa); }; class ACE_key_east: ACE_key_master { displayName = "Vehicle Key: East"; descriptionShort = CSTRING(Item_East_Description); - picture = QUOTE(PATHTOF(ui\keyRed.paa)); + picture = QPATHTOF(ui\keyRed.paa); }; class ACE_key_indp: ACE_key_master { displayName = "Vehicle Key: Independent"; descriptionShort = CSTRING(Item_Indp_Description); - picture = QUOTE(PATHTOF(ui\keyPurple.paa)); + picture = QPATHTOF(ui\keyPurple.paa); }; class ACE_key_civ: ACE_key_master { displayName = "Vehicle Key: Civilian"; descriptionShort = CSTRING(Item_Civ_Description); - picture = QUOTE(PATHTOF(ui\keyGreen.paa)); + picture = QPATHTOF(ui\keyGreen.paa); }; }; diff --git a/addons/weather/CfgVehicles.hpp b/addons/weather/CfgVehicles.hpp index f98a1e50f5..ab3d408fdc 100644 --- a/addons/weather/CfgVehicles.hpp +++ b/addons/weather/CfgVehicles.hpp @@ -3,7 +3,7 @@ class CfgVehicles { class GVAR(ModuleSettings): ACE_Module { scope = 2; displayName = CSTRING(Module_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Wind_ca.paa); category = "ACE"; function = QUOTE(DFUNC(initModuleSettings)); functionPriority = 1; diff --git a/addons/weather/functions/fnc_displayWindInfo.sqf b/addons/weather/functions/fnc_displayWindInfo.sqf index f81384c1b0..5ea69c59a0 100644 --- a/addons/weather/functions/fnc_displayWindInfo.sqf +++ b/addons/weather/functions/fnc_displayWindInfo.sqf @@ -78,10 +78,10 @@ TRACE_1("Starting Wind Info PFEH", GVAR(WindInfo)); TRACE_3("update display",_beaufortNumber,_windDir,_windSpeed); __ctrl ctrlSetTextColor _windColor; if (_beaufortNumber > 0) then { - __ctrl ctrlSetText QUOTE(PATHTOF(UI\wind_arrow_ca.paa)); + __ctrl ctrlSetText QPATHTOF(UI\wind_arrow_ca.paa); __ctrl ctrlSetAngle [_windDir, 0.5, 0.5]; } else { - __ctrl ctrlSetText QUOTE(PATHTOF(UI\wind_noneCircle_ca.paa)); + __ctrl ctrlSetText QPATHTOF(UI\wind_noneCircle_ca.paa); }; __ctrl ctrlCommit 0; @@ -94,7 +94,7 @@ TRACE_1("Starting Wind Info PFEH", GVAR(WindInfo)); for "_index" from 0 to (_beaufortNumber - 1) do { private _ball = __dsp ctrlCreate ["RscPicture", _index]; - _ball ctrlSetText QUOTE(PATHTOF(UI\wind_dot_ca.paa)); + _ball ctrlSetText QPATHTOF(UI\wind_dot_ca.paa); _ball ctrlSetTextColor [1,1,1,1]; private _ballCenterX = _centerX - (_ballWidth / 2) + ((sin _windDir) * 0.013333) * (_index - 4.9) + ((cos _windDir) * 0.0125); private _ballCenterY = _centerY - (_ballHeight / 2) - ((1 * cos _windDir) * 4/3*0.013333) * (_index - 4.9) + ((sin _windDir) * 0.0125); diff --git a/addons/winddeflection/CfgVehicles.hpp b/addons/winddeflection/CfgVehicles.hpp index c52949e1fc..866a00d9c1 100644 --- a/addons/winddeflection/CfgVehicles.hpp +++ b/addons/winddeflection/CfgVehicles.hpp @@ -3,7 +3,7 @@ class CfgVehicles { class GVAR(ModuleSettings): ACE_Module { scope = 2; displayName = CSTRING(windDeflection_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Wind_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Wind_ca.paa); category = "ACE"; function = QUOTE(DFUNC(initModuleSettings)); functionPriority = 1; diff --git a/addons/yardage450/CfgWeapons.hpp b/addons/yardage450/CfgWeapons.hpp index 54e15401a6..382a6d09fc 100644 --- a/addons/yardage450/CfgWeapons.hpp +++ b/addons/yardage450/CfgWeapons.hpp @@ -5,9 +5,9 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); displayName = CSTRING(DisplayName); descriptionShort = CSTRING(Description); - model = PATHTOF(data\ace_yardage_pro_450.p3d); - modelOptics = PATHTOF(data\bushnell_optic.p3d); - picture = PATHTOF(UI\w_bushnell_ca.paa); + model = QPATHTOF(data\ace_yardage_pro_450.p3d); + modelOptics = QPATHTOF(data\bushnell_optic.p3d); + picture = QPATHTOF(UI\w_bushnell_ca.paa); opticsZoomMin = 0.33333/4; opticsZoomMax = 0.33333/4; opticsZoomInit = 0.33333/4; diff --git a/addons/zeus/CfgVehicles.hpp b/addons/zeus/CfgVehicles.hpp index 0013355370..947c8edb66 100644 --- a/addons/zeus/CfgVehicles.hpp +++ b/addons/zeus/CfgVehicles.hpp @@ -18,7 +18,7 @@ class CfgVehicles { class GVAR(moduleSettings): ACE_Module { scope = 2; displayName = CSTRING(Settings_DisplayName); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Settings_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Zeus_Settings_ca.paa); category = "ACE"; function = QFUNC(moduleZeusSettings); functionPriority = 1; @@ -90,7 +90,7 @@ class CfgVehicles { curatorCanAttach = 1; displayName = CSTRING(ModuleCaptive_DisplayName); function = QFUNC(moduleCaptive); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Captive_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Zeus_Captive_ca.paa); class ModuleDescription { description = "Flips the capture state of the specified unit."; sync[] = {}; @@ -100,7 +100,7 @@ class CfgVehicles { curatorCanAttach = 1; displayName = CSTRING(ModuleSurrender_DisplayName); function = QFUNC(moduleSurrender); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Surrender_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Zeus_Surrender_ca.paa); class ModuleDescription { description = "Flips the surrender state of the specified unit."; sync[] = {}; @@ -110,7 +110,7 @@ class CfgVehicles { curatorCanAttach = 1; displayName = CSTRING(ModuleUnconscious_DisplayName); function = QFUNC(moduleUnconscious); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Unconscious_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Zeus_Unconscious_ca.paa); class ModuleDescription { description = "Flips the unconscious state of the specified unit."; sync[] = {}; @@ -120,7 +120,7 @@ class CfgVehicles { curatorCanAttach = 1; displayName = CSTRING(ModuleSetMedic_DisplayName); function = QFUNC(moduleSetMedic); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa); class ModuleDescription { description = ""; sync[] = {}; @@ -130,7 +130,7 @@ class CfgVehicles { curatorCanAttach = 1; displayName = CSTRING(ModuleSetMedicalVehicle_DisplayName); function = QFUNC(moduleSetMedicalVehicle); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa); class ModuleDescription { description = ""; sync[] = {}; @@ -140,7 +140,7 @@ class CfgVehicles { curatorCanAttach = 1; displayName = CSTRING(ModuleSetMedicalFacility_DisplayName); function = QFUNC(moduleSetMedicalFacility); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa)); + icon = QPATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa); class ModuleDescription { description = ""; sync[] = {}; @@ -151,7 +151,7 @@ class CfgVehicles { curatorCanAttach = 1; displayName = CSTRING(ModuleAddSpareTrack_DisplayName); function = QFUNC(moduleAddSpareTrack); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa));//@todo + icon = QPATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa);//@todo class ModuleDescription { description = CSTRING(ModuleAddSpareTrack_Description); sync[] = {}; @@ -161,7 +161,7 @@ class CfgVehicles { curatorCanAttach = 1; displayName = CSTRING(ModuleAddSpareWheel_DisplayName); function = QFUNC(moduleAddSpareWheel); - icon = QUOTE(PATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa));//@todo + icon = QPATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa);//@todo class ModuleDescription { description = CSTRING(ModuleAddSpareWheel_Description); sync[] = {}; From 0c124a2af00c77bdaa9f52955884189b385c5556 Mon Sep 17 00:00:00 2001 From: jonpas Date: Fri, 8 Apr 2016 20:35:50 +0200 Subject: [PATCH 018/285] Remove redundant macro define --- addons/main/script_macros.hpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index e45f041ffa..dd870e6e49 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -12,8 +12,6 @@ #define QFUNC(var1) QUOTE(DFUNC(var1)) #define QEFUNC(var1,var2) QUOTE(DEFUNC(var1,var2)) -#define PATHTOEF(var1,var2) PATHTOF_SYS(PREFIX,var1,var2) - #define GETVAR_SYS(var1,var2) getVariable [ARR_2(QUOTE(var1),var2)] #define SETVAR_SYS(var1,var2) setVariable [ARR_2(QUOTE(var1),var2)] #define SETPVAR_SYS(var1,var2) setVariable [ARR_3(QUOTE(var1),var2,true)] From 014421e8eda65da5561e30db471d200dce5495cd Mon Sep 17 00:00:00 2001 From: jonpas Date: Fri, 8 Apr 2016 20:41:54 +0200 Subject: [PATCH 019/285] Remove redundant quoted function macro defines --- addons/main/script_macros.hpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index a64c8e014d..6879a922d5 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -9,9 +9,6 @@ #define DFUNC(var1) TRIPLES(ADDON,fnc,var1) #define DEFUNC(var1,var2) TRIPLES(DOUBLES(PREFIX,var1),fnc,var2) -#define QFUNC(var1) QUOTE(DFUNC(var1)) -#define QEFUNC(var1,var2) QUOTE(DEFUNC(var1,var2)) - #define PATHTOEF(var1,var2) PATHTOF_SYS(PREFIX,var1,var2) #define GETVAR_SYS(var1,var2) getVariable [ARR_2(QUOTE(var1),var2)] From ccaec31a904105bb3e06a57a55b95ff960e7aabb Mon Sep 17 00:00:00 2001 From: jonpas Date: Fri, 8 Apr 2016 20:43:26 +0200 Subject: [PATCH 020/285] Use new QFUNC and QEFUNC macros --- addons/common/functions/fnc_unloadPerson.sqf | 2 +- addons/common/functions/fnc_unloadPersonLocal.sqf | 2 +- addons/explosives/CfgModule.hpp | 2 +- addons/fastroping/CfgVehicles.hpp | 2 +- addons/frag/functions/fnc_spallTrack.sqf | 2 +- addons/hitreactions/functions/fnc_fallDown.sqf | 2 +- addons/medical/CfgVehicles.hpp | 10 +++++----- addons/missionmodules/CfgVehicles.hpp | 2 +- addons/nightvision/CfgVehicles.hpp | 2 +- addons/repair/functions/fnc_useItem.sqf | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/addons/common/functions/fnc_unloadPerson.sqf b/addons/common/functions/fnc_unloadPerson.sqf index 72816f2c3f..b4c57457af 100644 --- a/addons/common/functions/fnc_unloadPerson.sqf +++ b/addons/common/functions/fnc_unloadPerson.sqf @@ -15,7 +15,7 @@ */ #include "script_component.hpp" -#define GROUP_SWITCH_ID QUOTE(FUNC(loadPerson)) +#define GROUP_SWITCH_ID QFUNC(loadPerson) params ["_unit"]; diff --git a/addons/common/functions/fnc_unloadPersonLocal.sqf b/addons/common/functions/fnc_unloadPersonLocal.sqf index ff5813434a..7c54141d4a 100644 --- a/addons/common/functions/fnc_unloadPersonLocal.sqf +++ b/addons/common/functions/fnc_unloadPersonLocal.sqf @@ -14,7 +14,7 @@ */ #include "script_component.hpp" -#define GROUP_SWITCH_ID QUOTE(FUNC(loadPerson)) +#define GROUP_SWITCH_ID QFUNC(loadPerson) params ["_unit", "_vehicle", ["_unloader", objNull]]; TRACE_3("params",_unit,_vehicle,_unloader); diff --git a/addons/explosives/CfgModule.hpp b/addons/explosives/CfgModule.hpp index b651903f59..6f5e23e8ac 100644 --- a/addons/explosives/CfgModule.hpp +++ b/addons/explosives/CfgModule.hpp @@ -3,7 +3,7 @@ class ACE_ModuleExplosive: ACE_Module { author = ECSTRING(common,ACETeam); category = "ACE"; displayName = CSTRING(Module_DisplayName); - function = QUOTE(FUNC(module)); + function = QFUNC(module); scope = 2; isGlobal = 1; isSingular = 1; diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index a9f5ebfbad..005ea2f85f 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -22,7 +22,7 @@ class CfgVehicles { displayName = CSTRING(Module_FRIES_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_FRIES_ca.paa)); category = "ACE"; - function = QUOTE(FUNC(moduleEquipFRIES)); + function = QFUNC(moduleEquipFRIES); functionPriority = 10; isGlobal = 0; isTriggerActivated = 0; diff --git a/addons/frag/functions/fnc_spallTrack.sqf b/addons/frag/functions/fnc_spallTrack.sqf index afe4bc1931..3a02d2bd04 100644 --- a/addons/frag/functions/fnc_spallTrack.sqf +++ b/addons/frag/functions/fnc_spallTrack.sqf @@ -22,7 +22,7 @@ if (count _intersectsWith > 0) then { if(!(_x in _foundObjects)) then { // diag_log text format["Adding HP: %1", _x]; _index = (count GVAR(spallHPData)); - _hpId = _x addEventHandler ["hitPart", compile format["[%1, _this] call " + QUOTE(FUNC(spallHP)), _index]]; + _hpId = _x addEventHandler ["hitPart", compile format["[%1, _this] call " + QFUNC(spallHP), _index]]; _foundObjects set[(count _foundObjects), _x]; _foundObjectHPIds set[(count _foundObjectHPIds), _hpId]; _data = [_hpId, _x, typeOf _round, _round, _curPos, _velocity, 0, _foundObjects, _foundObjectHPIds]; diff --git a/addons/hitreactions/functions/fnc_fallDown.sqf b/addons/hitreactions/functions/fnc_fallDown.sqf index 9ed43ae14f..03484438eb 100644 --- a/addons/hitreactions/functions/fnc_fallDown.sqf +++ b/addons/hitreactions/functions/fnc_fallDown.sqf @@ -31,7 +31,7 @@ if (_unit == ACE_player) then { }; // play scream sound -if (!isNil QUOTE(EFUNC(medical,playInjuredSound))) then { +if (!isNil QEFUNC(medical,playInjuredSound)) then { [_unit] call EFUNC(medical,playInjuredSound); }; diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp index 86ad45296b..6a3a06b6c0 100644 --- a/addons/medical/CfgVehicles.hpp +++ b/addons/medical/CfgVehicles.hpp @@ -158,7 +158,7 @@ class CfgVehicles { displayName = CSTRING(BasicMedicalSettings_Module_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; - function = QUOTE(FUNC(moduleBasicMedicalSettings)); + function = QFUNC(moduleBasicMedicalSettings); functionPriority = 10; isGlobal = 2; isSingular = 1; @@ -200,7 +200,7 @@ class CfgVehicles { displayName = CSTRING(AdvancedMedicalSettings_Module_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; - function = QUOTE(FUNC(moduleAdvancedMedicalSettings)); + function = QFUNC(moduleAdvancedMedicalSettings); functionPriority = 10; isGlobal = 2; isSingular = 1; @@ -366,7 +366,7 @@ class CfgVehicles { displayName = CSTRING(AssignMedicRoles_Module_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; - function = QUOTE(FUNC(moduleAssignMedicRoles)); + function = QFUNC(moduleAssignMedicRoles); functionPriority = 10; isGlobal = 2; isTriggerActivated = 0; @@ -413,7 +413,7 @@ class CfgVehicles { displayName = CSTRING(AssignMedicVehicle_Module_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; - function = QUOTE(FUNC(moduleAssignMedicalVehicle)); + function = QFUNC(moduleAssignMedicalVehicle); functionPriority = 10; isGlobal = 2; isTriggerActivated = 0; @@ -457,7 +457,7 @@ class CfgVehicles { displayName = CSTRING(AssignMedicalFacility_Module_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_Medical_ca.paa)); category = "ACE_medical"; - function = QUOTE(FUNC(moduleAssignMedicalFacility)); + function = QFUNC(moduleAssignMedicalFacility); functionPriority = 10; isGlobal = 2; isTriggerActivated = 0; diff --git a/addons/missionmodules/CfgVehicles.hpp b/addons/missionmodules/CfgVehicles.hpp index ebf0b04f66..073fad95ba 100644 --- a/addons/missionmodules/CfgVehicles.hpp +++ b/addons/missionmodules/CfgVehicles.hpp @@ -11,7 +11,7 @@ class CfgVehicles { displayName = CSTRING(AmbianceSounds_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_Ambient_Sounds_ca.paa)); category = "ACE_missionModules"; - function = QUOTE(FUNC(moduleAmbianceSound)); + function = QFUNC(moduleAmbianceSound); functionPriority = 1; isGlobal = 1; isTriggerActivated = 0; diff --git a/addons/nightvision/CfgVehicles.hpp b/addons/nightvision/CfgVehicles.hpp index 8b489ad64f..c10b03ebd8 100644 --- a/addons/nightvision/CfgVehicles.hpp +++ b/addons/nightvision/CfgVehicles.hpp @@ -21,7 +21,7 @@ class CfgVehicles { displayName = CSTRING(Module_DisplayName); icon = QUOTE(PATHTOF(UI\Icon_Module_ca.paa)); category = "ACE"; - function = QUOTE(FUNC(initModule)); + function = QFUNC(initModule); functionPriority = 1; isGlobal = 1; isTriggerActivated = 0; diff --git a/addons/repair/functions/fnc_useItem.sqf b/addons/repair/functions/fnc_useItem.sqf index 024ee76c29..24554ba4eb 100644 --- a/addons/repair/functions/fnc_useItem.sqf +++ b/addons/repair/functions/fnc_useItem.sqf @@ -20,7 +20,7 @@ params ["_unit", "_item"]; TRACE_2("params",_unit,_item); if ([_unit, _item] call EFUNC(common,hasItem)) exitWith { - [[_unit, _item], QUOTE(EFUNC(common,useItem)), _unit] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ + [[_unit, _item], QEFUNC(common,useItem), _unit] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ [true, _unit]; }; From 9567b587c6d414cdc96303011caffe139891bf85 Mon Sep 17 00:00:00 2001 From: ir0n1e Date: Tue, 3 May 2016 10:21:21 +0200 Subject: [PATCH 021/285] added gunbag --- addons/gunbag/$PBOPREFIX$ | 1 + addons/gunbag/CfgEventHandlers.hpp | 12 ++ addons/gunbag/CfgVehicles.hpp | 108 +++++++++++++ addons/gunbag/CfgWeapons.hpp | 41 +++++ addons/gunbag/Source/gunbag_ca.png | Bin 0 -> 21383 bytes addons/gunbag/Source/gunbag_co.png | Bin 0 -> 4319740 bytes addons/gunbag/Source/gunbag_nohq.png | Bin 0 -> 2868674 bytes addons/gunbag/Source/gunbag_tan_ca.png | Bin 0 -> 23002 bytes addons/gunbag/Source/gunbag_tan_co.png | Bin 0 -> 5083248 bytes addons/gunbag/XEH_PREP.hpp | 6 + addons/gunbag/XEH_preInit.sqf | 7 + addons/gunbag/XEH_preStart.sqf | 3 + addons/gunbag/config.cpp | 16 ++ addons/gunbag/data/gunbag.p3d | Bin 0 -> 3484409 bytes addons/gunbag/data/gunbag.rvmat | 89 +++++++++++ addons/gunbag/data/gunbag_co.paa | Bin 0 -> 1506052 bytes addons/gunbag/data/gunbag_nohq.paa | Bin 0 -> 3107897 bytes addons/gunbag/data/gunbag_smdi.paa | Bin 0 -> 765940 bytes addons/gunbag/data/gunbag_tan_co.paa | Bin 0 -> 1613183 bytes addons/gunbag/data/model.cfg | 148 ++++++++++++++++++ addons/gunbag/functions/fnc_canInteract.sqf | 32 ++++ addons/gunbag/functions/fnc_isGunbag.sqf | 18 +++ addons/gunbag/functions/fnc_offGunbag.sqf | 42 +++++ addons/gunbag/functions/fnc_status.sqf | 26 +++ .../gunbag/functions/fnc_switchBackpack.sqf | 36 +++++ addons/gunbag/functions/fnc_toGunbag.sqf | 50 ++++++ addons/gunbag/functions/script_component.hpp | 1 + addons/gunbag/script_component.hpp | 18 +++ addons/gunbag/stringtable.xml | 29 ++++ addons/gunbag/ui/gunbag_ca.paa | Bin 0 -> 29325 bytes addons/gunbag/ui/gunbag_icon_ca.paa | Bin 0 -> 24339 bytes addons/gunbag/ui/gunbag_tan_ca.paa | Bin 0 -> 29719 bytes 32 files changed, 683 insertions(+) create mode 100644 addons/gunbag/$PBOPREFIX$ create mode 100644 addons/gunbag/CfgEventHandlers.hpp create mode 100644 addons/gunbag/CfgVehicles.hpp create mode 100644 addons/gunbag/CfgWeapons.hpp create mode 100644 addons/gunbag/Source/gunbag_ca.png create mode 100644 addons/gunbag/Source/gunbag_co.png create mode 100644 addons/gunbag/Source/gunbag_nohq.png create mode 100644 addons/gunbag/Source/gunbag_tan_ca.png create mode 100644 addons/gunbag/Source/gunbag_tan_co.png create mode 100644 addons/gunbag/XEH_PREP.hpp create mode 100644 addons/gunbag/XEH_preInit.sqf create mode 100644 addons/gunbag/XEH_preStart.sqf create mode 100644 addons/gunbag/config.cpp create mode 100644 addons/gunbag/data/gunbag.p3d create mode 100644 addons/gunbag/data/gunbag.rvmat create mode 100644 addons/gunbag/data/gunbag_co.paa create mode 100644 addons/gunbag/data/gunbag_nohq.paa create mode 100644 addons/gunbag/data/gunbag_smdi.paa create mode 100644 addons/gunbag/data/gunbag_tan_co.paa create mode 100644 addons/gunbag/data/model.cfg create mode 100644 addons/gunbag/functions/fnc_canInteract.sqf create mode 100644 addons/gunbag/functions/fnc_isGunbag.sqf create mode 100644 addons/gunbag/functions/fnc_offGunbag.sqf create mode 100644 addons/gunbag/functions/fnc_status.sqf create mode 100644 addons/gunbag/functions/fnc_switchBackpack.sqf create mode 100644 addons/gunbag/functions/fnc_toGunbag.sqf create mode 100644 addons/gunbag/functions/script_component.hpp create mode 100644 addons/gunbag/script_component.hpp create mode 100644 addons/gunbag/stringtable.xml create mode 100644 addons/gunbag/ui/gunbag_ca.paa create mode 100644 addons/gunbag/ui/gunbag_icon_ca.paa create mode 100644 addons/gunbag/ui/gunbag_tan_ca.paa diff --git a/addons/gunbag/$PBOPREFIX$ b/addons/gunbag/$PBOPREFIX$ new file mode 100644 index 0000000000..36c8e332ef --- /dev/null +++ b/addons/gunbag/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\gunbag \ No newline at end of file diff --git a/addons/gunbag/CfgEventHandlers.hpp b/addons/gunbag/CfgEventHandlers.hpp new file mode 100644 index 0000000000..78f28a655e --- /dev/null +++ b/addons/gunbag/CfgEventHandlers.hpp @@ -0,0 +1,12 @@ + +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; +}; diff --git a/addons/gunbag/CfgVehicles.hpp b/addons/gunbag/CfgVehicles.hpp new file mode 100644 index 0000000000..d59a114340 --- /dev/null +++ b/addons/gunbag/CfgVehicles.hpp @@ -0,0 +1,108 @@ + +class CBA_Extended_EventHandlers; + +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Equipment { + class GVAR(actions) { + displayName = CSTRING(displayname); + condition = QUOTE([_player] call FUNC(isGunbag)); + showDisabled = 0; + priority = 0.1; + icon = PATHTOF(ui\gunbag_icon_ca.paa); + class GVAR(WeapontoGunbag) { + displayName = CSTRING(toGunbag); + condition = QUOTE([ARR_2(_player,_player)] call FUNC(canInteract) == 0); + statement = QUOTE([ARR_2(_player,_player)] call FUNC(toGunbag)); + showDisabled = 0; + priority = 1; + icon = PATHTOF(ui\gunbag_icon_ca.paa); + }; + class GVAR(WeaponoffGunbag) { + displayName = CSTRING(offGunbag); + condition = QUOTE([ARR_2(_player,_player)] call FUNC(canInteract) == 1); + statement = QUOTE([ARR_2(_player,_player)] call FUNC(offGunbag)); + showDisabled = 0; + priority = 1; + icon = PATHTOF(ui\gunbag_icon_ca.paa); + }; + class GVAR(StatusGunbag) { + displayName = CSTRING(Status); + condition = QUOTE([_player] call FUNC(isGunbag)); + statement = QUOTE([_player] call FUNC(status)); + showDisabled = 0; + priority = 2; + icon = PATHTOF(ui\gunbag_icon_ca.paa); + }; + }; + }; + }; + + class ACE_Actions { + class ACE_MainActions { + class GVAR(WeapontoGunbag) { + displayName = CSTRING(toGunbag); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canInteract) == 0); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(toGunbag)); + showDisabled = 0; + priority = 1; + icon = PATHTOF(ui\gunbag_icon_ca.paa); + }; + class GVAR(WeaponoffGunbag) { + displayName = CSTRING(offGunbag); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canInteract) == 1); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(offGunbag)); + showDisabled = 0; + priority = 1; + icon = PATHTOF(ui\gunbag_icon_ca.paa); + }; + class GVAR(StatusGunbag) { + displayName = CSTRING(Status); + condition = QUOTE([_target] call FUNC(isGunbag)); + statement = QUOTE([_target] call FUNC(status)); + showDisabled = 0; + priority = 2; + icon = PATHTOF(ui\gunbag_icon_ca.paa); + }; + }; + }; + }; + + class Bag_Base; + class CLASSNAME: Bag_Base { + _generalMacro = QUOTE(CLASSNAME); + author = "Ir0n1E"; + scope = 2; + displayName = CSTRING(Displayname); + model = PATHTOF(data\gunbag.p3d); + picture = PATHTOF(ui\gunbag_ca.paa); + icon = PATHTOF(ui\gunbag_icon_ca.paa); + hiddenSelections[] = {QUOTE(Camo),QUOTE(insignia)}; + hiddenSelectionsTextures[] = {PATHTOF(data\gunbag_co.paa)}; + maximumLoad = 80; + transportMaxMagazines = 2; + transportMaxWeapons = 1; + transportMaxBackpacks = 0; + GVAR(gunbagswitch) = QUOTE(DOUBLES(CLASSNAME,Full)); + + mass = 11; + }; + class DOUBLES(CLASSNAME,Tan): CLASSNAME { + displayName = CSTRING(Displayname_Tan); + picture = PATHTOF(ui\gunbag_tan_ca.paa); + hiddenSelectionsTextures[] = {PATHTOF(data\gunbag_tan_co.paa)}; + GVAR(gunbagswitch) = QUOTE(TRIPLES(CLASSNAME,Tan,Full)); + }; + class DOUBLES(CLASSNAME,Full): CLASSNAME { + scope = 1; + mass = 311; + GVAR(gunbagswitch) = QUOTE(CLASSNAME); + }; + class TRIPLES(CLASSNAME,Tan,Full): DOUBLES(CLASSNAME,Tan) { + scope = 1; + mass = 311; + GVAR(gunbagswitch) = QUOTE(DOUBLES(CLASSNAME,Tan)); + }; +}; diff --git a/addons/gunbag/CfgWeapons.hpp b/addons/gunbag/CfgWeapons.hpp new file mode 100644 index 0000000000..894d6a4bee --- /dev/null +++ b/addons/gunbag/CfgWeapons.hpp @@ -0,0 +1,41 @@ +class CfgWeapons { + class Rifle_Long_Base_F; + + /* Long Rifles */ + + class GM6_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; + + class LRR_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; + + class DMR_06_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; + + class DMR_05_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; + + class DMR_04_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; + + class DMR_03_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; + + class DMR_02_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; + + class DMR_01_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; + + class EBR_base_F: Rifle_Long_Base_F { + GVAR(allowGunbag) = 1; + }; +}; diff --git a/addons/gunbag/Source/gunbag_ca.png b/addons/gunbag/Source/gunbag_ca.png new file mode 100644 index 0000000000000000000000000000000000000000..f2c5bb37e126b0c65f2728e2fa2ac96640145f5c GIT binary patch literal 21383 zcmXuL1yq#Z*ET!_GeZs~B{Cq5(y7Ey($XS=wD3b3q+^Cgx+IlB8UaZO1qP6m4hcz- zP(V^T<{SRc_bwJ|;9jhApR@Nq*RE^xTKBOkISCU9001CYS5wvp0Dy!afdCjW;ls?M z)Q<2$Y^|xP48Y%f<+YZi5}v@_)J!}908*NpZy+H1Ed${p^p(1{3UrwWNWsh;2K3e> zJYsP$eELes)!F%l%PYdK0DzLm3#(TzY>_?=ul_@-s%z`o3cP><07!tkvVx)SkL^~! z`t@lemZp*BlarubqgE!4HyoO^FPv;_$bex$(ZtAhc8HqdtyiM;;Co1x74s1DKjy%3 z6NwP9%=d5xm{O`#2jTC+7(;9$OQy{{ zf3!wiq&*l#SRdU?Fu+Mewv38?=AY`g`siy?+PrK(6z2YWGy& zno=;JEO3WDaCnw-@#tf!LpDHYc~?3l@0m{S-$o<}f|i}+2-)Gpng-GR^t1zVA*0L? z8Eq9U<$myBet&8%O7+(77YdXB7FLJAZ->|t)|RaWh7|xOiUt8y)F7caKA7m~<}Q`p zMAljuvzPLT0hLL(_+~>%D()e>10CCs14*$LMEKL>jH@n9og@6YF?|!B`*bcW1Y9UQT!QkTGyQ!EvTO(aYK0boaIc>jWfLVq|WSp*oNH-SbWr7xfk*~kyk z$q2B`Co=`*{Yc5nbual#{N;i1k-=|Z-mkmi0XxCF(`Hg=0Y$hL(ESlC`EL=u<0j{) zygc1fp7BDp4@m2zl9P1c)2}F_3fn&3yTXP<>a^;#%E0m?lB95Xd@BAjKbXXr-Wsp7 z*9fh`*BRq+DO{x@D{+69MlMlrj{~8F8D?ZVa8Nef?$k4DhO^K}d1$HIVJ~%JwYuT;U%z;jAGi zEf-a7@!-2cY{~(%R}`jqbsf1`Npz#7W|q1auZa*)HR|%C?hPVkWG%d1D#3R-B%s>7 zqFqBg$yaF1_9~QgW4D(-_)uH$Pstb<)%zw1z!GdQS4xLsJZ7PG1mOfQi>_*nk>XL94xF+Ho26Fs&}{jgs(Ab5~=`{1j= z#hFt=!Q8{q%WDGwO$b0JRFwEWO=dCtYv9~V^kh}CJqcN8UpTX?->~Gd!5@N|xOcL) zt6#BZ}yI$m!cJzLaEEThLVCx>2{zN@|IZiI|f_EuCcqSHH|*N zhpOK9lB(11DZS5CKtwZ8%D-wnHfZ)AEddxyAD?(9ibQq(=5X%(Tyk6p(F2OoQM5-a zcp^y{da2a8lAhfGu-m{v={w~sgR@c9;_{&jS3w(ao=JInst_qr2wiW&yX~lPQA|QF zDfT?e;#lX&09fajBXM5V7<4jwp$w-Ev<5+mgcR7?I9A=2WxP-2%fFKZKsRc>1W@Q! zUb-Jd7o1IyCft@Dqb!2nEVD84?y9&jeasJiG8!Us34I}?gLRj3+^qpe6aQj#CL^bOq?JvD2WAF0<^AX7h!lhs2 z);9X~l^rdBf2TX_STULI*V|XP1)cxB7hdAhbmYh9JzMELJ$}iLK>zK25TO{Semd5WxQflbd_5V)Afl?M&J7ylj?I zaiDAS(d?C_Kk?|k?{Z@B?wTpzCxMZ71bDG`sPb6KYQNSghHiXXek(3?wvb+|0We9e zZr(MK$y+0$_)2DR(2)FE$56|)Lt_cKXmCchq{4Zv5~69mXiaXj*_R#RV`*z}IHW26czz-8P(tUkJ=M{duZ_Vu@&v1ON3e%dTLlD^u>Mc@^y%f_k5H8t zDge&=8JVF)S6yUw0%RS9tJ&xnj?mct3uSG_q;5sVh-Yt&kIS2 z?w0(|-hnG2LI-`X_)U~@r9q3@miVW-)m;Gx1~Js~rcXpEdfzQd(efll7%KiqfK05IY3T;M;lykGn60ZT{p+*z}W4s@l& zxc1>Q*L1IK_=(|?#Z}r{79Ovk(6j4;=F>aMnJ;qyDM`j)c$*~$yjLeTC0Ilj{M+~T z-e_2f&Ki?>?7HM81!`<($@lXBN8TX*xiC)^-X%EjP&!CO_dOy>5^yzgF5})hkFLgQ z5iX1|1MYmzb-{l%Ie?v>QIJ-NQt-5#%y($Q@mwbcLG1RHpk30Cuoo1;Kg;ej8)iG@ zr4#G&4lAZ`VKBT!+(#2Pa7gk?2mf0#p<;RqnF~tF7EN?rWq0ElZdGk)>=0mhMtlJx ztLwOc6rYzrD+ph&mxDt76NU|u%Lg3Mpl-o9;8R;h@^2TxznjK=dri$_#VY&P&%G=K zzv*)B2`Q0LxorwQ+4?c<8@*08$aQ4R78GqRQz^ ztOC}SL)M5{#e@8{jZSr_L>{)^dM(C%{!B|j8!-t}%8tpw%*F6FG$gX@mP`;(nLqB! zPT(~C#0uaC^nm z`zP*B8&VV$#|mAR)857IG|8vr!Wu%u`>H&~6L1A^P(${nELNigch zSZQ&`1M=Rf{_(6z^{>pjv=ru%kPxcL+7Poj{xVU3o|=*d36bQ=`&r#d+a8q)xYW{* z9uGfEAMiFz4^!A9$MHnSgvRad1IoONo7J|CuIV$WpkW2PK5mxb0JrGnkeK;K6Q8f? z5ulJTO$@M@24(gwlD0~S8(l)%dZNMZ-E_i?csjq{I?h*irEOxF0ADzg>#_e*t53pJnm^!olcJR0!Dqo=2uqt53<4C*rN)lnw}w24 zg%7MTDYttxw@-Pa$WZK=wUoSuUA53^N1}BWGz~=-R~-#~Ry7XI#3mFOB0R__TwMvx z9w^;~38iQ?U4VE0L=hy~`=;}`Pn&EA=Ext|ed|AQ#S{ZiqQxc~x9VeTVfa<6p-=xyZd+{BG3hSs#a*2%C0{yWu_hyNZw}ThI<#?020qLO{YF9(AXMp8Iib*NSBX1EZ;_ z=)Gg(_}5qr?`gJBKu*S$h-o=Gz>xyP#`z065{WsR(oGMZ^t*PUC8id*0`s&dQ~ej| zD`x%asf|RU?_LNv?pOGnD}EqY&6w((cA2je?e{$=c=hrus>VD~7Z`~U`dHFauK6xA z>>H40OZp@IZxax-8vz%tO+;)>*T{yxq&J(#m^xSMb1|6im9ct}q<|hT1^91STn?ZE z3b9WJCY!+s4cMUc7K~$iobR2JLQBun{~-6Sb7r=DFvYpFIiJKLwTFBLO~gB~hWF`A3KK zKjhEManFM}6*XMQOF?w0Ag~q@k0-HPvU%QzTaLmJ%j?|oj23uY%WvlYGlPh|J*AV| zl3W&3yWEn{2x!P>2IY7gx1pmx%Eg)RA7*v}0(ZC96iXjqv{{i4DeV7LUy6Tx=vCKt z8qoH4`v2A-+Us=<+>515hi*Rs^fBXA=rR?l4v>|(i|c>w=P*5FcJzRKgklV$mOU?? zyiEA|J3Hi=V1Nxt+&rg@*VX;j!j^BNy%=Mv#j6BK^weF-1)I7nR726myWlTzp!V%f zNyUKRk5?X)O6}G)wZcfSQoSo!;1R&-W&7e!!IOEq5Dz%=bC%It`4e6FLPApVk@k97 zTo4aw1Sv*`J81EESZ39I1w<_efarrjM%5xc4xND#U?Oi(UG$Ic(1_CX^Y;u1ouLYL z+&I0>7tRah15uDg{v|E-=UVQ3?>0_O8MMa@L^Qg6p;LoD7ox1=DZjg^19tD9a@o? zR6<(xRySJfY3a)8>jDP5F>WY}EZ~)ycgy)3{GYzX#Viv`dVsde6jiAB33bvqN!{5p zv;Pjhq=Bf^`U9#+I(nW)Xv#9~*pa=t50LWG;hH=I(EN)sxk;)Q?s3e_OB03hH0 zcUkUA%GLBoO^=QsbcV>R?|5V!Z%Bc4vlc@y{P1in7i9M0w@rIFq-3{Mba;J^YZaOZpq_AGVa|9&^0pN{-jxna=4@dPKYT^7K05mo@|uFXD#$- zVV4&!HJD467@tYP2l<7pQsBJWY9j2~1={ep4E0a9S4x6^`UIE#|9IfDbhNmk^NXo# z>Q7=aTPjj0q@Z%^nS`z@2NkfTnF0dp^SZPOKo#9VQu0Zw*;4D)0HShUuh)lk{e#K? zIMprJT_{EgQe5j{*=_#oVE#S~%%hdptCK2(L8`TTXiy)-MaKh*M%CiDfYp9Q0$>Fi4T zTty?b=x`YL4VUZp@Pqk?&H`m-iU+d z>3GmdQ;CW0k%*y8Tc&9>5xP(|LN;?_9buua6df~iY(nYfZ;J4PNDY zR{&Oe3|kM2<$g9c(1BYLUNjTCwj^k1=LN;NYu#Vc_2mys)pWdE8&$4Y%Vbmbo%aq83F z*O}jRY(G{7eq0xyhFxo~uzt-Y5@Y&x?4T0c>Kol!c@tQ@_^L!Xe|FCci+f9C8;Nzw zy#CK*`F#sn8j+GXX;9KWkXBb4sn0Rgb;mH>G8cf14OiO-%p^fw3xEZ1j{iFi&t6vl zpT^@%8kkvW^M}8`D)Z*a3^PR#mutqqNDEi9Aboat>p#Ip=PwJ}vt==6)`kH<4~^;? zBJrcSrJFr;3%0I|tSC_~&`a-L)LDF+?=a@$4^DFoC|Tn%#Kz9Q0 z%7YEn1pox;j{GA3& z-y&*T1w}}Q1W3IFWf+X!WR{xXUPP0++7es1Y<5VVLYgTp>*cMH+88y(6u8-VxZ&+^ zYqHEC;>p?EDa)04FkdKp?uEfuw!SCUve4g*go_9i9$66@=x)Td={Eq!(tb)n)Z7x6 z(hF=lEmEpwu>ng+6Kwldpqt|DZOY2&+WqmlHr#A@qlJVH*?~pEhgYZO^369w0^e!D zyHpr!>eLk>JowyoWFzjf;*DOqnlHR*+0|JgL8X&F{mfc@N7dkx4*B|2qYBiKdUo0T zPtP6tfl5RFNkkS{?#ff{4EHZ}i<4j;?eszY)4^;0tth+QHI|mn&imR@^jEJ!M#jtN z1Kxw7+qY*Q#ZevlbtT{RbaGZ5Yy_>F0#&_<5vG4}UL5Jg*6Sy|?XYC3Flm^3H4c6e z;~_ya)-#ULBZ@WFN$Pr!n)_N*YeGA1sC@lBr6Wb;~zjRvmc4cm}#zg7Jtl2cBL0% z4qm0Ylk7^gCKAdQg*t@k0sHH%@m|*Veb5CE0LfCGM#_oj7Qs|&Eo++G_?HKo&p_)Y zEoiN&9Rs5RAZ>br1k;r{6HMzbcR-ZysBS7{sdz9K$*OR{B(lR$l#~boR(MN`x;iGb zQ{2yla$J|RFb{#Lq8FplUVu@{PNYf7fN{{F6DFRJRuY9+B{nzls#OcJ^s-&X=oT_qvHh-0v*IG;LYh zm*@tnOQfKJ#1^^XT|JRRlwFUgOCD~sWSW3ZoGS^q;DO|OR}orY@6Vw(TdwbcKIpzr zInJ?8iia6cAcpz`m55*+u`#+9zBcgltF}@IPeEG?{c=n`!i}Wc3fl$dHdvbELXUCR2eMlaK`I(O_jrsbY zfRy-ibfv@B9%TCkG|PYRJ^JBIk)w9`vKg94oy>npT|9Pqp@m;!30a7~OVRLMHTY+0 z`*gT`S4Eo!(Uc(;FT2&d~Cm06yy!oSW6ARFDK*zUzsuGp4V>#nzVi*RHHoXk+3FnL#Av+9qyNOjP zWG+X8K3?W%%bEolcNqu6Y0dbP%Hj@UW})*_u@VM>`8^!r_rnmCi)fW~ZlBZc;OESw z9{3dceE=qnI(Q>-=W-?3zZLSkN%^hc=|4-dCCuQm4aIWcpZ9I0se-I#G)SXk^8j_p zala+RBol4D)iG@dReNu24px;2wbyf(Dutic*>!h$0JrCWuf&?)z$n#p?&qK35-rzK zWSOoiWXS`{dA88*Egi`gP?HdzDS|Z-LVnjbY~FKU5xc4K21UVMD@}&b&UE!Mt-e74 zQh~P*!QxhTFqqjuV(Unrq*tLIX2ZiO?CAR`-9Rm6E{bad60*E_rS552?8GoK!p7!Kq-Vxs#De8K3uJf0#HeCy&)b+A;8#+yZG|g^8qiYC%(sAvFTWui9%Kexd1EX3 z?sGYKC;p;-1Lq|W?cveg+I-oEmmHL^74PRNf1>2Ng4x&>se#t$r#28wtMMN zq2esvs${~%_l`%7zHSkmO3@0~XFgbaeVTD@#QfU35i4B>?*1N9&dK21bRw}9PuLGiVOnH3j`{mig9DrWu7J#%vlEj6}A5L8ti<KmLVKk5P-$(Anuen7|b8X&o!*LvxEy7xzM{PTOYmnM&vE2sy3@c~QzwOGrW z8VBZZQtzn)a#%gmlbn0s^l`zp{|bWCMDlgh z+1Vt4R>R8d_M}PToUZ5r$8+E@0c;(B%N;0Mr!H=Nm;1?v-&}GpBzHgA8B~w|FwSF$ z_)|b=>8x8*{XZ^1W|;@R$orBHn|G#KF)PWso=NUW=ALj?z4r3!9ibFJ%aQyE%{BqJ zl1>wG=jTn&c7~k3JdW+KPXIw`-z-(ojZP8IydwK_KUBL&j^?Bqn{45t$Gq|4hbsjr zWg&7>goyo7oF|#pz!NlY+AD>WP^sm`FH2sls^|lp%Ta2}1483YM<{SP!RJ6KfsG%p zmZH^IquFQ3(KZl2rS(_*FZu|Ha*pP%I}wp~0DsW z3RVE7@sCF&G3NY1P0`7UeEw)OBO5}|GF%NNdXda?y6gT&FexXM7XrNq@cpJLdxHMU zJxkCxo7?WfZs*Hp*I#lHnyzSk(02Mf6q&eEpS->3bi9VvD?+tMMvqoniyFG9 zGQW;yBQ9Vm@B)620~(QMR-0AsH#A;0{;z4{&ai!Z;kA3F-s9%ie42@)Ft;>2WQT+F z-_2{T3&ET~Sl$j#;Qlyea!&Ar-lYdu+gBi@xJeXymQIL&R7V6V8sk9ywhf=lY~&Rc z{n_Z0=JxZ>HF)IQ;<=r)pU1|<)Rs8P`T}5kgf<=7&~%&)P6uto2U`X-Yx2JL!sDba zQ(8~E47~tjO=Mr%qn(ldpLdHQ3aQ+0QFQ_+;s^o#cvI{ILf za*_Q0fP9PDPDtO&pqE8WImS68YdQnex_TQgb5Aaddryg{xnn z>hYvW^Pw`YGiXV)%cx^pnlqJ!9>);K5D8UVC9^jjw`eG9%kD&vJH(TxE%4L9V%oBz z&61JI1ru<@djnfhTw=ZB5EOEGQFMWIfM(MN&;Ltxn#S0K`%(BeSJw(sXUgs&dep1G zd^st*5+kG`zHz?G|Df2i%6l10qc2DM|Eu@UPFuQ9IFl5aDJ&#;+^|a?EGk7@I`d4J zd^=;>+~ru`>XR8D)$qbKk%JH8A>o<&r3|OVzxRrQ4S4&4*7Fl9H&}EX zux?gjz3%>qHf>i!by|7K;l{|aF?y>KZ!bS~W3j~BZ>5gn=GRKHvGj)t)>oA#mtTu; zIq7YR$;D$+a1c1VJvX1Gc|i)mR(D8p8=0czBsK^AzJdF9Cq*kWT~1<^E;1xgM8PO# z(1)t$h}t!HVs~L&r~alFjj6L|^*DO|lF84^+?zIexMf8tey#E9i#st$%r~ZY>MxcH zx5tKIh;|AF^Kt@E-{vreaD{p{a^>YDKX51lHeq`~tQD@8@`h1a4fM8ca10SmjKU;h zn=6TYril}YC+07 zv%zQlcEPXhN^C7BKdQLk#J(-^zRiY+JSdz$V_f`^9Zz@g6PsFb;D54Z1k zkjftqgFpSVNU_#{yWesqX*ZFqsDb&!1L^Mn1xPXS*n>=Xcv9(L?fzzmUzV=VuVs%R zk6b}=A$!A(tvhU}cDB&GnI8{A5$q`>*085l=|V9=cQ{W>1==%Mc38=Qm0J zDdu4cB`9p|v?d^2J&3zp->QOKB&OmOox2|eUd>F#6s2=H;qMuf%DC-bTyz{0-0atm zR2RSV3_HbyQmU854xusDw^a)tv6S+{wAc&xfDpHF%A~CDk8AdcqM%eg|8DbLUQRV? zA(|(#pNL4l+gU}&pw#q8Q)E(X3vJCnDc>xR2t}Bb$Ezt^FQIU8>gI+IVy%WFrzho7 zy*z%rvzYx13oqu!GDodUE&=G8GVpM&95VM}pd9$X#v3Mx5 z=i7ajKoFZySUXGx)#7UTEmtU&sT%XV8SS6vrf~B9aX@Wb~TN= z*2uy!fwm)vV)AX(yC-inVPbNj5aes5HmKN=QPZR6y;y6=P0)IYR|+YyeC;%JJU!z z-9ABS8yMK|zEa;~c{fg^z(~slQGLr@5lYm70FIM&J48c^WAXygEI3+)CWI%fTY}C3(Np(oMl5S5??2S6}Xzk9cSaQBTs5HGvs>{pJ0-9Pp}s^alIX)<|`0$?IddwbeckDQ?= zIP`?OszG)&o}{3+6AxXvsUWs=JGgckUr>W9Q7*`W~-cl z#NKI1eoiZZffgJDG%x^a{#t5nL5OWKolkaaZjzli0^R0csOp_&tUB;bncfO-xy zZe{WZw=n5;SaCRf6RqZPIK&rRs>{N(DzzIcv&u?YSlq8lZxW);D`vPgJ#-a42peu# zdtq7=M*YRV z<}Fg-@?qQF;StNm5=0NQ;eto~vx;VN6dKBBzkcQ@d{s}k^irbp&51=} z-()LfkV;B3VQo7<9tQCMB?YzHqjxgiURPS+DJ4T_-KV$#H zsjRnjQ5m3qdo6?XDNNd{rdLiXkB(@tsR(B&1?eI9KV`qVJ#m7<5z_&hfcc7lJ7IMR5zJcWmb3UT3IO($%zwkWW-Fsn_fzzmTlU8Fn@KfQt z+A`<~z?M~>*ns?4X3^z&{gLV8~hM0wd5vjP^c8*mJDyA~QxaK<7DSD(|}pNntJ{P*osTgYf_r|ID< zJgTF3%@G1 z-cYf*tIrSIU8LA84lXwizg1TO1F{b41TTDCTdyNa;%@c9b^}Io+KRD$1Ps$2(9+m< zQQb>uY&~XVBYXT?9kF_3Q7M4p6LD@H41BzK~lxvpC-}&_ECkzx7+TInN^0>3;g2i^~7B$pk5Ss!wkP zMLc5>P;VFF!aAIAPdZrM?f!dfX||;xj=aAf|DO^^7r!@2&amQWK9{mG^Hwj(FRs=0 zuv!~k^dM8@PBkbls4;WP0ht<|38&p$8<|zgv%DapRiN#--9cMv(g%F@G$uUlQOiN2 zYkJ(?Civj4$Z;yw^kU(d?+43u#fGYZ**<%kbvhc~vEPH7&6nK#)hmqD;x%+q8CTcL zFS2}2JG2wqac@aOLC!*D85UiwB=dFca>fftvwJ5$ZnD_qK2VP#Bm))p$MmkvA zmJ36dPm>0ANp6@a#;~Q@zL#;~JLM@?wuXP8+TM>U>|wGcj>?wK zbT1wA)m&d3KFc|hjYvF=?g(io&#*8OE)wUcNlkOo6yCaUE)An6AOB2IddDvlbL1h6 zhvI*i54WyM1}_hVBo@1#mB^otU3FpGuS&16%Xjx!WzRY95Qn!v6*wLjpI&^%^di~W zQ1!MJEWE%K@Y&hN?S%D&a`M2&prims6fh(hKjbU=)yGDsT%x5TQ~nlt2f|1&Pk{T$ zfE(981I8ViCn@j*#86X-gq#!;dZBtM_z>9N${eqPwSQ^ zZ7}22!H+a#Xz1Zd*q;MtK~`O_5sYmh#tdtrMK7R$)M0vwMWjZz9?U*z`A1PY6Z`2l z5R~x_($w;li^?4)6|@BQ?O3{+lK211dbvY>RY)My?X$TZ8swhsZ0-0S_`B|QWN|DT z;SLI>g~#m4zmiQzWtEkXu=i?!m$S!Xqo1E&CW>DE_sc6X07SgS=yr@)9UseRSuEG~ ztk#V&U?ZR1sJ&K*HuvYrP**m;r%xByZ5-4qi0{K)*e#Zj*(0v+QH8>OHO?8<5;*W$jMOSz zCF#shQcvda>(^!WGa(`S7S97D@B|qQG^C#1vAjL~wCc&z%Je=6gq!5o@8Q?MO$5Zg z)INP<++voC&$8J6>Yn-VuY{<}AX!=_U!^f!s#eY^{?r>WOFAc6RrNED$MeszFRp< zr$2D`?@RTqGq}A!>@=0rni>wE2n^dJ?)g%O3kN%}wNlj=T|Y1zB=g-GMr#4srWou(mrfJ6AMU;dU+m`mS*}y7pmpPLv&( z3V^__neys6cd3=mZn&~U#sGm@AT!BR(0}vM%CspdV=-A;GxarK_RU>&0=`9cj=f85 z2%wDAP)vapJ~|4^zYjZmPCnS6McWrHtC5GX7}SD(n_4t$2J*#sO9_mV4j%@IIRrOc z5qK5%CJ>UhNo_3@wI5g9WI0Nf7kzs6KONjJKkc_XGj6M#eoe(5Qc!l0qBcfc9TGws z0Z=)ZyXC`lw!40Auc)(s={!YJIh(0r(kXoE7Lu3UK4|yficN0 z4%2ToB{gRN2)1;a=GP-|nZN9uTI%8uTI!5xPBM;9kMH;rNhVF2hHS_ddmOy=s) zSJkNm(kWUZA;Y1qNe~Xb6a3-x;4EDunR>ohnzPzO=19>DTHMqHpzjEO@Z`PMWng$I zLvKxH3^l*?Ki`_NN8>jmCRV!h!Rj3yg1l7G-D+}+pL7h;DSh6sc0YPvwF7cGlBL&l zv%i&9pP6wh|5-8FS$CssD0w3lH?j7PT$)x`QrJT}N8B~xv}R1(wY9tWjf_t-CwjN8 z4WqSG68LEXJW?#oFr*o{iX%TRl%M|Za$H;*b4d2{*NlHfgzC;!Bwu>m5{N(Nxj*_p z*?XS-{WNm$ES^*9!gm<|{4!$LAdDKBb~%0DpwBeayZbqfkc9&qPjg=B5XC(j)OSi- zYf?lvKj4n8M>V0Fv)WPSi2h&Mn-g`oN&33vc)N#i_xoP7fAR$}|LjFCHJp^TEpNu6 zFaZFuom}Y+)ipqS&~@IFr)35xV^vF0QI8>gn=CB_y>PQ10pLni3x;cATUDe(C%~%A z7nl@q$jFNOOvXDiB%?bhBT9}+wzRV_+UJ%eg@c5`%zQ@8uK`2%Y#u4$oi~H=Ob*ng zo9^tNM@RNIQLOWF9Wj7@2i$qAz$}0JL;&HH9P#I_ETm7LjP`}wKitiSt;&S;Op$&R zy3IbPm>h7+FlDrOD{+HwO|=e6nK{mcJJ_5vpVXQU7b#@d+k< z0YoZ57|Ws;kO|b3AG)bIK9bq8JKr4~+q#_IVfttC(?xCX_UY>V|LA$&_6fUgH0imChv!N) z?W;e05Kj}C z-wdwlkkda9&if%k_2oA<<`ZLDs5pO?ka7+)8P$xmH;W7I@6}bnha0BT4mgR?Uu%M- z{OHb;SkkB4*ss^uAHN&}*va%1HP)GAio!Vzr@d4b%3Vb|b*T&0leth_3L0?s@HC7V zeB8gQ>6TjUh=THqPf0v!!tX~Y6+~tS1Vj7j5h;+0bj_B{lcg)c3*H;!%6t_EbI8sE z6sJYVII-uwC@eAB7B2IL>GY}Nwy1c4(@SpT39L9` zSO2dM&rc?e!sUp3L%VIbI**TU+vszAqO+hQN{abtkxVvI$}*@{xJm36=Ay_(`GRPL zd`NzTXUcjW?Jn(Rx6j2MVp8K}>tY%$Cq6T`p!Ak#uyH*)nMw%-GrfWlT(Z=wD*_`T z{LG2;p{X77E$G912Mt&V$(1CeCyiD(=@2kb z#&H2P_<3w!%qDEpS|1$7g-Ife*7Xk7^ks$qB9Zd2En&6ZB~&#?*6SD*ZFQ01eGR#! zG=B!0#c7n3HKc`JOF~qHi{ROTa2`EIy5b5-#Z>`Zo7~$*;AyN;F_r-$ zNU1zYq*mdS=?uLs?O)GoNr+!4SmNvEswUjy8#L8SXwy;>=YtGJe2zJ1t%oy9AOyN! zi?roK`50^VVN4-hn79!}1ED}td}Oo?LVJfM^W2S`S2oO`AVP*Jhxd`ek_vZ0gz+MG zI150Kh=Yyukv?&qqQT;4&ms$r7ksLP-BdF^UPv}8jpG%2O$B(27HkzzXsdwS0&2C1 zXA&va|6_#kl|4-|C05MjIs{egRKb8VOMgFF-Z&6B0K#um8zD@*C{_F{(V!JGdpN=n zHu;aLo(#09a@_q~pLy=}3yN*iAg%g+@vaH~;s*+tOeVKtKnX`CIn|u%#>@|pqU{9F z|JZeVeS(46)KU~u?ytTi&(+$!D{L7yr3=wu?meCGn z7g!!p(OBj00)2%o$ z=asDkhGT8K(+|+BC{#yzM5Y+1fn=_=_G@Qgw~>e~7VYbKVx}GAAWN5@%nKrr=n3BL zeMfy+FKed8FM;XJ!59Wn3*6LB@qWqLK`bbLR^%RO@ao$8XDq)TQHGXx85amYnx zQ#s7R1%Arnb9Z#z6*T0ejC#xNv}5_w0L0CD3~-~9dvGP+K?9b*o~Sw>`^D|zR!8nG z{CHshJJziH7ZD$X>QPEKZza$@3{lg~rv7-9>OwfxUtfek2V2W{7gk$^Dn6%bW?`T< zRE>tEpdV*_5I{0L2N>Zmyl=*zY6uZ6oO@Tx(u#)}*eh_n${AX;Cla4a1w$~XKjHdA zBr!%I3Fx0%`cx~_Z5csCGJGezTc}GlnfDC)={xSbe*}TDxDL}(BnwACwI;sd5{Rg1 z#Qxj_A;Q1<#%wxXIw|TSktW9GwCaO2x^+axWK&>-<`+h)6oA_fx#56IH$)Lo>rrhH z`0dehZrcX6Qp{#j4f*SM5QEKLS;%KuMjH)7H8lbQd*Sv?J4)$iBw-r#t}uPGGXnVw zl1={oJclkE(?|6Io|<@Caf>^;c?1<>fcrhc(AJP*SMhlSk2J zx6n?z=vJm6%JzDa*Nno0=L$E37OTC`k(RSH<&H_;@4gpL-V-`}l4~63vPwaOVg)EK zE#kq|Nu4*gb%a^`^M4}GgewjOt?@2DkgKM_z}rKSGGyUaJ()uwMZ&ZJjrYm4E`0HB zz0>=-u$z&n6a@sEk-IJJbq*(XbgiZ=&nlY+Xk z7`|PL*RJCd!Ie-41&3%LE$r9J&g*Lu-9tWFqR@x*&dw+QN7Djsip-I$E%Udp3f@D> zpvFlsjNwU|5gX*Pp*c}6D+ye0k?{7>v^WwnB1D|`AW6!(M>(iNG^CGe+YvJuUKr!K zagvl06l_#?J4Z}`s%GH`Kqx^<$#`gBHBS+ssbAxPz%-$cpWxJn&jUrB=?#g`U%s_Q zmV;vVp%`{;c>sWV;^zMX#QwJ5xqk7-?UQhRB?p*|xQp$_Hz9~R?Z(JoC2BLyK7a7D zcWN~c2w+umQ@fAq3T#^oeOG*xkrq=}BBi>N5Esi+(x7Tmf7z4{)G!%jT}@x&+WCWR z{s9*EhlKap1_A7e%%yxV?#}G*wcz35^Dp{#6d(3}G&wQ2p%_qW0ERsS=zfdQiH?}z zMU8S?|8r`%cJkKQ`Dtv1w&ZL7;If@;5j1&qT`PCHVkdD-AMMeRys!YSFiy>i4DFD4 z+WeC^zkyRtDtP6G0PF|h_W!Ixx3z3*KlHe$asmnq^G?BbV>*u8A+#3(q_?+q9Zi~ z<;&teH-QZp6TTcs^v$N%61c(0dU%ODe7AJ`eO#xOa3#Ll0!VPL3yNm45&vHc*Wt(p z_qCGN0BHDC8!L>d3q>PS zQtp(CxxA9g=%wTQ!GFlbl2jG5R@wlQz$jf8ZJn9n&L@h;+{tRF&T~31z%osqR#*pX z73ujdb>Qqde+UuUFxbe0nB6ymj;y>JXdwJglO8&kjz zI-To!a>re1NaDE~<}p2SPi8|0ck%g4u1Dzl!?O zq~g>>4UNocZ9h3RI{CklO&#-guqL9SD~#K{zwYqeaGLNhx{BRAZg0wc9)?$DXaIa% z`K-(BEH>)9Re4j>IRq@S#<}nS!Rc6g>94zO)i6xEf;&`AZESDhf^li`60q8*xR(>{ zN+SZuIu(|L${>w3Zb!t(3%xT|NB9gphv)kTZJm2G1vWwp&^pG@CEFV@^N- z;rdUDs1Y}y5PjeWw5VYRGZtByp(&hPSq;)>AEdyGnn;E?x){kHj#f^5mo2G;6*ip1 z!pa8-JHO}IMbJ8FrqZ}VHga9gT^t;-^-&t>JHGe+G zx)v}7@EC{pdElq0H3UI$Wg=rc77GpG$*M^Zj^49YN**IvQmUtUV@CTtiJ}|u(@%Wt ze(HVvx~TSSnPl7E;bYxsir%rWcBF$sk@*1FA|KFpkv_KE>S~4E?ex#Vp0dvY3pY@+ zs$JQMsOLgh(F1;Q+gQE(R-f(oeq%O={_Ot;p(e?IFFzVTAoV_}<*}Gu)&rSMmy1kv zj_U-yVQRwwxz*t`kCGrsU?P_lNyfK46Vc5dxt;10-8HXOyJav!W;Za!PFa~fE4L!e zmCbH-*dB9V)IWFAQHL2{{xC>!t2W7j#O5 z=3#Dh!i5Kt&yNQj^$cS{lipc?Io4n%BF`e92Q$lV@z_DD*8Jj*}0m+Vy-IbO7@9 z-0t>?EFm=@xe|bFvIqvC$Bp^Z8uku96bEB)ACC0^ox}Im@W%VT__r2RCiaQ9W`(kN z{VE;R$2Eul6Wu0iFzoNwH62e(4YzCjW1MU1?e?`#BP)S&<%euLH;ppAYE#6yf;9Ue z=$7~#W5TSPAo7LdSZbaqmQGM9>Nj83_$a}re#;|o%&6kRhSdN9MGxbAJ15uu7{B^4 z+8P{BC4_F3%@cw#w;}cPeK$zJ4BC(Wc*RM;V(lzv>W-;VU*r3 zLgpX1oVTWG5>JF2T>nMqUxtt5gi#MVSl&9^gw?a`o~(qa){H=?^dv0!YsSS7%X ziT0#d5_r31G~T{hWRthN^%lhI{8y2kR4AP|Z(=cBJec23yLmb`2=vU?x4iIwrhJC@ z?GUr7sr!37{Au<6MBP4#)XbH-E{~ye?-gvR#;Ul`<8$JhS|IRUVek$!v?4lx=p{3HKFP`1nP z$DH^=ywL@*6kFERe{BA9D7smJ%q>QJ73w5^4CZ=l$Q){dJ2(}9?Pt6P=8I=;8^e&P z^(u-xl&J|Hw^T8WUu4uHCcC(V=FpB}f;)c7J$j|O>2GhH%ms2JG6LU-pktcjHo@ho zG~X8+vq7MMx!>{-&ft&=yOi|vf~Jr$2QUopiWijLi&M&+RR!5)N81sQQCk6q1M1ql zECA>g%ZDOo3>V>16iuWtbU{72zQf6g%i;?WJA?z}(62P{z=v^)Cf7DKrAUN(t49vN z`pCOfm`38VdP?fO)_URmU*H5Asb?;zz)ERt44fJUt5x;ANM*=pKF_1f0HWekd$eDS zGy86E^j?C&GV}_N0rNTEPtAIkX2q%My$ate4`hHAZ)-k#$U+pfqBR>Op3dr|SmiSK-q7rEed!29Y#$>o*HqihQ67~Tcub2eL2 zLj(0_!MmB~)p?)VrzH(n1}%V}^|#D>6r8V?)pvI+X{4z za{n#7py>)Rqa40hpr`gJRcFd^@N%2Wq;=^Eo1-Pp*;7-`Z)f`fF8UP~5+C$WsFcHF z*$lUPWddz^ytrVBEDIxtRATzSW#j)B@b_gykpa4L4?_1ELB<5pmKHMf<4>0tc~H>` z1r1*d5~E&mmYLEBp_fHaNk*aQh>0-%0uLb@tbxt*{VZnWrv1`O?Uf&sOQSaaG!$Fr-JZ;YzE^9xRowy`r(sW}V%8ady&1;apz*Z<5F9>x* z(!u4$-T1ojkhL||Cgxb;HR{9PZ6VPhxcN(PyaH$!N#!?|&w^py5n5(JI9r^*2(49m z8cNh6@+VBa9E}YN-%k~kS=^P%-+(@`Npkt9){y!3-5YOdE^lcuZ1yjOSesR*n#V~2 zlpMP{&fhPd9IJhN$;52Yhlo?8JQpxH( zJ%zt%#>qA>^=86P+Ce?;SyadlV(3;`KN%)I^K+(KN4#7uJ9Oa@g2#B&#Rz{*E)Agk zH?T(b-G+_r?BjWSQk17K?A_WgR~m`+1C!WGPVVlVS#%L>lOnl_FDYzNJ7(#hnTLgAS|H2q?MeyB`%p#A=7?&-n) z1In%^{>_6K8<(^(?mp!d;V+52)*P5pJHfRSl{?3NMZzC3Jdl%rc{c6Y?5tCRBps zKnMS5jGzKRp9EL_F+I#})GVTA*uF2sUd`ctl6}ebL)EkpPB2&n6CSRPA)mIbi-%!-_ddBJgP$=3mj*v zIeUGh^x?a`{qQwDmLOs?9ObjB`$>4v`TvJWBOjjNZLDlS16I>%G1&M;kV}bLAR}tM zB(lMbHX`S${&0U4NazC`P1ic3iv`iwjHXNT%S~Du+iEJ|WBPOkOQIoCxwrCs)~sT4lk+z z8|0Tj;;!cxgL~KlMiHho+lBLHSIlXdB34U)c#Th<)i{XQyG3Iwo^7ecbgu3c?YIYs zheHbPw{c1Hwav9jW!=8Ku(C1JLm; zls}tMJCE~b>c4zBT9LUCxM|sRmg6|pq&86#Qcw0j>@<)O$G)1HnNi;&$v2gXsl6=a zy%IX9rg6o6GyI^<@$|H?F~jJJ$bw?WAA#eZr#|1#zLn-W44M}DjHX4;JCB(Ktx^5a z5dT>CXl=EK-TuaxH;$o)Yfb%y&msWamUL}3gY6uf_eS=s>5c4%F?E?TjfeF~eXQox zy@`)3kDmE6Ar>U>MBkx%*xM;PF@sd(ns2`sGK!C!Z&f_OZ>XQ-Iynb0s!zA!R8aO~ z`0oE7HZ5{}0BLt`+_zw+PXT|1kA+Zlg<4 HIKuw{&8kDN literal 0 HcmV?d00001 diff --git a/addons/gunbag/Source/gunbag_co.png b/addons/gunbag/Source/gunbag_co.png new file mode 100644 index 0000000000000000000000000000000000000000..7bcb99e293cc70cd685585dabda059c772dec8fc GIT binary patch literal 4319740 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

4mExb5*eIZ2rw6a>!Rii%@!V zVRxd%wp)D7J)-FYn@)kMmj2Mut34)qIcDPp_Cj;*8E6z9d6gh%-LV)!cMXAex$sEz zmdsR#E3@-V0f@WR*k#No-VQAsWbOW^PHr|^DTJ4Z)8NowkZG2peV~(TCK_(J3JB6>7D2G zyAXaxDp%;HPr;j;I=S8J@{5-v+&K$#zZBnPFtfv+9}dVmA0ka(CaNNW&+7!u27Q7=wzjux{&1BF zOPA(N8DUu|8mxbxC(26QQi;v>r%i^mPB)4XfVtgC>3Iwg`~OWkv@5Y((^lf$WD+5Q z&$O!YzW&R4q}-7QUjkOkdrP`9 z9UhRmX!86NY4Tmf_xA34F$BI4>A?05jYk4hB-wH3uVA-6k3m@6fNFKgv=R`c4D9xj5(Bh&*}1(BswCb1(KinhFrb zSW$-d&X4QJQ(+Jj*8-IylEq&@hN7fW=M6|X@MzH2YxwJw=7$zkgCSs zp4}>CLd0-@S9E)=Zto7#HyW0517!;+7H~;k`_coCO}YUeD%YB`>dhECK+x9Ya%+bA zMPj(aNDv_1{&-Px-cZIz)|iyAb)Y-DcxSjNkoEU-xv#mcJ6p)9le*#<6Bnk5y`zh| z;!AQ-hT+_ZZGXxdpdSdaAF<<~4x9VE;F+&o&{UxvSC|SWFLg`uGmfl`OCA}It#k-K z8V)at18TQ?4g5{&pO+C#%DkY$%e{aHYEf^K&UN!9Lqg|4yyriYFMC`;zfpp((}O=K zP9|V?K1VXcUR#nC&1^9Qvqu`R~gS62PX!AV>`U@LX*pw?wnf)4>P z1S%KaMMlm@hp3y&CHMW0CFGYSQyVcY(#$aD8F^UZ@&;+Qg!h7BeaDA_x;3*_d9jy( z4EPiJGW8B}`t_}JKkmv~PU0=$`7YM{j@J%8XE9*`OfUPWtEKzU`37~V!_wM$x*?vo z2z^?|bQnn5bc@l%_P-CJxGbei)CwEO*flNF9<~}p5U>W@a@eLUyJKo>m5I+gJVNj3 zbS`*ze;L#OOg8ZjQ-aS8cly|S+nyfr%zOSb5k6cK7i0@-d_l84=ztArTWPXH-Z>g|-G;0lf7%*S(De z|Kr$sA?|p1IO;#+O?R}9s~oFnncVs3^gQpM09DG_*8e~dCZU*nOw>?bc19Zb!iB0cki5hGpgJdZ_g<0ChktXyEn(xa zOLE*iKoj%e-vyNTKvBLb4|Ei?edPKt8q^7&3f+Lcy7Wg!Kj5~Hgd?cES%utQyjY)& z2RXf)c&s*6b6DzKhOgakoHAvH36&_TX(p0P(gT8rpJze-CBq6hrd;Cg>uk<3h8L2pv`A(BRBt*FeA)2umIis2c#Kj6L3qQ(u-&m zHHzofyAyNH?9+O z1L3<6n(CUy=KV&);{UvuYq$JG7Ck4~?wXRpw;J&zgHgcDWlDc24v>fWTSP<5#X6?9{?}sL|)<49tH=gNnZOaEIg9NW>?} z&1S8k!I<|?{EU+x2m4<#122A0lWjgtfb*XJTEYU}21;;(LGQ%bf4aI~m4H+V4pfu6 zIH|P|I%Sp49fLJr@A}qu5GV4N#g4UHwt}iK)11od5X(_ldt!cl)VMj4LipBT?%?s3 zwS1nPQHuR8h2;X}Zp=*7d$`%=x|Oai&}xjmzStp8fUNc~+cX8#+_Kk0yk-a=u6^N< zZ!=*m1@+RU8(E%i zX*0D`7jAnRJ}d!^M;X6dAw3pa_Nf6bzSTGV$U*lz^>|^`9Pd%RP&r^T5e9S1VyM^& z#=}Fr7AF&?La~evK6WeL-++XfPGJo6n5oJNn>B`L$nSpNx89R6 zsMGNHb6m|A`xb`BI-w?A{lWSWPs+Mi@M$tY77iiLTtq-2eZlTU zhgfVS+4ShE#@_CP+K%&XES3saF)ErHsSn|vk!%X_dJ@WwdCP_p;P~K8TmNJ2ikc(0u|T~t&GaBN9Dlx zZY6PF1X#l94*h725adub4Zgfi!J2uEwS&#GTrmwe*D7OkgA2KnK395|{!BCY^gq8G zacRA52mg}@ITSNMmUq$3%4vWZcMsyj(LuC@$=B>9>HRN-TQBc+Aa`sEqhjD@DYev z8TAeK1acHygN0ry7EYZ zUB7W;L_+w}ELBUO<~7E2wj>gd=?zP@zw(TV4|!ONca%7VaCpK){{!^eIzB}!I~rt=q9ziyRzMU7 zbxB=bF)15f5FfotN{S0bwH_vK>{uX^?`9WXTZw7_H+`&~R{MPMPPFgTM9QhAtJu*8 z@wgz7g4c=R@XWD>g8`{#A0EfD{Oir>8{^k^mwD{i1Mj`W))52*Lxj+xlCy?U$O^Zu zT|4!J#+49KUvYiy1Ee$vQIXQTw3ZG9Ag(UqEN#_~!Msl)JcdVAp z83d)&5O~ufM@sU;?6q~`8&rMPI%pJq+Ny2N4mR<}m7lNn6CLC;KMobzEf!QRr0SYb z(39+qVYp)JeF*6PyD!ZnOnXHF8l;t@?J8t_RN-BoT{8$og{9=QmPq$M^#GSHvOVkHjZX!M3f9d4g5X{g#b3=^c84F8{+4mZ6YJ)xkEw`hVE^%AmFy zsLc@E-6`&_MT!+KP@qt>xH|-QLUD%zMT@(8ad)S!w9q^~ zA8jzmJxbO1fYg(|FBM}xre3ZzAq>Nr7cSix@mz3oq|86H<|fkpS;i^a^Y`8NgY}}7 z!dW@rWHhigsvEn8u1tIX&?t}bB@Gz*R-mMkWRSIev1%<;u$?7`6k(Hw(!w+(68jrM z9cC6qD*P*Thy+in@LXvhiP6C1&?WEt^z#2uEegt5Hot|aEGB*p#JUTVz>|z>)d83h za9hWi2g%b_moTD-M2;KSwg@N&zD&4^51W$f;Q8+C`eJ{#EOv++!)3vM% z-)Hz|76-x^@gW4e-_O6kEM0q$?{8^5Ng@DB?xuNSWhAdFua7XvCm{CW;684vqI#4g zcRn6v-a(r%W3}%wqMR3D(>JO>ze*o>wQ7;@ZDz(B%p=GyxOPK;zI1Hg$C!PP^>a$E zkA_ALS@6PGir+~^MOaoSA1>gEN!G8Bi2koUEUUorCkN{ks*_%Lu{(-*uWi+wq6;0ABP4j+%2?2r>1K@J+-(;;-ihZ3s#g!J-{4Y9Zh$zc3H0{NCl= zXzJ_QCg^a?9Rv5TEu*@Lw`Em8w${^qfgK&7{C{}9N;RY|3Rx)rT7^-$P-=^5hk=&^ z{bCg{KTtQVH`iv<7=|>MXos{zNL5K*VUk5-|E&&GKd0@S63SC->@$IAx)kEt~L;jRdpqNJ z?or47lk=Qo1dBznNW}N5CaqMrD9D>nw&L<861E6QM!%yQyC4ykjtH8YokNz1KrlqK z+*0rmp=Ie~3Vr71qNkL6OA20P+Rxu+9BdG>oeOWQB}PO_(q|s@SRTa7))ikZ%|DxD z;hPOg*+_pIdC_nmnExP1HmG8LQJus4`**#rLAEsyE@2CFSXd=i`$;DfO+goAYr?c| zT9R!cooSUTCMikDc+jSWpP;mlp*~WPjxPNv-wx4&KWJ9DddB{h3sh>J5iO;M0++8v zEZYeR?@Lf5RjWs}=uxvDEc@{%s4eI7ELx%~%%Ve<(L~0hC>O${f?R&}$$UI2i}$v7 zewwt5c|#NFvx>$5Tp;s^jy6Vp)GC#6ia7q40lCiFM0{N7eINMS@%@3GrO71*SIIUk zTu?-19%dp!)Caf`#!c%y13MkkzNT_Ie2cJSFTZ- zI2Z8Kohz>96mtufUO7=_&@k4248sTnnf{2Or!NtgJKa}&!1i;x3cEHiP9DF4Zj;IV9gvyk5vE*BwURE+N1H;KWRS*8IDdc)JPG>c|$lt#;;v?JJH zV({ZTl>xeR^g-|Ua8V5(2QYI7;1M3aDcrdExS$zN$ruK`2 zc*}4w%U5gR2i8etcLD-``i*cl&8sVM{9iu;Pw=k0lPygW-3D^Q;*StVhw(aY@KOAzB`Z$-K8>ii^U6`p z-oAwUOfMai?U6XQoB|gvN!16;8iHyM4#%x5R0JboFDhs88`*<^mQ&*xsX3ALEzbxZ zv(D;F9JTlD1+a%xw!fU)7I z9ok$4%pEUX(gt6wtLnCr^tv56IAL(oRL)IwRzdy#;cZQ&cHz%2U^4yZBEU8J#U)BFxDECyXx>=xYJmS(uW=;plUES#l7my(kqV$ykUg+}~%`N~C zZ_Wc*Y81@PxsL2u;gl>I#oiIP!*kGujC^X&5?oCS;5gS$-$~AP3g^gQ8T5DnE3cTn zJn4hNf2l6msd|67^dzqDtpL1*_NkIJMq1MI8~}V;#(+rm44z6HRCYI&{>Kr=(U|w% zeS8(G>KL`^*0#tJNKv*XiLT7~9~f05FCBB2Ne1iYBhBUqW2rB#WY6|9)HU6RPW{=z zHWEX-e`({!hO9B9sfiOl#%{PrKl&rvVf+~a_BPQWm=RjZ&h2x{BL0B0X8yrc z;hI0|WlN8&?cZ=s(sKsep<7+=S3NfoS>&$whqQ zDjj^Pduf_O84Qk(!3F#2(fK)qH_3LLqTH~ez5l)?VCGm zTYm%0kJpin0#J(xZXVk&2AN?pRO`ahx+hEwQ%Jn`Y6>(mBO@B~@c6C~ZzlfuLDYBL z6EbVbSeC( zc!fJO%QzrxpszaMj+mZBs`#C}^f__KVX!iGq>#)^SSfBPa+^sTIfJS(AawA=?*ATJ z{+nVR&uJ+c{EVMj-Cb z@&}97V<@PHy5q_3QHlT^I*5=6W=D%AMJT<#ku!G4vsq(KI;= zav4EEaN@{CbuZ?bBDaM|@-gbwgxdGzx>#z802jDqb?mq?=7)eGS}72*a*;4h9H<3A zPlA@a#E0ha1qd$Y9eEEt1=I$Qg9JWit)8f7G2OG8w}fFdJ&zF{|8kqcZi9mSzyygw zlg)A{xGa{99Kx(#RI`l)8Z(|(tC^U%c%}-#*rHfrI?a`v*M#J749q`MlI<=L;($x} zb(`DN7NN`3kw|dsB^e-feXaAC|wL z6QaNtGgZ7xa(eTkUX?zb?Nqnc1Qa&sEi<4Ug2e>hhC2n&F1 z`HfCb-&re%aGCKp@}QVef75U<$qKuHerf|fk)qN3(r?o07e+sCa<43%Ms=Q2KJK1H zJfvN6N-lMS+o8jUZ(JOV?IDT9VX@qh?9~b8zQZ%2wtL=Vvb*B}P$1xh#T@MFmi`|u zK>8APxV);?-NTY2)eYtd!?pw7x)ey~k2E2E?wg7z-No!^JiqUV*D&>eg0 zx(1b~9y%%%nI$xZdXw}ZjdF#$m3k4?d%3i-zXFWD12f}?ryw>Rqe>lHl4 z-^;X*(5S0O<1CtE!V+BduNLhAI;(#HD3cUQ`BiKzS za3u%I-n-hvFB`lcQXeB_MHLP^2}Ed@<7Nx*V#bA&{u0YQXB9qeblv`CJ@!G2VR9lGu_EOYCPg-x zoZQc>^iXzhx&NmV`ri)&gEEfMT{1$1!DsLYcijfy7bVR8Gf)px$_og_I&ef)dQvi? z`Mj;K_s4;^Cwvz)f3;j*p5PK9fVC&2Tw}r?EI>M?c^1H)pK|Yx0%A~sThuEg7{87f zeC#;fhi{XMZ>wGr2@Kt)a{*^dboT+!Bq-rx%UT4UE|e8cjf&RfOt(fIEuO08{BZJ~ zu5)XT1lOIPa>=_=P@r5 zK#M}UqL=M$t*f}Nz?^s=sOijHWuM(dZoHn%W0QH?9O-d7n}HSeK8C(QQv{C*3D~0@ zNfEAOE+T{Q9<~Q6BJfz^cv8^aUSsoFKc4}5Efb8Oqs7F&Kngl_`WaR7(EdD_4k&nh zMcOX70>E*X;YScb9a-}BKV2|^;Jxid0a?R=5Fkj0$0Ejz{Twd*k&^J|Z$Gj`K4;g4 zz8Pc;Gh?N|?US3Bg<`2e8F<9)**yVuw-md9TZrR5{P>;0iDMwa4@3>-F#m zh*BazN{6K2&n1N`m}B%%pG|DVaCiWunGNd7LVsjvVDOGp2DBWmV802JAkeXp8IF{s zz1A}P9Aj`#O{8+J<+kQZcxhy4lCY7uSrqEbcg+Xf+mZ zjW99Aljh}v>H2>hii?6h5_8Od^!g>6)Q!K~vak&(xWQRPM8tMCgzt8l&#J||L>qMIR=*js4 z^cDK6bX3dfIy|*;pKlj!$x2dKi0*YMMAHcJ@5ZwQGFELdZzI3f{pl5|jXMdgz)1dN z-p!cqjMnj<`pk$efe!9f<=C``_h7_^R$IpqIVu?WsP&?Vr@sCDR66WX<{QfZTPcf6 zNTA7&yc-_f=taDAE>ca0v|0uk&Ob2iQ+*Dq`v0LiVe5C_QTgM|MH+A_LxoFEvp8)7 zLD=&N7nfOT^RMdQ1iONjVhMi*h{R8rs_e==&QZ?Vb?VYWxhU6N1cV~dRBG#X&_FwY z2@>lH{@PUBvG@cDvuDDUx|u#QW0|JRW(s8rkc@csutInPVF~fT2ygTE~gC!6! zDqm97`IfYCqj$n{pO4{o1M(H_PvWafl)Dj?#R+;S!jG(~=jsK*~;F?t@M#gLh(p26m-8GbAS`9x%g7X;dDQtHgW++vrPgnKdCDyQ6Df=OzanQ>mp`9S2rx0RG3Sl>_3!+Z<)0 zaE}FAuRW0nf-Q3jCw?3(cckPE@|4d3%$J}j`F+fL*@!FT^dV0{fi^r=VL%K z7}Ir$;AR(EeOWt{tE-D4-O~VD%ZYej~!r;ID@Q{UashG$D zepV7Cvmt&1S|fX0FiQ zJH`QpKJD0VF|IIj7?+Sgwa>|EB3W{hEA>k@@1jJt z?gfL{_PzPg>2&wewp+r#xyOw@L|qat&qASoQML-E*&q~LTGiHL-WivSzIj(m@<0!^ zo(UJW;)y!!R_FjQhme1p_|6ByCEHi6V0`B_=*l`-`tw`Aip;qM>fx-(W8p z{zj+j=$U?5ZwC=z-QHr{6~wqQ(~c-V_nhNQd{@gDR>`K7#H%5_pvZW< zGze#VBPT1#f#Ep9U~1q3lgA!FuE7RPB@VVV6=!WIc0N-sinzS-A8(Q@(`SEv41n^4 zQQ`AonTtJpWbUtfob*xW3lu@ys?YC6ALu&&vET{4!+$@0&8KOE4Vel42Hy6B-Z{p2NJlISIwR=wBtgWi09l?aNDUb3b@j! zp_OQ07x4#Wl;AE}1I=1T2}6C z3OOW`sdkt1rzfDE~80bvMf+0M^?; zt!l0U{u}`4pYeYx2b`c!J9nHiXZPW((7V;2zq88beD9|}T|2JkZxOlvK|uc|^hql0EmWxz`r zQ@~GdU{IX+RxS#-fMxZWL-h_J6aQ`GNFtaU%8h^Y?sNsK1He~)dko320)4?|!6}de z5_LG^AATK1A;by8rD3EcH4p_xXB|WsM%-|=f|APR!?_7E6bBy|(%Hv;*wTR5ulpnTIZO4kgy%*cg#Vq`TR3VHLd=Ej^Y%+6I{&IM%LZZ>Yqj1J7YPI{ zxtcyb=zob7)eoT{d{Gx?8veRCsm0~`LL9P|)5toD^?7{9fM&ll(3 zkHHEf4jz|VeB3X2P1RL!fQ1}Wm`+|#f-p@qDUE+H=IlrV62^`3XMBBOy~g-rF3X(0 z5M*N%M@l275T+E7jCts9&P3qo%kE8f#)AuIbJEjy!m7uc|bYFP*-f}K4no6u+(qE6;8}(ITj5Q z?^(e3mOaFqeR6And*b#(e#@61Q}_Dzhx`GCiz2{*!7CMx9bZX${JH>uJmcQ%`+$>% zafvGUIyl~1ubzV{9HdRk_$G$kOS#40HE&tBnens@SJPqCA{QG9&JqAjE*S%?-GEFv z?9dSxp(}oIK4)S4Tpd9o*c^0rJe{{yLdOnAqi<)1<}ReXPKZJzMm*1jXcIY$OC}_O zXUDm)ZlxJ3H9GtjK)3_!?S^3DuNeNSx0WREoF$2aHDr&EaeKA`Vc7~q4oa*SC!)Ye z#`Qe$PU4f@{=r{dvoKep=Rq@yJ^ra_GvRRt>U4yN)c>~b4>~{D81O4e&nPML(nD-!TAt+I)Vr^J9&h$uZae{pj;}^Cmc0R{u}_ED`%IYHkBOXUup{| zJU2>2e4Rgb;r{h1UVIS9LNBA02VbGe zXoj{X>D=eEbb{w?suBT32G~gOoX&-Y61qWNxDtd)!ZP)cB-n{(!6g$!LYGJ+G)2Qe z0|D(xLd|h3UfHXA<>B6-{=NE}vF%^j@huCNj{LiQqgS&gn}_WzitRhxKMa5pX1W^h^?zo#A)R9 zw3{=jvRR)ljr`)W@NOR8kxBcJmu>Oa4;YXbJET# zC#Dgs6z=nOGh_tQk+e)731@VN%u-)uFGUaRai~I=hkiYq3=5JdE$y0b?54rljcWD? z$70B4I?|LouW95jBTe#9@9yV%Jtqa=*Q>CHM6wqXTf`kAP&!=&$FyoF>5J>9{{KZt zLObza7bmnG<+Ico;^)+1@9C+0J}Jq24GDtE5Z&T>3rPcVg8J zVq57K89P;#hplT+sFTy{ril9WaC#}M*VPIX7-N2JxNx&`dUw{CH641lt#_ybN}P^q zDz>-%9sE<4;u7|5Dli8h&NSvP(&OxEr}k9tvFOcDVjZRB-i?2VJaWuM|J|lZ;8~l& z-QDfE)g0=|04QV*`d8iuY_zQGP6221^O?MAj-bWIY83mMNA$1prFQC@+0*b8@LrGp z+7#GWw{L{1OXZ6$ExIPEs2O$x9E+t6j{v*N^n{zfhd<>cf9Ty;d@9JtgQA5=f*8^2dq zqI{JM@${sz`dkI^^?kpOabbcYMBy{v6iP*>GMpzQy0u}*yeO5(`{+V8(`+97->MM9 zMCSGp-E_jj@1^wkzwbvsq(?}m-cFj*6K%mIgKBs+zAD&qs(`MjRonwwW zS&11o6>a%g{;AkhNg}OpN`7k|VO9f>+M>V9FGmI0x!;%W3)o62J?YPW7|{zJA1t5} z4Mf8EFhUY_$p95|S(gp3zIC?04HUupJCqL*y;g{vTEo75^AMMX9ztKJOYa-F1)&hU z4&3sMIsxlCWT!Ka;o(nyQhnFNx+q%5C41XT{m8H|Tv-gvHGbMaBRI1!Xy|S|4toVg)1BLT} z(BK?9jQ!KHF#C`xHMY(v0gLfEo32{GU&hpmaV6(0mZ_a1M=OhV2Zkw53fO)_644@zRnugYX%&1UHJ z*I#S^b@V(R-GwU-=bNtzwzlkfO(W+N=A!z`lAqbXEN^bhqKylY(1e6uYVHmB)>||X zhA@+P#3V`CLL_yMx3T>o7nFNUpSn4%vAy(ef&cqhj_6M~T5bi8&ct&X{8%$V{&p}u zW34&mt?olc0kOUXD9#p|56MqqUAYb$PF?Kr>HH7r6@U1+i9DT`3)o2y=u<^~kpFNf zY*cgg?mCqff@`k{vf}@C##$(06UypZqH{K$`hn388fX>6dR#hSsbe+Prm*W9|pD;(D1g`asmZCvI zV8k0uH73=lpJFkTz-(X$GwIpcrZ|q zdDsvdI<>RNxsRFB(V*p$ZFwv9Jxg97CwMGSSB5|jpygS_aGHZ~i6f;XhV&6g3+;bQ zeOC}l5tmU=uTmXNQ#Rgr*+Yb?m`_|BD-9lSbDFCot{st&|UjxLOo8*) zF$MU~kja7wB^6ob$6y>N%U0^E~L6@f_Lhc+OuWl}S?4WRzz83^;ovZ4L{_kFdxsn1fQzkaUIaxT|E^8ivo zXi%Y!mgx{1^?rV`dC140H$0*kqEl7DtJS=Q6h)W%GZSDj1~6N72Wt60G^iSH%-^&@ zP0R?BV5Sm0_UH`w#%VD3`jxJp|(q%_->yLI* zJ_dOPtx`g5tFw1AXgcRDg~I^*D0-p1FYyBcRf*5bZaEHQF_X;Q3>UmHJ=x4jJ2Y7w z))Z3IC@Nt_eehzbK^${tyY?$fMs7{-bCWDa`r(H!kt>4DnZ=Si6#`WZQntEPtkBSJ zYnZ}01If;vcC(FGn@j*N!egx`9(RgNuSDlV#|l3M-?v&@w#p@eA6w)ZcKJe^1~tYp zau~Q3i+Q@jfV-pU-<(wKmR8-J=V{U2XkzUHSm19I(5XKVj+IH)ZWn%>iMCeNU%(`= z`FiCl>fJWz+3h-@{u*%o!-?u_imAG8rE>Q6jYIKW|EIV3qzDA%6UG(U7e)9VA`-p1 z7{RusEM{UuPd$1$yp4m50rkT_<6K9_%}6Jv`Ru%MTW}&W$Ri038Qy}*YssV)?597f zVg+4{mfV3qjg{1Y8Y3NC%;G&k)HwK9{0Sw9a1MjAKCOef5>?0S9hO*7cYepBBA>!^ zrrc&S>y$0=e%d+$cY7ErLb6@#H@4~{%E?jUe0ySNowxpr33~cG>3!U@(hZ7+Wuwik zu+gvjP@`HzFCuC;EJrfaajE%v3LVbv7FVPZgkp45n(6()P#I%oh#T|2kBGyZOPv1O zS(aZx1$Fi&hW1mJ`8l%FA!Wea7f(;AK1%0h14<2kPqtYZld7pHB%&{RjK;|HC4Jb zMa7O>+LO+d{&Ug^TsjzdWd~--x6m7zU3>fOSHPwK#IrtIKU#s_r8Z)xbOR8tP}#X zE8R!)j4Ug7^2Q;X<}2nzM2uy&ss#9|JRTV`rN6Y>{_JKGBEdLE&Sk8P*pVNr8 zYy}YbMKdLM5dl;p^Y;Fy(^M&|hGYPA$`Qti;$lFfT;1fZx#RY51R5xIA0Y*?|)nd^ak@n|RdxaZuJAOKvT1*h;~n*bsV ztl{_ahJ7>&9NqwJ*q$o7VM2F-ly42pp@m zh1NYs)RzB|F*C1k7@QrAlIfM<{hWD=WdOtV>sfG*Cc#$;4~j%YdVEHN&E3&`Ve7i< zMOSa7@@*5WK=X9sEVT{ZxQ=q!o2H`_GbFToT4*y3M{LUhc;di1Vas>jIjG?3|8N1; zD*+rFtU>`fgH(8Kb{)qi}d82LpMV{zEy62=# zRvC2|UYOR}Y{qCr)^b4$*n{*8e9wx+aBs3x`iy+dfXfguph4&5LSeH+m<+~x#7b$< zsbQmthffHqFbD=DC7fn7S3r*pz<|x}faAa&4nQ#{34_*Q5Bi%1%EvKGjsb3*68uR&wV?DP>s`(L@ejoJb7ZbmfFI zwF9vg`y_bD!p6@QG}3&Gr<-7dg+OJZ`%J0vUK91~CZuD0$Uxc@3FQcz z&f+s}t@3T=2#awElC47aAfCAgv!uELE1fSvD#(nW1G+AH*im8^g>fP^&3ll}UEpGA zOgc!E^J5#=&+;OSl@qCLz_|7s6@R$R*Xfj3B$T?CcXnQXt$ltZ^KEv#9FgSayzaV^ zRPbO?-rf%HDtsf@3M@cN`a(-QvM8>q<>+UCgZz!OK%{5_fr*9#^=>l8fyp(z=VbsP zlKzihjadD_3n37U_qAEbRgqy69k2UR#Kk`23$y? z%#Q~!*NRu<_#A`y7SzJzZHh$VLkPUn(vwJv`Vr^GKE*gJ+DDE^fu*3F!W0eLF!f?j zUPznfKMa4?-QOD<4;=a2%?L-_!|I9)Nsly77?JZQ>63Sv?!K4z^#fWX95X=rh2H!{ zeRcD66zvJ(PzR{C+{m2$f$%+A02XcuX#5Ix_VksDK&`I#x_k(!zV*7Y4o%|)s#vuL z=88X`n$8l^qks5bqGWd$`tm8)@;^NwSreFmU5ND9)=#-wvgFrA4R`#=AVOC_S4C0) zxjp>a+%%I>Z9<~Z>L-pZMCl{y(-GDrqvAZ(V;%Zz5TA?(l*bb3__?~_JtlIuAHzFc z@&=?rO12LKyw%kNy026|fM>Kc3hv|DIQ)#7ohEb~ND*wXB6lN>e{7Fir9^!~R>*RD zJ&dWo)u|B_qWmo^D9DD8b9Q)5N=i?*dipNLY~aBrHVyCQr$0$`Ie`f32&aR>7w`iB9Dp$kjk^EcklczGjFM)-@cT*js_x`VZ1DE zJ#gWeNiBIl{o;BS@VntNl5Ah?BMW}L=zf?^bPa1D%elXTon8HI*Qo;J(Asxvug`%> zuE*s=OcM7REv*5O#~WAr-{{%F78I#SyBowhTH`rd$nx5SkDF?6izZ0&WwB7(3=KIdVc380g7g+tU@ z+S>Y@UXyA}Dd0I_*wM!)r#>+SOzgHV>G!ES!LP7@9fQBOo>>)Q4J%q0GZU0-qmxdC z-GF0h&H3gdTgPoAVZaOVR)1>OlkJLZrzWZ7St9#$l9Vz+)S)uzjUvdBTTN)F&pCPG zmRa#yM)xAI|KEpe5sM`zxI2xZBYcbT@ZXeCZO!J%4WU14IhbT`2GZE0v_5&6)ejIw zd)8KopdQ#@5VoHolOAE5pyxpeTlxwKt~+&XTz%dJUATtX6fa=~{Vf?_G-BT%tO#ca zm;c-2SxTc-BT%H%?( zvXH07tUi?{`GPk}l6j@_A>U}>ezB;A;2EpGA5M!d^2R6=dQ+H&Ys&fOG8vzD7y)Gz zo{ami2lWX$X?aX%GVkzb1@xT}295V4gxe8RnZh0|we z3Z;OuxX@h+5m~yK3L>U=6TExR`b2=*7%x1nAk`uFJ6%@dC#D>oJms43^dS#rW0lSj zOB4dncT*(mEC%a$!a;>2=XAEFNp=&D3hNZs|Kbu~FgZ)xG&Fnv5S{w2QVXk}1gO=!qjMbU698e= zYWnBk!S+H0!0gI970ni3Gj1pY?vWq=ojo0BMjrS-WYy5niw3s#FEq=d-~!O(H61u6 z_LJAm6Po+KZU2F!5^`Y5{2IS(C;+hA49>n1*LbiK(IW>}7-+1z`8RxRB3rcW@M;Qn zr{DFyF$K)eWIfOS)6yMh60Y35i-mD{ma@5g_quSC{sgAkJ)A{bieDrdf;PK*-Rz>p z4aV0P8WdD>bi}uG83Ob)G@k#qz`)_I;0o>>ynFXKMHU4$p0Wmz6z#fD)@{xM|0tLQ zzjD^=-X*-a8AW{O_a)V&?lwST?eJ@2s~ed%(l=?ShP1|bJ@^G@%Fn}wY&yJJ3z*FS zwhiJ&2_(kr+&27QG2>vM(jMLU%1wo5H85ev=Tu5)9h;uv{#)JoJ;zbWV6_b6s-Bq# z2zJ2HXLl~s-bEDucfO-`#l0LCuH7V@D64j)rRIc0{UM>M{)eN(`LRaNlSac^_f#)- zqTbE#w~&E**pR1DAm-M~jo|r0&6CIr?Dar9ns4N!ZE#~p6$lS~+1`5Ex|8od@0KDD z^*A_tx+m3&vKBU?6T`tRd--J*J-i9zZ*9}a|eKYG5(gGf*P zcahL~r~>|Bo7fKtz8qnn{d}DY3}0yLyG+$ap)m>c4Ce|sL)3r34|t|}5dnyDxOoqt zQ?9#pm_+#V24(ksW_QrBJe!ae4;I|V%(Ky3iQwme_`s+5?ytb-7e-c32RVVnK%(I3OUl;g=jg3xk;X-@hbtC16Wg)JML9l@`1?<* zF1Et(^9QHw|*XE)Z7|Yqh8a9rE_5g zVEXP40W~twV@p%%3u@5jq{|?CudycH{?AYipBw};)JEiZ=?UJUyplT*Wy-|RJmUU1 z!v!^=REX)e+S|&Eh1L%rGlfUvRHNow^%C2^LeKR+N_Ok~QtBpa{XXv+(94{DZigDCg17(r_)QFg0USzY2wx%$>N<+=`C8&2M|E(ea4$KC#af87U5lG1nN_`8Ywa$L%vuD|cST z6)=X1N5&j2d(n7;KJUsHj@Z=4EMc@oVRj{GjL`b4D@eN{AdPVJkYrO;7OSFG>RC+% zYeGNOs_>;v?1Qv^M~kf0jzcHj(S(qkNUV0LD4t9}P+5w1C-UxIz7)V=>I}068j@!< zSajJw97+uk{}pS+BLsOM@OH{(Y*9#~|9@kP*Lh6ZA3NDm7d*k@;OB--`q zwQGFaA#O;gjINDyC8&C@v{$8b@;%1gzI$vAF(#@Fd+BAuKS7<1a+;>DiM}f zw1QJ-$lMgxka@F6>SljhX^aMykeDvB{WAaL1pj)e2yBm!!Cl%IS#WNSZsG>Hgg>ml zRlS50KK07G;QOzsY$;EHLEB=&uagDn`<(}?466$y8dFV0RE3xqB`u^A zHD)A8Bxc)LELL?cH!O*87fxnwxIaN@pZ)$6blwVE=ug3CEcTMbR$pQqX#)D}WIVm8 zJ#k8305m1tUpB7ny(#bg%@25ur{C}-V%~oLd(V*HD-_#Bo|g*X~3lSViH>@c~@%zU~35cKOzkeVka`PCt;Q+Ga)9 zCT&xVx||3cx!ye>%xIR<{BP}4IcNO^nTnPdg#b%D{}f(}V^9#7(^tv`iTvduH0};K z8jRlt%B9-NXWS`29?vvlZG_G*{Z}CT*%t?M9yYgMHx_00 z_1f#Zm!tSsoFzdHm;BbIR$GX$=UpsNle=y^opKF?0eM9uAuvX~ds=kzNBrp-sLx%t zFa{_>x{l9PUss&=zHB{^B^L{9TE{|SB6zlqp2lC{x1J7{0KQ|vFdI?3T!_%FXTUAn zUEu4#?yw31N6IRpYDVeIkgfZTn%&#iZ6g4_Ugx$6%eMe`T`U;&pT54l0yoiEfW^Is zGy4`x9OG_GI}r2raO*`pThySy2EzqubdLbSW?J_4IjD zbpZJl5F-I;8Es0~L<~t8Jav=2O2!OK0qVwPV-ttdg~=tNKk|-euEjjGvD%N(wA;~6 zyKV`%j2zE@oKn0hI#e5Wt-_JE=!W=_%UK#G6A7J@ zB{d|5z>SJn?w{_$M-zKUFjE*8>UXow2mWYO5m>Q*Jf(Uvnj#v(fquAO@i`I~ZUD3Gvz z%$)8EW!`3o>&{4-x-fK;xO?GkQKd&3W|d_w&D$L z{`)7l_tK7RO)r8C&y&Wer4sx(>=#*BBr?DaRMr9xecnBIY3ngs7UZ`ROl-fMzB&=bltAwvpz5R!8+2Q`;L(XCEEG#wMKZ?P{I_AUS z;It;CQ$o?j@u(uvPb`LhnB#q<7UWHT%MT~#cJOA3BuQ28soQs8k`)vyr|C}2{!-uA zcDwGnE92GTD|094KBKn_nA?b84gS8a=zcfnqpc{^an+KA%*+DmRQB@zt%&h&TtnOW zYsoNr*yelYNMKC9yd+dW$j;`X`%0GuIG%pB!Qj^0ar+A~P6(iojuelj**Un6GI5^K z12{_%A-5UD-qwiWVKz_{x)`OeazQwbjCG5l{K*&8)9(Bc4Hy_J9BYmww{c)xDg1<2 zN-@&J+5B`0c5(k3?bI6bDWaJV{n={O{{ge^Jw2ss>9Vi)OGWfyyF z@z6OLc`CjNz(6F*L`Q9?!*qLvG`k0_WFP|K_n@&n|wYTwlUq zY;BHG;O*jwJtge2(m)C>g>Ot}@H`&CeY%7|KZB<wz=~1F7}Gs z{_W?Zdiip|+hv-A63asjLy!5h!9_1Ea)S49ASF)#)@Hp~%k^y0Cp=0_3EeFQrh0x^F={FU4%=y`$uVKDd%wk>uQf-J((dnm^{B4vLe zLcr!>h78K$;Xisp{N?AOT$5@;&vi*19-#+u-n|V>vfcu&oXO6S!HS9gR*+34{a=y|0kc*CjGt0?{u6E@mfYxViZlu&v8<^WC8BBA8LH{@ z?j#h!*^Y)b{JW316$ivOA?*ScO9a=Uiv@o<3*cL>*~W}XnSYU-OOZyHGbg3|LSdLt zfzq9fi8EJsTZAPblGQB*+NxIsy+V3D(@8$iJx->=8oONVcRUo2 z>$2q~JfW|;u_Z-r9cN<>lQjFqeCb_?4iS|bYh#(Y1|cn-$p6Lvf)GY-f6*xb$@xXB zdwk^Yb3NishRYm%gT3QMy=O`MWiCOaCle96Lu_e1K|*b0%K&AM6&YlxoezW`5f9_f zZ5-3t`9C?wcZ3%FBJ_kK6uJ}4IT%XyIn%`;bF)ZaQ|h{}g=}OjqepkLzENqX?uA3{ z^pXO~BCVYp_lEYBjZ^>U$BpBz|AW~BRLVm*TM49W2dD9h*Dnwx4o1}T`!+S?(!UBV zE8~r0Y|u(mAgpArXgpf-9Y!~|OV_acST=KSllp*?&Xp8Z1b2(P=?sNy^Ts};$_D7b zbN0_vvcQMY6YvRKTeanMbhe?x9CSTPB56vq@2vihLh{5Z>#^AWw?ddBaY8jyGVIdV zz}TF=xKsGOPO6{0d4kLjifFqV59#r;=L;8S{J=&RL0vM2@79oZFGW>?5 z&lL(LcJMCjo24{((+5}XF~b5iV1wrcsvHosYHd7{u;`mFY--TFOJ701xXl>h!;Oj2 z<<-ld)pv~;!}$y@rgCBoyyx!G)zP!6M*ume?V^k)xsS)9a&(Bd&}>iUnpr>#AZPb24RR9YG>fiTgb= z;4+3U54FwIWXdZS>5LxWCz;r1_R<69F_ai&?+AuQ_m0M&V;FMkq~<)y#Ban!tv%%X zRZj;rHEs%5{HYNmXw(|JUT_$|mQxO78P}gQEU4PKs>nY-9Igry#6e*yOOHHQC1OXWVhxsV!z7EZ{Rw`v<#}WT`pu*bg|NP zp{`YZKJUP(L;5Y-!6U@NzEZQ93@L!=t1r|{LRzq~TYC{44?^NCVUJWOFvLH`m|5?x zS^EB*8ca-lfH9(CB3u$ze|^Ry7VOjmGvj(URbr}d6RYK_Kb$|F^>p-S zaMMQfGGwhx=$Jzh&xI7R#-MvB@sn>eqeMwGdR$DVD-qtM1Qpsa$-7Os${}h8!4WY6GIeVS8HBWW_ zHAQ5`nEcBH?VFoIuIXkiF};|P$F|Q+k^!w-9(wHuCe0Z`gY-<@Uqz}KM_lK_4igl@ zee5vUKXK_|qThOa38`(lGwl*@{awVa7s%cDpS=+@y1>=*!CVUOp8pu?KE#9V*VONs zQ%OBRLnzg!04hnUn>nQ}?_cu)3&?QI3)jD8ccs6=8V#^DFL`}*mIGsaZB=csN@K-w zy@#C_^C5QyP5Dv9U|=`|gZWg_;Dx!hzyG0(3u8YK#pzG%%Tm=MP!zN1hN}KRE&dx9 zli};*cV0B&D_SSh#LvWC$x>l^?}=u60wra`An#~TLMapOE>mi5XAcHZL z9Q#vzlm#xizMoz-`D?x!udhT`!;ixE>TVNs_iImlu)O^Ix=z=hotqs53vAhOwMOdC zBH}G_7{x}PiVPwqdjS_|DAUI01SXu7+(?UeR@?}ZK6EAzVGFoIyJ=A|vWlW}9Ao*hA)4c&%klTlU zed!we`kUz9?Sxb0o3{8-OKZg*3P`7<~P)NQQ}hf2_YeoKB7YuREgQ zZZl7Ja-*qa5SC1#@Ro{q1BOc#nee#Ik26PbVnc-{qB+F!{ep|?lD+8 zKnZKeH-%1ElgB@f&mw~*1V&#hXYz8!A>%~IiX;mcFhit^KWNOj9&8{AoZMf zjzbEE#`HbLoM2oyZK-yA3ExgjBuR&YH00`E`Lll+T)j$_k`}F%&LYYD^Lo~ok0%pa zc%dm9T)e`7Nz}R6+R=hl*wV_!|E~q8uXWb$+*BPjMJQF$F;*t#jxqu)NvkjZHUu~U zN{OQU=;0on2zwtG9`Kt}i9fGoE)ALtC}YsP^x7k`?DjBP-Td}b_{Hx^c}d~6ws*Ed zq(Ox8e@*^`%>&a$FLtpi~vwG^RxZjfhdRN|4j$aad zWMseDjriDgH1x`vmB=;6na8~K3vXeeJ zs=$*Z&JyQL1Rv=)B_g`V&WY8x!McvlBJn_7tY4nUFpP^rLC<~m$V`M*U1`(Pl8=7) z8n6dW+DSza^}fOT{&VOwm65bRkiPcWIRJlSlg#sB(8QCpt{POnjSZT@0f;4+cf6@A zHc8s?Wqi&OYhF7R6+x(t3q*+2D}kzMqD6PPd5W0AzQ4kGbtI0bYU+6Nj-f8jUp=a` z!G1?jP$gDGN)|VlNVMU=wWk$RnR3?~%LZ%oQW!*mlY;wN{MQmH>n+zwkMMS3v`9I% zL#Qd257yuZZ@*r0$=S6&$@$f%4=1Pod_o2e@DUEznl~BxsZeD;WXgQRv$8JlS!T~1 z@S7ey@$~w>*^E}X=S4dFv&`iamAcigAq`{>x*B;UdUd?DPH30OhabQ)Y<_ULsH zQ-ZEN9G>Kh+ZhIvtEcB#y7#GYwXox@L%HRl6;1PetDA0cFf)z;kxv! zRV!diH-F1}gepplZ3O&3>QKYSkc?^Roy)uWsjx^8SlP}CaH6{Z&|D8~%|2yTHm6bS zMjkg%28^z}#~7=RqRngUa-kU)5Ui+-I+5@{$V5WF)xjk{O=UFicU;VJ)m&>fcHHGK ze>1;s?~l?xWK^tdH%&Q~u+f<`OnUy${+5H87td-oymKDA?V-4?HSn@}A+=+;<-6lx z`@RRMhbW{gvv+N)ggp`S))&8$v@Kp9oz_xj-moDy)Xf^bqr(oVPfXmDiIb^@zRl3o ziqq`L-G)1+3;^0ICL4#9;|E-7iDO2YF(hJ9E%shbO)fmP=b?m$etpqbC2AS!;7JOUf0MulvZNtc4=!|DVh(OK z2`yu_)_;NX=@zDTVqi*Y~IKjf+)bjrDWh_2n>` zkVYyYPi_l5kdqVDZ$X2`x1OYP_>JBs{z3{HdwY+yAr$7q z!-c3{EWv8$b*(w+yv>Xl>U2_B&>W6f7Dx0G#1YUS+Sx%X(^&qjJgn zjSty`XrdNa3a%3KSawuj&v^Sdae6#{v~6xW`&7cW zfs{aZ@F30TC3Ee5ZN%rtJoX!7zt@t&IGwRK(Go$s=CoX6jp&@B}Cf^O|FIRD44KD>fgQUXS5oK1$G#3C5Cd%Ahi9OMzhLhvM3d3I~? ze$@Ggc9LhdMZy?&o15rn5AUKSAEQV8j)e3d`yMZr6X8ckTeL)fQ~#y$1id4ua}`YF z1KFqspUP1jsTDmx=NS`$AY=E){RyF5E$j(D7FkubrIexk;QhZdApjZqw1Q3K zg&{kIn%-T3{ta=2s+6OQa-zeqHkVK_<=2tCqW)jm@;Q1e`kJp_n9iTz2Kk^7qoWR{ z6ECzlb!lH9uO;VeZKfkS)iGyh5j;z|i|h&g*PX5U5rPKN>LD<_s?v~v?$a@`OS#t` z)-W@+5o64It~3ht0RjTMkxv@wS;=fX2uV-~?DgUMF^?{}bY?!5ZA&D!J~u+ZW=^ps zt>j8N2gh|eU-~25+28Y0BPZJLn3WEJzVi2P=v?@Gk}(SdD)0F(tL(aM<}c^7E)2=U zG8uhuo6bD*e_?d~=%X(`8~DovV7Rr~L$%mRj7m|9R7AlIi9W%S#Q2>~@UuMT!Ql)p zKEl0!ozoQ}tZ|jgGreXf1I+XEROIQ{RiyjzdJWk$?#U*Gt|3vEV8c;so>8}YizK*+ z9h1b8_fmvK`)d{^*USX5<`eg>RxG-$hnEgw|F>`dPaE$y#4+-HS+jco0pAkOj1laU zd?L}&-Y{lXwi_54E1?MX*>9!%Juvl;&Traves;~*U`f%o(B{Z=_z*EB>gQ-?rHbBW zMmrQf-#pdEK<#6Dp1a&3*3100HJ+cxez2-`ak?<#b}2MWzBv0!h(%E{Y^%=xgzr&hIaPwkK?9HD0Xo2AJaEZ($)w^kI_sYob6}#`3 z5AECp1-Ie`U*dyh7xf#cqlaE`^^y2=3TRRL&Y!=0y!g*F@U>BwerS7U9x1qT9rB~^60n={YKMHBa_3QMN(Q{sPf z=JojxTPB@O8tb#MVBmR!VEU%5&mg0zDoCV{pFLGR2&n>>Of(x4mFg zeTJM3++QAp>9 zI7yCsN~98Ia`kXZ5c~WrMC3R+Ffe1qYM?)^VkHKbbKij^o8jo}BxbaIX65v$(cR5c ziTkdmW>gds_Rbbc_6#d+e`EkdOffRKQ4+dcz8l(-`>H!-T#h`xpYlvO3i2Zv--E-v ziX^=!0^&eDJh0E)EJrfr#bAx~!XNLBU0y0{)EX`Kb&necK|MU@2{Y86j6Om5&}vQ0 zg`Ew~Ao@dPM43FPnSI;X1F=DfX(C5Abr?i zoezHX+TpUTCU>TGf5tt5TKL~}<*fT^$2Ux?g+_}2Osj(3g zK4NO^FcxcCV!l2-Ik~ah#++9PuT6M}0Ty$L?JN7ryS<@*6O)sTpab7S zz-9e2M{Ij$RAqCD_3l262zu5iTGc0_DWs})=kf2!_g>0g-tDeg0sxZ!J$RhN^XOzj znlq9ju&)o-k{;gkcgD&UII1dR$0$-Yx$p0oc6T*Qm=^OZpA<)AX&aqhJ?6p7=wIfov zE#b5rwd~|~XLk2z8+h|cCf`5qR1t%3!#a0=s=S=ajqeMbGt)AY(=DDY>Qn!YzI)rCw_@QN_hhrlAaesq6XcVQEr8q=V7kNJwJEgIO%y~yQT zefQ5B|KT<~72T?{Z(VAH&@iu69oR+nvZ;zawO-vmbqi1H?|pnv$)`pu1Cc#+{vN{w z*B}Cf$Z7DHKLA{S7aU9iNyY`+^68dj7*~1nJik>vjb-%Km)mzx$}#=bnf0XP9`6z!m$dgSAO5bLe)n!|Gn#>ccp%m_UP*2B>3CF&3uQ* z%IZFuyYBkjIi7RAwbf`hCPp9HD_Jy4j1jW*e^O1U+tPU8zNVw3NU;1Y7gl$CVt^T! z6AMbI;%NgeD)H3w^@>m{J`-X0*-aSB#yY*Xz?U?z-m_$CxnK0I8IEnCOstR=N^53+ zBznrQIYrjFHkZ6_~Zo7V zp>oeHwcTAbld!K;LMAdzQqfnAVe{THA=lyEOip{&<)&Yx>%+-0X%alyOj%ug=So?^ zfZ+#T8dmD9ula4p-q!@)WONzTgo-rs$eWOax{Y4@!U&3<6(N0W^;=vD#%o`Jcx8$0 zx?kaSF+;yNA`lj>i!0^JS^m+~neiY{_)qXp-VK8iu?@S*2ixNS~$O_PGAV%vpp9 zKKU8kPvJO#fBx0B6Y^8Allbh)hk4x3%wu2NVA zE3!ZO4avDMT8#G-HEVgS0E&S!U#ji%2)y@xS5FnWw;DwpNpSN}T3K7}Et_)*p0vGG zSYz$4Z2I?hgb&H@s~R{Um2FR>roV=yp-V-EvJClRBR*d81m5G_eOm8N8wk2fFdMc1 zHG)p273s=Vx-Rwnf~SUYWAC$afwC?G%(dH5LehJ<>Tt2yvk+lvEMB1S8e$|v8e1Cc0?0OM8CNIi6N5^b@h6A?Dj=?%Y?0dC|77V@ZwVVS^|Bl zRA1T2ewD&>tY*|2S`oB_eeI$taN?xd5beS7U!SCJKqHRtc1?$!=5$!+`*Ii04t90) zTk4yo1OC+KEv5zI12+JS%21$KcHr_55>&wWIlvsS(DK%a8p%E`08R5ZJ1-n{LKJrk zzu3FLk3sy1oZ7fa$o_G7Km~$WNm_iEOnCMU7f^dOS4Y8)9)`n4Y-n@CBAC3}L_O5M zeSb^j6X5o4uW16%*6mjXHIjHDn4R6`%`+e}F<<>>q=4Z&z=8z>Tf`Nj3ly7*Gt{93Zc+v7rw zw?n&m8#^XvbvW#b54_l%3Wpn&t`073(4U zUjbi8Qc5eYOQft@-}qHqD!f`#NL1#BeKfCpUH)cpx+Ih1MYv)8#HT-BWRk?&1vW0L zXVpakX~2Lwj*T9Yv6kPUMg?T=-DCN9UBVLl0Y!w$>=c>DL)kPs9iWAh{1CD;z|R@& zNU3KQKU8%=C1lKpzeSzmTec@g;i-~g*e#J=+EhlU!fJPND-L=Y-e%nhE{<_9&vXUc zytnp@xyybJ{`|Vt|IOv}^{!Nqby&K2fEKmKhXhsiPJ2tV#?vf=>fdW&TFMl_|B)h# ziLF|l!xyNCA1{bA3PK}7RCLy?N|N+z;#bI%mgCnGvdWrwZg84!0X=Gxqfa6t_kVx$ z=R?qs@?L{~QYfjKVCkWrMKUty1b-!bBO(c{5tln~>*pherM&8WPMmJ5xZ=#U5lw=f zZz5rhRO(LsL1Aumqbe{k50im^9aVoKqRt>HD3zChwR2b?Ov;5~5Oz}|$-I^+GoL{E zz4gTZYW%QD9cp%eLky*J5u-JW4ScC;iSc;qJ+jOVZFFSG|3&W?G@fE-j`vMXC)MHK-IY=7# z==wDA6fZcw8gz8`Q0)30i}h&EJ+ETkg(O@iO1c!d?t0b!etH|475p7Rub}Lka{cawG zUyx)m4rhESzB-#{0`0xEuUnv_i8O(OcSq2X%)Dx}lO(W2itfvvZ(Smg!v?J*9?J~d zMSkZjXEGOWIwCJENw2x4q=tv>66Aawn^reyb~B#%ocmBbOolh#kHkB1_8Vw)q&*Q` zctb*!zWuURKQUZtyps>MlF?%~i(`xxXoqvO=aU&|3I_KDSa{G-gkd}3>~YcX5#%s( z2DqGHJc&4LAzqijsi)|MEP?Ex8yQFmWOD|k?^tfkA!*oT!( z;ryT8Wpmn3y&Hij{$o+Kaw-gQahCt8khmzI{(K(i)9Ixwc=}m zA(oZu$Dv2eL$RiLaZ8X)-rdOxYM_4LdJGw`4JMM=aJY=<#L;fa&l3&lHc;qN)YDWE z&W%DB5wS0Y7;0~CN(FVVbilFVno=2TYMym+h6a4m8Tee91_2ifPn!@2ysos)WbHCI zDSGofmE)g9zRtIN1h3)8OfIdNEbH%2$?nU$89#gH)-Ra6dEP@-J-~S#q|0D0x2g=AhHy zAn<;X7;(v*oW*hi1bDRNcI}AViZ3Tj4x7Pe3nY)TI)$!rp#8XSCI#kSjtMDY+!!Ee z(;cZ%O_7(y+zfr{AyQ7T>s5xU?x~|%xu+YKobuKYoxlJ@9!F0v9END%;HvY{{wwZf z%yb2V5#KMD>QwAntq6y}s{`QWpd9pC`a)P9^|XXDIAYUU3W8zM8IJqy%3KKF~j zWi3k|1>LT5odSIBeNkvMqI*9rrTouy8QB;l_+2I zGv`)qb&AHqQ*5UgdA>uM;iuO>a`(@)V6 zD7uOSq`IM7{8F4+1swc^45C&6w~8LT{VwR{HuVlPl8}EENv(>}oyZ(Ro{eGpWHzOh=Q;$od0d82(UST29 zBRVg~M8aQWm$M~wd5xxyI^e0(-P0RZ-Ro8o=s#hUjaxfs3cp$X;b@1b(D(O_cIO%a zg|dskdz4>vJaFg*gc?W$8>gXL(a~B-lx&V}ewB>C)Te!Eo{&BFj)iICT-tvB?)_lg zuhWdZW?jA{w7-+gp)+5Wdo7o{s{-Ym|r~Z^0TnB8bHpL3c@Jj}gdnBXVQd#F}{=XI= zhwfV}m%$Pp!IQbEg4Q@MzZMem$iC_k=j8AN2%t6isS;n(2uM`x=2-7(mVi?Y8mqLm z83RVe*1>+oO?S`#ZTsI5luiZ!vcQ<))9bT`A8VW|M++8vPaKL}#4do$m*260)Mz<5 zRWzp{Kx7Jd4g*)?$fxJ;Z&{8=KWE^=@dWkuU6Q|BggTO#=2Qc=Rr-bFCW=1inZ&KK zm}2c6^u^FZX49O%GrNN;tHT)0m)w5W)e^niW=mGBFya%Gvy|!1S$hj zaA0HP#EDn<^Y6@0Jsd!N>iu{2J3SCO)8AsIltmy;00>UU)WM~)X5GG{G}-j2T-#%M z*021%{tj4>cb>ZSY1NTnx_nosapxUxV#cQ1Rq%i6_OL0o;s8d&R(?tLV9pUcntV&1QFjP2a5*n98HkuWV{ICBbPH ziPEMHzY+A;KXgEYXLEyW%g$IAhozUpF&up$6Z1L+)ksQ{XFFSBh_{q0EL-ZGV;>+* zlsj&5lu|tPEvVWrtn;wB-K_6SApzqBAV(4MoED`F=12MyS)7V9GPaBRKm)75F40O? z8g&0s6*prrg#or$(B0{ z!yK+DI|1o`2dhty85PZo7N)gb2K48qleGi90DaA~9a2%Aq6A({Xu|&cU*7w(7}<~7 zsFTAice=l)*H`=$oL&D;ke?+EQ3FxrCu!35+5rcqmFt1mh!G;5lDG0^I4D;<``_(W{tZ`3(hHQG>r4);KAjLnyE*G}5tOU@!>ty{Ao6 z!%1kAh@~{AQEA5m-H5*`NTw)fzK34|*yRhLaIG<}o2Gk+`jKkDDZZx5%BH~x>o z{zAQEP)- zc_LycGIH|R_W7P$ueFw@8B{m6tWQ5qr8_xMYhPHiXsBOKUnDh81wWAQ)WMm`Sn~j0 zGejfq^f2n0qLPwXJZkd(;60DR`Q2ziZk}hyRc83L(4{XK*nz+V1tDK*M#l;Yt)0u0BEn5 zxM-Ii4)7!(mIp$3-CgQ!snG066Z)V0(RV#+&;#yxNcu0(rq&jk$=CMdPI#;MsS1<& zNa@|lOhBe(j;NW{7l@Ts#@0O_#f+xeTvvj@|0tnzlcXoFToUV4$U=+pcidlOQ%9lp17U4F@ggS45v$ zSCZi;F(xsd8`sI$)To`HE3o&hP=aTRkRzQH&?s~tCh9{bz1O7yBCXU#6eCSyQR`^X01KQ=HJOB1|JSArL^I?w zKza~#H0qH88T%AH>PAT35-T#|CB5D2r`(L-E8KxFQzc{%-b?QM%8=)-77KaK z2JxZ&QDo&yFZGC^K2n@jO!icl9C&UsvM7|~$|4^Yq=|*FJ|&s`fga%?L_*xE-feJB z^DP>+tOS!886ip=HNZLz<&SQ1GlMbnGm)|qG4ym#G+P-ibeGEMJy(s1R1L-r+|J&6 zNMKW^zx1u+&ubczi?(zjt5XSPtG3BeQI?AUj#LYFXwFS*lZwMFXs|!4Pwo`@^VIK} zfG^R$`?gP!NqsKDdn6)F_gFP=+)$cL$;ybyt4S?_CLHEvW~qvP7k4dYqxdO8a3SGc)MU|wZtXB?g?Di|c= z(Gs}kEkqS)Gq*y=k!)pQ>{43 z!BVM(eVzHni0UYy*6!jV!9`8}0NeaG6JWTTi^8pxyB6;~8pM_wtZFJBrtzt?z3{ro{j$>~}9Y4Jc z*LiGDAo&>ekiL?)Dl++k&gdbt@+=6+OIPg%4pV{$DuL^F=DhDA)wVXTR?x67ir z+~u(b@xiO|=;$>tIbAt@Xb&AHp{`k;{@VJsAKl!lb{4*J=-bIE*^+;{kLGk}xN!8~ z=sh0^IE6m$U>GWW9aulG0EUEULf*d{dll*S`Qm6%NvW3}MvONR@e*@gwxKZMjM$!e zPtg}o^?(7Q38JdayE(Lx%IO3s78e$qu_S&_goXT0^&rMmV7NU5c%GirZ6BItJ+sFe$Sw&p;kP#ziv)mp zibm|<&guCH%IjNoInneNn%%@=$vr1j+IP&aU6&v~$f3yL!0*}$|6-{(3U-S(= zOVTcn9nfqu=Nx$t!BJABB3?2c|E=og-D`FiVVa|!c%!?WXtIu*NsR~kxm*f09|uSU z#j7xSwC)t<(Zgsqk%@PO^f)kzw7_72+Z;r6%N~{Jsj^5nj^VW@W@%=$hSdoBp+uZ8@)(i(mS-! zZYl4BPX=n`27wizA<9h=4yoNNd2~?4-u5A??P*Zzw~UTYM+-VP-d8Iug7p^iVNb0% zo}W_g07)>E4RN!+c?(%Muep?82SiOAq8nvzOH`zq{}E&V*;sHDn)OUw>Ohr#%psbf zollk}IiUTil9r`d)L$7H@FIJ!RSufmnn%~#R@!Z#@kTH1fd9(nCoZl7GZph^$&7Ls zn)MR^jLd_E?Xr5Qb&*`T7E4rk0;mNlJclQFJ@LgCWw4PoiK+ubc7NBQ}`R#cfi!a2~V%Ajo`C*3-c~GbvH+ z+ID=~rGb9rVw7ydwe(3_O!hijYs5oYx0oH0qjuwc{M8%bgk9DomGZN1)3F6rpQ9FX zi<9J)a-l@RB&{k)=JZavjo5xCwy5pY?&Bv&Dd)gZ?(D_12$KvG7C>Z%#^$Y_9POQq zd}26x#fq_BaDUyUVaG7^>J$8RgA`81f71;1_v($mQ(*}O%1|~brT~X~jotW+l=1nn z)a;_7yS|j`q2*6bU=cEN>^59>UV?SbJQ}3!TuBA-z3==309D~VYC=D=(#`Et zEOtBbe*nXp($5SmWJVOn^ZAZwN+g2XGrv(;sGB^OEDwFiSR0lk3U7(g#%Rf!z!SBwGH?ssKz%ykae z>3k)3EwQzmq$QO&5X5^MuXPWbT^DUJ|>Cb?&sp>34kktQGN%$r{?yOV4n|4a9R>wj11%!bD zB@OmDL#-Pfx&9sDIbzU7qxd*~)vNIvjMw8BC__h3N)Bq(Otq?YZUOO7F_sbU5>5`V zHlNMJsgMmq6!*)jL2dee*E0%QNG&d$&Sv?1W|3mg10&b(A^=ztUM@Xo99DY)4`dTv zioV3(g$4#WuX~!NpiWB6-|%fFf)j$q?i#*QDw&Td(bvdAUPTuQV|F9cpCpbiwcS^I z9?_fb^6xCMK1y7<4;61pW28UvaQ*sWiCZ4PS!zFJqmgh9hcc0VODbv@5%N_Y#yRtG zu;z}h``$l}S!7*W;o@voEHU))F8!*eKOT!`*x=&&s%rz=n)<-o|L^O>)>rhRDGt6Q z3MM+j*wRDhy~I;gYhAaS&wjR22b z>%iO6{eA5*PP%)B31c_EcRuKZ5;m$1%aQ)Qced&iGzG~SpthcWiu+B@ImdTuqfc%> zc){Pxf%Tw>QeZS@cA*;S9VZhMXnqMvD5K6&r1K4#C}aEcJ-X;_TZF#u=0)@O4Jj{( zp1ef^TM5pa!ZeVq&`&-VwnCgVEmxy^nL(Vj=z-K$<)gaqk6sl>adkI(q%dmU_^ni?zz2Of~v zBqhS+s+7en!aKLKZmTja(-Z0^+QpFQEg0Q#)<8m!V(33yzEQ|}s z_Jjuab3fzb5VhIZ)xp?*w$7dEojl+urtWqp%_6b6tAoTg#CF0=X=f_pa^eoWjo$E9 zMY_^x1@)sLMF;}vT&2~~Wj6S-)9B^*tP-(Bi55)Rsz`eEyx#j8yyW^H!;IxJiR%=d zZjz@jUdDiB`XM*eRzy|-C@SSzwMJMEX}}aObHmh~!Lf3U9)rr{u3#;frD4=GKd)Jq zfOqV(a!)(%PZv*v|MK?Fcoh~5`c&HlEONIjf=;{!F*J`F#3b6@GorBt%px4be(xLmxP-ChFFz4oL4`Tl zEhy;K6FZNG+`Gp_8Y)8x6YFOD!*77)e_4j~St1R^0&oO%X3Lcy+x2CF&60s9zLKkh z|LzwQAdunSHQ=4y$Pr*LCb9x4mdrqklEX&jk7Hi??g#+1YmHn0Q8B#Eit}~Z6wbvE z)}VLtd@^qG#OVUxCn5!NbY*Y#Ix3BgWyOcZvIi*d*PM6yMKbu*0Aw?UJB`AMmYwA{ zzPxdkIwMIkAI~Qu*~8jJT|hs_LN5I95&+clQ-b(##EFf{dh9g$Hk*&wpaD2dZ&6M>wckKFP;0^yU zE+YyFXf%4+^A3S=J^(vaWhy@cLOCdT?d%`my0@=CAfSL^(7h6jbtazdej#|{BqOPr ziy5%{YC|F+0`|lA4UJd{drF78?f1kNfd~yCKy2n zVC|L>QX5=E03)%v>;7A+JrBX9_QkbmI?0sjbHZcGM;rfZb~`PDYb5y)5|qKTSpxb} zhp4j@{0`x*Or$798vMmeA+r4$<&L4vv~7>s9uQfvv`G_}mRf1R&W%K`rhpC(ss}jk z5C=xbJi=F!bdyDLO$w}gqaD~s$URAkgVF;3t{+Fx`A&f#US3|E{wS;Dw8h$sY%@K&T|Hsx_2DRCJ;oeDbcc(ytyB8_$ zP$*W4ySo*)P#l806qgo<;!xZQ#Y&626etcYF6VyUne*j6{|^k43?#XCX7;-GTG#cv zd__swguE#M=XP#-x0Ts2B;}Q4 z2a}M&1DFAJq2%9QNV$oH?r<{~Phl_aeS$2BNHKtGGbx|v#t$M7F_`rT`tuh%qc+5_zej?1VTTj-_4Jiu99QQ{?1 zZ+ed(?YBnB!A9=(yj(Lxgcgu43fi zq3^t4efMk5OhHWGoLoMGM3?TZ@Mi9adI>uydlAB$}5=g#R&m*P5pl zERMv}nBq=q>G3ZoIyo)q+}wNWW|~md)nBx{(%MrmiAwpvF|Y{r?x`yh{Coyzx(Ex~ zqmy8OY^tvl?vCl(=1QRVt8+Q^B5?nOYT1m-r_-y)@W=d?8D6?Yfg?;a!9NQ03TD*Q zYr%5fJF=(st2#UiB)gXkr@+egedx(+0Kn3F3RH<)V!NDvFN6e;*sqNLuuehxVPl~*tjAaNOpy~biD-9_~8rq zxxduBehK;=y)@69-FSW`x!?J!wp!VN@*aGS6!Tro_H=<@T>j`^drN;t-#Iz|T2P}b zD(kh+a?bEizrkSL0nspf7}c}7#3DVi#~VN(NM~(EzAxUg_4FP!*BONey6My1tT-N? zzM3%n^H!j^_8Xf-c=)*AU~6}fUa|LLjLsa9W?4m=NF_ZqJlyrM1P3vbrI0vAA#hKb znkb;K?pzq(e|QKV2tC@Ui1{zv!y+d->HTvs)+y0&-}cigs)8ecYkTPoxDK<1K~@_l ztC3UCO*d_Rb88@NC#~%eJBR9CHmv7yan{x9(UtPGb9dFEA7GReO^{O>W!=6C9_SbM z82aQ0I{}g|zVe?*^pS^k-czc8ft)eJ`JX~++vJ7U8XACm1T;!s4!=HanSNK&`TZ07 zYc6_EIpbGOK7!@nfW%gxQ=if;+kUBmk&Y4SzbLmgez7M89XQ zPz1SKo4t9>uy7=I^AxZKEVTr#b0_P=xnE}~C;tr1eeCnFq!_fwwHVW9HdE=Pw8X(i zlAUa<5l~uW&p4()e#3%d$04$`l$6fPH-sE6!ZnJ$zR(1dk+!<`1Aov~QDvjkU}T24 zA&R;VlI$8wzqd?aWbK7-C_hq(v1-UN^fI3Z5F&MpfD;qdZzit|0*TCqbW$chP1G;o>~7~>|Rca*#q2Ct8)}t^N%bO ztz~ep4Grw5uMzN%j(PD)&H|tPI!S za##x(tBoBo+Zl;2qu(C3Pt)I|{gshP@nY4cDorDAdMQ>%OiaHLq4Pa~C4Vm-ao{-I zI9L)ruJQ(JhHejWzx?XqcwMYp|8?+1z-f`k@VRgJySNXgG1}1vKmUnbc0hxk&dG#p zZvAgAFN=2)ySi;a+r;)_XYua&Fc~Fu2>@N8WiqTh*(-n+n`F*R1f7b$l(8U;uNKJ| zX+1N_5Jv9qNfUu-;t>iZ7jY)LBNoo7bSxawNEJkh&>4QqByUH*tXvonsffkt*&an2 z#|*ZFR~BFXQs@)GDcg@Lu(^L4RP|2J^m-lKU7f0GgXIUkiT0Fr=WX}k{w8PP9~`Xj z^S@-*b;huAmJjqCGrb@Uozh8cXs-dF?!~Lu*zi0o`I8?eNnQEjG9^>-Ptcek`~+0%(Hq*NQXM6u$mP_(<0M zl43?Y>flL&{hR)m#|G?Tf$qP_k>h6V`=-29uF}o!zm{OeVM8|$Hf0iU<~D8{1_b=Psk7Wf)aw(XF}bJ2 zs~P2=2BNT%ZSsZ>$KkWd3G>(dCX2(8NWQ^GJW~Wq4qakijOCZfU>ylUX7 zL^8tpccfG5FNWPCJ^yyhx`$U`e@OK8ZTpY0gF{2h)ze5dc>37KoK+6=1h6(4K;1VF z2zzX|$&J6F8iOCS&OCdgqOeA4A&InHO{R_l`Lx`^1x%2eM0((#5&G^SlW7G{H*V5C z<)e}AXG8h4qrNvEYQO2l&(G5Uy(mMNP!|naY&^=@%>oHzB8q#mE${OLKxq?`{8vBM zJ4I0N^pK8{M_CZ!ErZQ4iYbxOiJI#9o0XWLxImkr{cHDMVH(B8zH5TIDRFZ=h0VCB zsiBXz?2yPAC|dDPDDdHxgP+V1Y|n<>vKTxor%dE zY~g9^lD{qtm0SJAor}UOA$VtS2FlCu$7dMLq#)q^YIuhi;7|hWNA+(?PMO6d-Xr*D z@=mz4p`=|B|A1trOTXf)T*#lux%yFp&I?f>&h8C;eu3z4vmmg@;n=Z+lC+9>>I0ce z%){ZP4-Y63T_h%d)+ckt&;H&pc;Z2Vqapers#D8`@+%9U0ZICme5c=@TG8g_RXbTC zvL8WjYoZCr1H%g}8}=hjh>vN%T*--Z_GS^dWr^3v{p)%Fc20f-xEgvNsGE!w+Jb!N zAW^#;=m3?HB2GtyNJ@xpc1kX6BtHM`?3w9~MnITb%HQRrw?G^ksKT^LtKTq=2Q}Dd zQoA(t0N^LoFZ-Gab-E2@m|#PQ8RfWH4#@_$CvDQ0sm0`OAaXrvuVEg>Mf!R>{2DGt zHQgI$4`yZ@Df*O3qH@)eM3DB5u~w=I#VyfkulOgSvm4HpBa_-F&TB_wxMn($?awM1 z^1>Cj$+*34&4<&${hA~LkctUiQdX$eJNRCjxuZ5mpFEU%K3DjQjHB_^PFc`J{|_nb z9#`pecHm3+7Vx&8AR;r~yX*aV9su2$vN}jn2XKC@(TA5eAHm@nu!t;+6zc7gXa@RYcZ`@+aw3W)D0M z1w_iF>?72{twg6G0xi)Hnw!KX2373n&ci%LWySie41{qZ4rN(8-0f&w4Jcr=a3vB7 z3Xw7)Q@1>NLtn>CK?N#p3*}GG-&9o5vC=TqJykjGlKI=qjeg;U{KXZqZhV}2EfBk~ zgw%9mk3Y(#i4u!*LndWJ!WW&S%y-S)jsT5*7DEWeM>M=1gnxRDpK(+8a;WlqAqmk@ zJRkP!et4hI2f~vawrvq!PhT3*+dz`MEe{(BV)1Tgx#sQe``ne3g4xFXhBr|BqFrTS zF1C7)@D+9RHo9<1UqDWr#Gp*V6}6XNT&@mP);&yk|NPOm3;xsDe^AZGjuG;^H6@$DK6J>G14KHP}L&$v>9^Z3aD^&i=f2+zp%I?Z{( zynCA%klOZ!Eulm6GA6IJs-;wC(NuN?dX1oWXXHh@w!$ht%fVi>x3;unggs`{)TDd8 zQX2F$Xi#h<#Y;jRoX*dKnpFW$<6FXE-Ow&p^{OEmHdoLwY^oU$xaI3s`rf`%qMkQn z@~gD^r9tL8O2M>?0}G25u`a2~jG%tix>4t+n2~QK_SEed2=L^LFF~Wi?Az#=v+7Fk z>71WiJ3Qugk~zydtY+l4POW_05CkJ+RA9DU)b>EM9NywS3M%K-cf>s z{6A%@ZsytS`u2*U9O2>oXEf;f0 zzEl;Z%bYcl{z@MbBN8^6Clw*W01`ui;EE?*;sBm0u!t@2T3vYPCdC+h3N+(5ofxHg zn)5$TS(zTrMoxq24||dXss+g-v+r79gz?uH%g$;H80wXQmcD^*a=ik6gIO9vxKO6= z{PF8)e35+vdhs3Jz6;0RxVnl|CePEIY?%sO*1PDf`D8}H@(%MX-(ybPR&H;U3!OlI zlM3>=xo`fX+;lau2h5H4E)ZpfO|;ekzCi2=R?;S}cLx6jarErX)0;}FvaxvKyiH9p z`GT2?n-sUz^Jx!7e2x;TG$$lZKAeRPM_Tl#KpvFZ+uj?+BcXuGMYoBuw+yROtT7KJ zjZ(lEEGS5tZy~WvG_Qv+z|`V}nGa_v*))U#sjNw%i)in(Ohw3u(_WJ7fxRUw9(-l; zZo&r{sw1x0aIji?l2R1=wdix5T(xo)WS3%JGYe#`7}V(cazDb8}J4 z{Gr>691M?qOVi|0p6fWab=R7PRT*9=%?7Aw9=cu2~!QHQ|qIpo`v<&-L zfMdN0Vfjbx8}GIrSbp2s-a;a6ij*uuNr5{)Muln={Xr3mtG*05bhN;&)3^60`#brE{h zv{A4!1_re8FqiG!^KcenSrJ0vFQ0Bq4O=)f<+_-%)M3u`V1BG>8q84SBmmmlQ1W4` zLC!QV`=(T|-45Af1U>Ymg!i|M=>JfT&)r$8^gjCK_gq{zUdyZ8=mlT76X3rARYSl` zjd)nmza+b@;zJ&phu>ah#r_MqY4qyuGBw!?GBXTzcWZKm2gPWmU7J3iRQpg`wt~o%!h2AeB^`kTcoh_yYNa&9+hPOJJfsQc-=`4 zp~$Tq`d6`5pf$8L(+WKTp0#ODNkL8mvyNbe&YIdgj0I;$RsMDi0nX61G@sLryy5Ao zY0L#$2W%wTI`^y!DPH1uB;x6YfZnHRGjepfby^k$bLt?1e<@fIw}ha__;f8GqRze4 zuT@e2U81=2yW5)*i`}j{O6S+dv@-oC(*Ts{E@6wUbbUOK(#D}=n3PXJhsv&O+SGnj1O8WvjZ4kyx>~Onj}SG*V&2T{QSe>`n$|g%7n4YLvf(ZeL%1S9O5R{y>&0Sw1FnM7F-e} zbAtRwg;zBJMP!dXea~Vd4J#R}i}zC3WsQw&*#T1fZB2&wU$L-IWcuk=c<&!8!{Eu6 z*BNV$*edrr8I3)RS75sIcK9!qb1(hoHq82E9|VQ8$2z@!#fVf0=-r6S46S$m==YNu zT@Y70zM19I6Hi+_Z_oAxUHMe%vP*7fCH=GNkP8kQ@ppU0pnN9Rm?eLc|W=;jUbmt&ULnRAd3 z2ij}cR<-gl2lTs~h@Vir?(Zq%0@E_zBQ(qeSbxRODM3l9{Dwwg@2U;9NFbr5`bUrQ z(i4`tM|vR9@|oBdEG%=f>_dksHgpR>j)>VWr*F07dOqn9GqKspn3FmElcf^n*Axl# znqpi{-H@jSVFdc;7@96GsGwap4ftzWeDp}^SQ`)Zfw^9CK1k1U3{na;ReFDWLHFVX zmUh(r;~%X4#E=UbR+~I7W=dqE$a`t`pD3&ABph{MLVc)Xg&6Y8DY}&|HLE82+fh5V z0k}v*v9Y`hEPShqkP~)XPO_?vJ>@xY7{_MXWEY6JsbFDjb;5QsORODJ32GJMQ~Zd` zR7oe>5EpL2*s~W9)umXB87@ZhK*%rshMIEhlZ*p<1GTOkslG`wZ=ebCRg{RwU+k$6 zbt^(k>`qaRJ%t7WEa^Ty?^ocO>qaiCBz7QYNS{@>n+%;-mKyti^wyh$vk7OSlRy`W zfZ!Q}I);~YX5MQzk5|2jB|~}N77Je6%=YKWQHuIzRHlIQVt22&HgkUblp}0!egsKL z*`-r8dotAz^Q`M@T-?Pp=6sWY-wX`ANvudya~(^_ zYxqCxT@u2dxA&2j=I{P^KYKas+aed#TjB>%i@kJ~AN#|v?<~a0y8B4ousUB>AOuA2 zI!BEA$!NbKuL0zRyeXJsdx)akhQ)V4&-?JC#cThSI_SJx8bL8jjTyas4d8z)TI(R5j(MKnW=;4D7Df9#!T0b(YsCq zM0IU(LTaU#3CVE^@c{}G5iiJWdb!x1`YxgOT8wfO2LvU+F6}k&=XuPmwTd?Z%*wE`)}jQu z3kJH*Qmi`2p$hEb_(girpM+m7i1s571{Li}0CJk9grU3!e3`q1rB4=d!4qcQXBhc0 zG`vg*;N0?ggYC5ovO&q}bYMFLxDd3-@4n&DEV1FIil)9|#QRSK2 zaIySND9YTRZ%GVfv68k|cB^c^^k> zb_E`p*PZ-;8pu$!S*%J5f~68J?lXpnGeWoqVN0T8j8HR|hS#kSn6*xleZQhes$p8H zf%~K=*eshM*Mf5rQ*9vj)FM>fWd}LwbJaE94SHGZhgT{me@Q@`X6bqYjzbiG3L~UH zJKE5Jx=q}fKuYbmixmSxKe&P0x$FA5jX=@!uy~tSmqxwC#QfGNRPyjj`mE@!C6wsj zQLq6#E&?Z!H*+_TPn0EbRB$6l?7WE=mylSMdvcwNK;)*l&@a14p+)9z>Pc)%`T1%P zAGV&7!e@aAa1lHd4<_!MK?hz7tM?=a6Ik}4;vpe z%_9YMczH9bTq9kviYf&g77Od#O$P#Lpp?Rql}Wl+jYVq)E32yQxI#n=w~cg2#4y-a z(}?+29vyt)#L{LLkV-5Tr8iiZ9c@@FW#p=Fl9IyGh!8)bFM=f^ zfBe)ROJWX*WE=ByCN562YEOZWQ8MkaxU6HB;Uq({cx1L?(ZO5zP)$OWS-qBYCJ%@r z$d1A>`%VrV-Nj;8HZB~|(E>uMG_WLxt&p&UJa*+RZpunISjK3W#d95gupWQh3WO#Q zcU?`VjVYPOY%1w~mqDT9tuzub9>!-h+1Uyv&_BjwY73XTx{Kiy6{zdp&$ zNItFlj8X{GsPAHdhjieHtm9nqnfQE(zlJ;fa}*cygeU zLUQpbwUnX*B^dqb`FPcWc0_x7QWvlp31AxNtVIBW(O;trhH~zHAiAGlgd zvzUl)T~_1|l+!as(K<#F+KL+TnF34UH)a%=~>`Ojpq5f;}rGabd8FR=b7t&{9;^cjKQpKHlkP!tPNbwtq>QQbyN zNr;oi9davz7A|P)4;_m^9+6dSfma9PLUX5*ci&zC(7C)XfGLu^Mj2(&;jyz52kA6F z?Yg<|@Dij;0Wdl{E|F;o0h#yyB+*^)@Kd=opuqBy1-XZ0<6HE1`WU`nMRZ>SBgWFS z887}8!^SAdk4iXQ%kx=#(cQW3p7XHC@bT>GwbpyeJtEeAS64$IHE9^San&u4p!ol! zef5jNV{ddZ?}OrNb2ozqkAa&h?mY~lR?cccz(+X!6ZbwB6=>^Pr~-60g5Tk_1@)_h z2ixyUu`dD2-TD;rqzko$>i#PTCV0bxMtSwCD`21;)rVn6TQ#g=oY80qA`AQM5wKbx zxl$rz;n$&kKf{5pJ3vjgf00m!3)bw9hQdVaX&{uc@mTfl~C-qgQ2y&?H<-?J_5Kaf0-Y!QGnl(Uzn`HK|F&=t_bXhym7dm}55fq=~U z5ZIPKsJFE{zy2vb+qOk#R`c5z881E5M)uG122oB1x@OR6cC-cWUw$znvdBLA$k8!x ztRj^_(jC^s=1SEQcO9it;~QDiC`r;2e=zk+6cp7UzB@UqdS+ zGlfjMrbNyPgybe7KpxcFW~4l`0<1fNDAw`|8J-Ohj`yd&L2v9g~ zPoFn%)zuT_o7F^4ibbu?)?yuUE~;4zjLG6$C-(ItWnu|(n6(haFsAf+QX8Bvf@uc5 zZ|exH>O^uXZ$qMddV)KQw|h z6(T{DRVBEbNCl%xx-%xhSCVR4UE6%M9u!qEax(uX6Sy)^(pSQOKHC;+x($5fPjL() z+$y@?(B`o(v~uxzI3Y{){adhANZhNQX$-BgKR%Dfil=V)_NzDV5)(Tem44lPrEAimr__jM9vYHli8} zDVj2Y2?&&27;u`E|A>o_NJbtthBg|)x4cswM}ItTl}jNNE&Rz88TQoilw|Uz8r6{Z ztMfgglr05OVj{OW(jck4{fALMr?Gy1gOX_OKAhCdu51W~kI7Bo?-82tk0pUJrmPij zlF%6xx5!b|Hae`rW_)#s_32J+KZK{``6oc}nUQNq*1mR*+^c)HeO>Q$2%EjtGeW^M zkE$EuiGk9SUDa1F=ged23o&NM7{6+=^4B8_cq9xd%(PUZ5`7}f{FVtxIAz{_t*r_l z1DfQ5&&6hBXedD>b>`TqPB#(^F6e|G3k3<{G6H(HaOvcTYFKa;8Z70vd?6HyGX5Z> zgJCkCt|L^MZ%CY`fDbv^^=FuJ9n$2-Qmat|k3I#wDCMlB{jf)CN}V@qiH zrgq;(yAoTc^xD(zQh!y~C4lwrQqO(-UyOdo`RiaeG>K(y;_uIJfQ{ zABUHFkw?KRDiY}Ni1Q_k@GY5Oy`G8V)-dbG4PbH_>RCE0NrMJ3e~n)Sp5FrS%|4yd z{pYhyL`UP9=isb1nj{g=-PuqC+|$-gECCpus-Qk@51?dUA4&we5A!4)-y8^QEE|r! z4e{R}%ip-vj_SS!WRbvTV)g2TrS5Ta0A)_A>))mJ$OwJoAkb`qznb2Qo!uW8KnYH8 zOOUwUEmK^6OMaJqG)VG!8W=Fr1Yp*2i@&KzKAK1*0_p*g+`cc2FTnq3K@EO%X=>t+ z7?`KU`>#@piF@s|53G|d?5buve&!R>Y|4_NJ0)L~#E9n<_chGR;9CEXT*meh;w%g|o1LK~iSB85c zY3*Y1MW3D@sd=a5>;Onq#Yn>SgkXNbD`a)He*oLyK-i+SYUY||gg%)!FdC>b1Y(;^ zd$Xf(;rQ0sLyfD0f`WS)2mc@nrGG9gq8q#I6+wGx=NBuMIp2(dMnL-+|_ z$yQtB{2p%3P(~u2F~vAAg^kQNLIdgpH@6%ICUooev+Nkfq&_g~C6Al z4e1$~9YDFyB@H=C?9mB+G9&}jWglcax7ExJ;TlBSLZpT*OmSJ#%b1_3uQ8>o1-(=>!Z*Z~sB|Ysp6jHx0v7OZNVV~dVm{fm7@%@%f{E63^I#DrjuaooXEb(ckZiQR& z{!kHw88x7$X+FEBI9R;GT+ebdc>4=GV+b3^{Us1O(((=+NcE|KKcqEtiTs57A{@VA z*~))uLnmi~E6G|XI7PEIz6fV4%(pO8=jUM!8&YBj?-&c}Xo;SJq!32aTEHR#e&^jc z8TnufM9M}FT}fh&;!>K5aFbpcu=;+pjkRhfM$!+zmlEMBzM4}Rh>9krm)Y?B5RGCM zQNDiLCPqyf@vy}teRcV>MTD#R=l3xy%Tb55M)9w3_;*4UE~+^SmYOU?NfL=QjTP#3 zv(2H0b5@f~c)Epb0l4HAOr}aVTG+iEb+v&MRvK`mh)lqyj5KM%e31@Vm0n)As zLLPkGV>4|;xa%K%(fKx-*la#EZB!IiDp!#rvi0GGwp!eSDl?WFAP?A<8#3(QnT$YuB4mcL_|*rHP1|=ip{;f<&!JL$idR+6+?>!YZTw@am!?*3#d@UdV+^K zO0#&?2{4JTVb_tw_K&|J(arm23-b0KzAajUdp%RGORMe)Ymg)ukf9{Jv!adi$pu6f zh5r~Y1aCy94fvS5nf!62tm+rJ-31KJJJP;w!uE`!U*>;w*bn6+A#ML5$A%9>2`WnA zE^2!EB`Ct#7CYSKMR~%PL%IqGEH{F98^5$Bygf}@H70{UTF!$&LphS+qm?03W_-Vzb$T9*!UeYoLGbI? z+sm4#6j4(Pq}b+=hx-!rT4j{^p18n-S>gV6OfTaezmHWMd7hstF(-Ap5^EPpw2$I7 zgK^;?bqSZ9N97olGwN+NShs8A$w{k~_4-@Knmae(`qEgz!b96`ihI22mu%fE07-R6-HfIb7tX!bGGM3 zg4Q}(fYM)hx>r2O#N#*oq+$65*rEWwtf&b9Ge2L=cN*_>8FpC*hK!T8V-4%a%A0u} z{hQ@OV)DSDWx10S$8bz2o_%CC7CGmVdit8?`kG20o|En@7m{MhU8DtFR4XLB&4kkJ3zM3 z@JbN_I3p~1%z(;#X%6^I0AaE7`c2&;6xptnD%*Hd+giA|DCJguuickV-(0`Y)$YPKSc}3MaD9l3Z+UReR?~z|W~wP(+HlM}Kd==o)~w zJQnrss^X#!g_ab!2lPbDQLbiFli~_-axr_vFF3Iwjz~R(HF^pXkX{-_9Y_AQg|G}4 zUn=net}u{1E>=`04#$YGUe&kH+kEu$TKDW4I|Ik7s5;KkN;}vtr!UD-6Y+sFYU|nM zR`pB^2~dlGwK;B4@X6kg9enKM95#zSEGNZa<&QkS*gKT4Ok2+95iMO$|g&0Nx z)gTf#Bd}5^D4*fw5lZ-0nlDOMclQ?F)A{McpBHKT5Zi~+v`+OwtF!CPK5{Mo zWNmN`W*Tx*A;tk5o{)v)Mj=iI7ymr^bk2nzVz%$Jt1R$pv718?6qe}kiEQ55;0xM9 z)<`;mSPHtBj{%x39wuEshHzi){v95BK}W**FK%H~@kHa#D|5F=&#kTiRIBkYqGvGz zcNm6W*u6j%;}5CbUC;P;8u}I!p5LM~WAJyyKrKb;M@IElk$Z9*RS?5?M|Wd7-N;ct zwis!(Z05lRvsP5p9VFYlDE!YssW6>05)2g8ltMIZ^BBHfDh&xF70-1ZH(D)or=g_6 zX6PQCqgfLx>4|}(M96PuJK`-!><22wI^*Elv=5q;lN5KVEaVf|x~Ql2#Dt+ABy=ys z8o7{h8=heBOi>PgX-0Mj*D~T!YG@`RU;@);?`Mi+#y1if_Qt#U>S;Wv$I7V1OdSa? zIk89fX-o;!?ITJF`Ofdu(zS87H|f!!G7pL=Rhg1)emBI0368FQPMBYe7rw&#$Rrvo zmny;n*dMPFl1h~?aahZzj`9gi{s-*i&T7YI(HIjV|AzJbdDtfL{+1~o3}u+qGAbAp zSj6sPX}vK+k<@38`J$*o9B0OUGMl%#V6tvRfTNLzRonenABOf>^-y_C&Hz6%Oon*8 z$pi~Z_a#T-TwE<$ad_-.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