Tools - HEMTT PW3 fixes (#9585)

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
This commit is contained in:
BrettMayson 2023-10-31 19:29:59 -06:00 committed by GitHub
parent dc944b1879
commit 836be21f2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 72 additions and 42 deletions

View File

@ -129,7 +129,8 @@ class Cfg3DEN {
};
class SearchButton: ctrlButtonPicture {
idc = IDC_ATTRIBUTE_SEARCH_BUTTON;
onButtonClick = QUOTE( \
#pragma hemtt suppress pw3_padded_arg
onButtonClick = QUOTE(\
params ['_searchButton']; \
private _controlsGroup = ctrlParentControlsGroup _searchButton; \
private _searchBar = _controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR; \
@ -147,7 +148,8 @@ class Cfg3DEN {
class SearchBar: ctrlEdit {
idc = IDC_ATTRIBUTE_SEARCHBAR;
onKeyUp = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeAddItems));
onMouseButtonClick = QUOTE( \
#pragma hemtt suppress pw3_padded_arg
onMouseButtonClick = QUOTE(\
params [ARR_2('_searchBar','_button')]; \
if (_button != 1) exitWith {}; \
_searchBar ctrlSetText ''; \

View File

@ -26,7 +26,7 @@ class Display3DEN {
class GVAR(portVALoadouts) {
text = CSTRING(portLoadoutsText);
picture = QPATHTOEF(common,data\logo_ace3_ca.paa);
action = QUOTE(call DFUNC(portVALoadouts););
action = QUOTE(call DFUNC(portVALoadouts));
};
};
};

View File

@ -13,7 +13,7 @@
class GVAR(DetachVehicle) { \
displayName = CSTRING(Detach); \
condition = QUOTE(_this call FUNC(canDetach)); \
statement = QUOTE(_this call FUNC(detach) ); \
statement = QUOTE(_this call FUNC(detach)); \
exceptions[] = {"isNotSwimming"}; \
showDisabled = 0; \
icon = QPATHTOF(UI\detach_ca.paa); \

View File

@ -21,7 +21,7 @@ class Cfg3DEN {
property = QGVAR(space);
control = "Edit";
expression = QUOTE([ARR_2(_this,_value)] call DFUNC(setSpace););
expression = QUOTE([ARR_2(_this,_value)] call DFUNC(setSpace));
defaultValue = QUOTE(GET_NUMBER(configOf _this >> QQGVAR(space),0));
validate = "number";
@ -35,7 +35,7 @@ class Cfg3DEN {
control = "Edit";
// Expression only runs on the server, must handle actions for all machines and future JIPs (Why BI?!)
expression = QUOTE([ARR_2(_this,_value)] call DFUNC(setSize););
expression = QUOTE([ARR_2(_this,_value)] call DFUNC(setSize));
defaultValue = QUOTE(GET_NUMBER(configOf _this >> QQGVAR(size),-1));
validate = "number";

View File

@ -97,7 +97,7 @@ class GVAR(menu) {
text = CSTRING(unloadObject);
idc = 12;
x = "20.9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
action = QUOTE([] call FUNC(startUnload););
action = QUOTE([] call FUNC(startUnload));
};
};
};

View File

@ -19,6 +19,7 @@ class RscPicture;
class RscControlsGroupNoScrollbars;
class GVAR(CompassControl): RscControlsGroupNoScrollbars {
#pragma hemtt suppress pw3_padded_arg
onLoad = QUOTE(\
params ['_control'];\
private _display = ctrlParent _control;\
@ -58,6 +59,7 @@ class GVAR(CompassControl): RscControlsGroupNoScrollbars {
h = QUOTE(HEIGHT);
};
class CompassGroup: RscControlsGroupNoScrollbars {
#pragma hemtt suppress pw3_padded_arg
onLoad = QUOTE(\
params ['_control'];\
private _display = ctrlParent _control;\

View File

@ -60,7 +60,7 @@ if (_state) then {
};
private _ctrl = _dlg displayctrl 103;
_ctrl ctrlSetEventHandler ["buttonClick", QUOTE(while {!isNull (uiNamespace getVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),displayNull)])} do {closeDialog 0}; failMission 'LOSER'; [false] call DFUNC(disableUserInput);)];
_ctrl ctrlSetEventHandler ["buttonClick", QUOTE(while {!isNull (uiNamespace getVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),displayNull)])} do {closeDialog 0}; failMission 'LOSER'; [false] call DFUNC(disableUserInput))];
_ctrl ctrlEnable true;
_ctrl ctrlSetText "ABORT";
_ctrl ctrlSetTooltip "Abort.";
@ -69,7 +69,7 @@ if (_state) then {
if (["ace_medical"] call FUNC(isModLoaded)) then {
_ctrl ctrlSetEventHandler ["buttonClick", 'closeDialog 0; [player, "respawn_button"] call EFUNC(medical_status,setDead); [false] call DFUNC(disableUserInput);'];
} else {
_ctrl ctrlSetEventHandler ["buttonClick", QUOTE(closeDialog 0; player setDamage 1; [false] call DFUNC(disableUserInput);)];
_ctrl ctrlSetEventHandler ["buttonClick", QUOTE(closeDialog 0; player setDamage 1; [false] call DFUNC(disableUserInput))];
};
_ctrl ctrlEnable ((getMissionConfigValue ["respawnButton", -1]) != 0); // handles 3den attribute or description.ext
_ctrl ctrlSetText localize "$str_3den_multiplayer_attributecategory_respawn_displayname";

View File

@ -39,7 +39,7 @@ class CfgVehicles {
class ACE_ContinueDiggingTrench {
displayName = ECSTRING(trenches,ContinueDiggingTrench);
condition = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,canContinueDiggingTrench));
statement = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,continueDiggingTrench););
statement = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,continueDiggingTrench));
};
};
};

View File

@ -11,7 +11,7 @@ class CfgVehicles {
exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"};
showDisabled = 1;
icon = QPATHTOF(UI\Explosives_Menu_ca.paa);
insertChildren = QUOTE([_player] call FUNC(addTransmitterActions););
insertChildren = QUOTE([_player] call FUNC(addTransmitterActions));
class ACE_Place {
displayName = CSTRING(Place);
statement = "";
@ -49,7 +49,7 @@ class CfgVehicles {
distance = 1;
displayName = CSTRING(Defuse);
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canDefuse));
statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse););
statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse));
exceptions[] = {"isNotSwimming"};
icon = QPATHTOF(UI\Defuse_ca.paa);
};
@ -87,7 +87,7 @@ class CfgVehicles {
displayName = CSTRING(TriggerMenu);
condition = "true";
statement = "";
insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions););
insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions));
showDisabled = 0;
exceptions[] = {"isNotSwimming"};
icon = QPATHTOF(UI\Explosives_Menu_ca.paa);

View File

@ -142,7 +142,7 @@ class Rsc_ACE_PhoneInterface {
w = "0.0309375 * safezoneW";
h = "0.033 * safezoneH";
tooltip = CSTRING(Phone_AddToSpeedDial);
action = QUOTE([ARR_2(ctrlText 1401,ctrlText 1400)] call FUNC(addToSpeedDial););
action = QUOTE([ARR_2(ctrlText 1401,ctrlText 1400)] call FUNC(addToSpeedDial));
};
class clear: Rsc_ACE_HiddenButton {
idc = 1610;
@ -160,7 +160,7 @@ class Rsc_ACE_PhoneInterface {
w = "0.04125 * safezoneW";
h = "0.033 * safezoneH";
tooltip = CSTRING(Phone_Dial);
action = QUOTE([ARR_2(ace_player,ctrlText 1400)] call FUNC(dialPhone););
action = QUOTE([ARR_2(ace_player,ctrlText 1400)] call FUNC(dialPhone));
};
class up: Rsc_ACE_HiddenButton {
idc = 1612;

View File

@ -27,7 +27,7 @@ class CfgVehicles {
class ResetFCS {
displayName = CSTRING(ResetFCS);
condition = QUOTE(_player call FUNC(canResetFCS));
statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset););
statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset));
showDisabled = 0;
icon = "";
};
@ -39,7 +39,7 @@ class CfgVehicles {
class ResetFCS {
displayName = CSTRING(ResetFCS);
condition = QUOTE(_player call FUNC(canResetFCS));
statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset););
statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset));
showDisabled = 0;
icon = "";
};

View File

@ -20,7 +20,7 @@ class Extended_PostInit_EventHandlers {
class Extended_Init_EventHandlers {
class CAManBase {
class GVAR(AddEarPlugs) {
serverInit = QUOTE( _this call FUNC(addEarPlugs) );
serverInit = QUOTE(_this call FUNC(addEarPlugs));
};
};
};

View File

@ -13,7 +13,7 @@ class CfgVehicles {
};
class ACE_RemoveEarplugs {
displayName = CSTRING(EarPlugs_Off);
condition = QUOTE( GVAR(EnableCombatDeafness) && {[_player] call FUNC(hasEarPlugsIn)});
condition = QUOTE(GVAR(EnableCombatDeafness) && {[_player] call FUNC(hasEarPlugsIn)});
exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"};
statement = QUOTE([ARR_2(_player, true)] call FUNC(removeEarPlugs));
showDisabled = 0;

View File

@ -815,6 +815,7 @@ class CfgVehicles {
displayName = CSTRING(TurnOn);
icon = "\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\LightsIconOn_ca.paa";
condition = QUOTE(alive _target);
#pragma hemtt suppress pw3_padded_arg
statement = QUOTE(\
private _position = getPosATL _target;\
private _vectorDirAndUp = [ARR_2(vectorDir _target,vectorUp _target)];\

View File

@ -106,7 +106,7 @@ class RscACE_SelectAnItem {
y = 0.605;
style = 2;
text = CSTRING(Back);
action = QUOTE(call DFUNC(hideMenu);); //'Default' call DFUNC(openMenu); 'Default' call DFUNC(openMenuSelf);
action = QUOTE(call DFUNC(hideMenu)); //'Default' call DFUNC(openMenu); 'Default' call DFUNC(openMenuSelf);
colorBackground[] = {0,0,0,0};
colorBackgroundDisabled[] = {0,0,0,0};
colorBackgroundActive[] = {1,1,1,0.2};
@ -120,7 +120,7 @@ class RscACE_SelectAnItem {
w = 0.15;
style = 2;
text = CSTRING(MakeSelection);
action = QUOTE(call DFUNC(hideMenu););
action = QUOTE(call DFUNC(hideMenu));
colorBackground[] = {0,0,0,0};
colorBackgroundDisabled[] = {0,0,0,0};
colorBackgroundActive[] = {1,1,1,0.2};

View File

@ -14,7 +14,7 @@ class RscInGameUI {
onLoad = QUOTE(with uiNamespace do {ACE_RscOptics_javelin = _this select 0;};);
class GVAR(mapHelper): RscMapControl {
onDraw = QUOTE(_this call FUNC(mapHelperDraw););
onDraw = QUOTE(_this call FUNC(mapHelperDraw));
x = -10;
y = -10;
w = 0;

View File

@ -26,9 +26,9 @@ class Extended_DisplayLoad_EventHandlers {
class RscDiary { // for loading saves use uiNamespace because missionNamespace is not restored before map is loaded
#ifdef DISABLE_COMPILE_CACHE
ADDON = QUOTE(((_this select 0) displayCtrl ID_DIARY_MAP) call (missionNamespace getVariable [ARR_2('DFUNC(initDisplayDiary)', uiNamespace getVariable 'DFUNC(initDisplayDiary)')]););
ADDON = QUOTE(((_this select 0) displayCtrl ID_DIARY_MAP) call (missionNamespace getVariable [ARR_2('DFUNC(initDisplayDiary)', uiNamespace getVariable 'DFUNC(initDisplayDiary)')]));
#else
ADDON = QUOTE(((_this select 0) displayCtrl ID_DIARY_MAP) call (uiNamespace getVariable 'DFUNC(initDisplayDiary)'););
ADDON = QUOTE(((_this select 0) displayCtrl ID_DIARY_MAP) call (uiNamespace getVariable 'DFUNC(initDisplayDiary)'));
#endif
};
};

View File

@ -12,8 +12,8 @@ class RscSlider;
class RscXSliderH;
class RscDisplayInsertMarker {
onLoad = QUOTE(_this call DFUNC(initInsertMarker););
onUnload = QUOTE(_this call DFUNC(placeMarker););
onLoad = QUOTE(_this call DFUNC(initInsertMarker));
onUnload = QUOTE(_this call DFUNC(placeMarker));
movingEnable = 1;
class controls {

View File

@ -1,3 +1,5 @@
#pragma hemtt suppress pw3_padded_arg file
class RscDisplayEmpty;
class GVAR(MainMenuHelperDumpDebug): RscDisplayEmpty {
onLoad = QUOTE(\

View File

@ -6,33 +6,33 @@ class CfgVehicles {
class ACE_Equipment {
class GVAR(UnJam) {
displayName = CSTRING(UnjamWeapon);
condition = QUOTE( GVAR(enabled) && {[_player] call FUNC(canUnjam)} );
condition = QUOTE(GVAR(enabled) && {[_player] call FUNC(canUnjam)});
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
statement = QUOTE( [ARR_2(_player, currentMuzzle _player)] call FUNC(clearJam); );
statement = QUOTE([ARR_2(_player, currentMuzzle _player)] call FUNC(clearJam));
showDisabled = 0;
icon = QPATHTOEF(common,UI\repack_ca.paa);
};
class GVAR(SwapBarrel) {
displayName = CSTRING(SwapBarrel);
condition = QUOTE( [ARR_2(_player, currentWeapon _player)] call FUNC(canSwapBarrel) );
condition = QUOTE([ARR_2(_player, currentWeapon _player)] call FUNC(canSwapBarrel));
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
statement = QUOTE( [ARR_3(_player, _player, currentWeapon _player)] call FUNC(swapBarrel); );
statement = QUOTE([ARR_3(_player, _player, currentWeapon _player)] call FUNC(swapBarrel));
showDisabled = 0;
icon = QPATHTOF(UI\spare_barrel_ca.paa);
};
class GVAR(CheckTemperature) {
displayName = CSTRING(CheckTemperatureShort);
condition = QUOTE( GVAR(enabled) && {switch (currentWeapon _player) do {case (''): {false}; case (primaryWeapon _player); case (handgunWeapon _player): {true}; default {false}}} );
condition = QUOTE(GVAR(enabled) && {switch (currentWeapon _player) do {case (''): {false}; case (primaryWeapon _player); case (handgunWeapon _player): {true}; default {false}}});
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
statement = QUOTE( [ARR_3(_player, _player, currentWeapon _player)] call FUNC(checkTemperature); );
statement = QUOTE([ARR_3(_player, _player, currentWeapon _player)] call FUNC(checkTemperature));
showDisabled = 0;
icon = QPATHTOF(UI\temp_ca.paa);
};
class GVAR(CheckTemperatureSpareBarrels) {
displayName = CSTRING(CheckTemperatureSpareBarrelsShort);
condition = QUOTE((_player) call FUNC(canCheckSpareBarrelsTemperatures) );
condition = QUOTE((_player) call FUNC(canCheckSpareBarrelsTemperatures));
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
statement = QUOTE( [_player] call FUNC(checkSpareBarrelsTemperatures); );
statement = QUOTE([_player] call FUNC(checkSpareBarrelsTemperatures));
showDisabled = 0;
icon = QUOTE(PATHTOF(UI\temp_ca.paa));
};
@ -52,16 +52,16 @@ class CfgVehicles {
class ACE_Weapon {
class GVAR(SwapBarrel) {
displayName = CSTRING(SwapBarrel);
condition = QUOTE( [ARR_2(_player, currentWeapon _target)] call FUNC(canSwapBarrel) );
statement = QUOTE([ARR_3(_player, _target, currentWeapon _target)] call FUNC(swapBarrelAssistant););
condition = QUOTE([ARR_2(_player, currentWeapon _target)] call FUNC(canSwapBarrel));
statement = QUOTE([ARR_3(_player, _target, currentWeapon _target)] call FUNC(swapBarrelAssistant));
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
icon = QUOTE(PATHTOF(UI\spare_barrel_ca.paa));
};
class GVAR(CheckTemperature) {
displayName = CSTRING(CheckTemperatureShort);
condition = QUOTE( GVAR(enabled) && {switch (currentWeapon _target) do {case ('ACE_FakePrimaryWeapon'); case (''): {false}; case (primaryWeapon _target); case (handgunWeapon _target): {true}; default {false}}} );
condition = QUOTE(GVAR(enabled) && {switch (currentWeapon _target) do {case ('ACE_FakePrimaryWeapon'); case (''): {false}; case (primaryWeapon _target); case (handgunWeapon _target): {true}; default {false}}});
exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"};
statement = QUOTE( [ARR_3(_player, _target, currentWeapon _target)] call FUNC(checkTemperature); );
statement = QUOTE([ARR_3(_player, _target, currentWeapon _target)] call FUNC(checkTemperature));
icon = QUOTE(PATHTOF(UI\temp_ca.paa));
};
class GVAR(CoolWeaponWithItem) {

View File

@ -8,7 +8,7 @@ class Cfg3DEN {
control = "Edit";
displayName = CSTRING(stencilVehicle);
tooltip = CSTRING(stencilVehicle_tooltip);
expression = QUOTE( [ARR_2(_this,_value)] call FUNC(stencilVehicle); );
expression = QUOTE([ARR_2(_this,_value)] call FUNC(stencilVehicle));
condition = "objectVehicle";
defaultValue = "''";
typeName = "STRING";

View File

@ -9,12 +9,12 @@ class CBA_Extended_EventHandlers;
class ACE_ContinueDiggingTrench { \
displayName = CSTRING(ContinueDiggingTrench); \
condition = QUOTE([ARR_2(_target,_player)] call FUNC(canContinueDiggingTrench)); \
statement = QUOTE([ARR_2(_target,_player)] call FUNC(continueDiggingTrench);); \
statement = QUOTE([ARR_2(_target,_player)] call FUNC(continueDiggingTrench)); \
}; \
class ACE_RemoveTrench { \
displayName = CSTRING(RemoveEnvelope); \
condition = QUOTE([ARR_2(_target,_player)] call FUNC(canRemoveTrench)); \
statement = QUOTE([ARR_2(_target,_player)] call FUNC(removeTrench);); \
statement = QUOTE([ARR_2(_target,_player)] call FUNC(removeTrench)); \
}; \
class ACE_CamouflageTrench { \
displayName = CSTRING(CamouflageTrench); \

View File

@ -1,3 +1,5 @@
#pragma hemtt suppress pw3_padded_arg file
class CfgAmmo {
class Default;
class BulletCore;

View File

@ -1,7 +1,7 @@
class RscTitles {
class GVAR(display) {
idd = -1;
onLoad = QUOTE( with uiNameSpace do { GVAR(display) = _this select 0 }; );
onLoad = QUOTE(with uiNameSpace do { GVAR(display) = _this select 0 };);
movingEnable = 0;
duration = 9999999;
fadeIn = 0;

View File

@ -490,6 +490,22 @@ def cleanup_optionals(mod):
print_error("Cleaning Optionals Failed")
raise
# mikro tools (before 2023?) don't understand #pragma
def toggle_config_pragmas(do_restore=False):
token_from = "//#pragma-backup-make.py " if do_restore else "#pragma "
token_to = "#pragma " if do_restore else "//#pragma-backup-make.py "
print_green(f"Checking configs for {token_from}")
for root, _dirs, files in os.walk(module_root):
for file in files:
if file.endswith(".cpp") or file.endswith(".hpp"):
with open(os.path.join(root, file), "r", encoding="utf-8") as f:
content = f.read()
if (not token_from in content): continue
print(f"- Replacing {token_from} in {os.path.join(root, file)}")
content = re.sub(token_from, token_to, content)
with open(os.path.join(root, file), "w", encoding="utf-8") as f:
f.write(content)
def purge(dir, pattern, friendlyPattern="files"):
print_green("Deleting {} files from directory: {}".format(friendlyPattern,dir))
@ -1133,6 +1149,9 @@ See the make.cfg file for additional build options.
optional_files = []
copy_optionals_for_building(optionals_modules,optional_files)
# hide #pragma from pboProject's sensitive eyes
toggle_config_pragmas(False)
# Get list of subdirs in make root.
dirs = next(os.walk(module_root))[1]
@ -1473,6 +1492,8 @@ See the make.cfg file for additional build options.
copy_important_files(module_root_parent,os.path.join(release_dir, project))
if (os.path.isdir(optionals_root)):
cleanup_optionals(optionals_modules)
#restore #pragma
toggle_config_pragmas(True)
if not version_update:
restore_version_files()