diff --git a/addons/ballistics/CfgWeapons.hpp b/addons/ballistics/CfgWeapons.hpp index 1cd705f63f..8586aa8216 100644 --- a/addons/ballistics/CfgWeapons.hpp +++ b/addons/ballistics/CfgWeapons.hpp @@ -1,7 +1,3 @@ - -class Single; -class Burst; -class FullAuto; class Mode_SemiAuto; class Mode_Burst; class Mode_FullAuto; @@ -90,7 +86,10 @@ class CfgWeapons { /* MX */ - class arifle_MX_Base_F: Rifle_Base_F {}; + class arifle_MX_Base_F: Rifle_Base_F { + class Single: Mode_SemiAuto {}; + class FullAuto: Mode_FullAuto {}; + }; class arifle_MX_SW_F: arifle_MX_Base_F { magazines[] = { "100Rnd_65x39_caseless_mag_Tracer", diff --git a/addons/dragging/XEH_postInit.sqf b/addons/dragging/XEH_postInit.sqf index 6b2fd02dde..0d8e7757eb 100644 --- a/addons/dragging/XEH_postInit.sqf +++ b/addons/dragging/XEH_postInit.sqf @@ -28,3 +28,30 @@ if (isNil "ACE_maxWeightCarry") then { ["ace_unconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? + +//Add Keybind: +["ACE3 Common", QGVAR(drag), (localize LSTRING(DragKeybind)), +{ + if (!alive ACE_player) exitWith {false}; + if !([ACE_player, objNull, ["isNotDragging", "isNotCarrying"]] call EFUNC(common,canInteractWith)) exitWith {false}; + + // If we are drag/carrying something right now then just drop it: + if (ACE_player getVariable [QGVAR(isDragging), false]) exitWith { + [ACE_player, ACE_player getVariable [QGVAR(draggedObject), objNull]] call FUNC(dropObject); + false + }; + if (ACE_player getVariable [QGVAR(isCarrying), false]) exitWith { + [ACE_player, ACE_player getVariable [QGVAR(carriedObject), objNull]] call FUNC(dropObject_carry); + false + }; + + private _cursor = cursorObject; + if ((isNull _cursor) || {(_cursor distance ACE_player) > 2.6}) exitWith {false}; + if (!([ACE_player, _cursor] call FUNC(canDrag))) exitWith {false}; + + [ACE_player, _cursor] call FUNC(startDrag); + false +}, +{false}, +[-1, [false, false, false]]] call CBA_fnc_addKeybind; // UNBOUND + diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index b0334f3ca2..94757299cc 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -25,6 +25,18 @@ Lascia Elengedés + + Drag/Release Object + Тащить/Отпустить Объекты + Arrastrar/Soltar Objeto + Ciągnij/Puść Obiekt + Táhnout/Položit Objekt + Trainer/Lâcher Objets + Objekt ziehen/loslassen + Arrastar/Soltar Objeto + Trascina/Lascia Oggetto + Húzás/Elengedés Objektum + Item too heavy Gegenstand ist zu schwer diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index b2cd562b18..021d04af92 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -286,7 +286,7 @@ class CfgVehicles { class B_Soldier_03_f; class B_engineer_F:B_Soldier_03_f {MACRO_ADDMINEKIT}; class B_Soldier_diver_base_F; class B_diver_exp_F:B_Soldier_diver_base_F {MACRO_ADDMINEKIT}; class B_Soldier_recon_base; class B_recon_exp_F:B_Soldier_recon_base {MACRO_ADDMINEKIT}; - class B_CTRG_soldier_engineer_exp_F:B_Soldier_base_F {MACRO_ADDMINEKIT}; + class B_Soldier_02_f; class B_CTRG_soldier_engineer_exp_F:B_Soldier_02_f {MACRO_ADDMINEKIT}; class I_G_Soldier_base_F; class I_G_engineer_F:I_G_Soldier_base_F {MACRO_ADDMINEKIT}; class I_G_Soldier_exp_F:I_G_Soldier_base_F {MACRO_ADDMINEKIT}; class B_G_engineer_F:I_G_engineer_F {MACRO_ADDMINEKIT}; diff --git a/addons/fcs/ACE_UI.hpp b/addons/fcs/ACE_UI.hpp index ca35779f36..9423e49656 100644 --- a/addons/fcs/ACE_UI.hpp +++ b/addons/fcs/ACE_UI.hpp @@ -1,7 +1,7 @@ class ACE_UI { class gunnerZeroing { class conditions { - ADDON = "false"; + ADDON = "(false)"; }; }; }; diff --git a/addons/huntir/CfgWeapons.hpp b/addons/huntir/CfgWeapons.hpp index 979fc8875c..799cfcb976 100644 --- a/addons/huntir/CfgWeapons.hpp +++ b/addons/huntir/CfgWeapons.hpp @@ -19,11 +19,6 @@ class CfgWeapons { class UGL_F: GrenadeLauncher { magazines[] += {"ACE_HuntIR_M203"}; }; - class GL_3GL_F: UGL_F { - //magazines[] += {"ACE_HuntIR_M203"}; - magazines[] = {"1Rnd_HE_Grenade_shell","UGL_FlareWhite_F","UGL_FlareGreen_F","UGL_FlareRed_F","UGL_FlareYellow_F","UGL_FlareCIR_F","1Rnd_Smoke_Grenade_shell","1Rnd_SmokeRed_Grenade_shell","1Rnd_SmokeGreen_Grenade_shell","1Rnd_SmokeYellow_Grenade_shell","1Rnd_SmokePurple_Grenade_shell","1Rnd_SmokeBlue_Grenade_shell","1Rnd_SmokeOrange_Grenade_shell","3Rnd_HE_Grenade_shell","3Rnd_UGL_FlareWhite_F","3Rnd_UGL_FlareGreen_F","3Rnd_UGL_FlareRed_F","3Rnd_UGL_FlareYellow_F","3Rnd_UGL_FlareCIR_F","3Rnd_Smoke_Grenade_shell","3Rnd_SmokeRed_Grenade_shell","3Rnd_SmokeGreen_Grenade_shell","3Rnd_SmokeYellow_Grenade_shell","3Rnd_SmokePurple_Grenade_shell","3Rnd_SmokeBlue_Grenade_shell","3Rnd_SmokeOrange_Grenade_shell","ACE_HuntIR_M203"}; - }; - class Rifle_Base_F; class arifle_MX_Base_F: Rifle_Base_F { class GL_3GL_F: UGL_F { diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index e30ee55c10..017d3e539b 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -159,7 +159,7 @@ if (count GVAR(collectedActionPoints) > 1) then { private _delta = vectorNormalized ((GVAR(collectedActionPoints) select _i select 1) vectorDiff (GVAR(collectedActionPoints) select _j select 1)); // If _i is inside a cone with 20º half angle with origin on _j - if (_delta select 2 > 0.94) exitWith { + if ((_delta select 2 > 0.94) && {((GVAR(collectedActionPoints) select _i select 1) distance2d (GVAR(collectedActionPoints) select _j select 1)) < 0.1}) exitWith { GVAR(collectedActionPoints) deleteAt _i; }; }; diff --git a/addons/javelin/CfgWeapons.hpp b/addons/javelin/CfgWeapons.hpp index 868b77c36c..45c8c5942c 100644 --- a/addons/javelin/CfgWeapons.hpp +++ b/addons/javelin/CfgWeapons.hpp @@ -38,6 +38,9 @@ class CfgWeapons { lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; + class launch_B_Titan_short_tna_F: launch_B_Titan_short_F { + GVAR(enabled) = 1; + }; class launch_I_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; @@ -59,6 +62,9 @@ class CfgWeapons { lockingTargetSound[] = {"",0,1}; lockedTargetSound[] = {"",0,1}; }; + class launch_O_Titan_short_ghex_F: launch_O_Titan_short_F { + GVAR(enabled) = 1; + }; class launch_Titan_short_F: launch_Titan_short_base { GVAR(enabled) = 1; weaponInfoType = "ACE_RscOptics_javelin"; diff --git a/addons/javelin/functions/fnc_cycleFireMode.sqf b/addons/javelin/functions/fnc_cycleFireMode.sqf index d14c0cdee5..50609b3468 100644 --- a/addons/javelin/functions/fnc_cycleFireMode.sqf +++ b/addons/javelin/functions/fnc_cycleFireMode.sqf @@ -2,12 +2,12 @@ #include "script_component.hpp" TRACE_1("enter", _this); -private["_player", "_currentFireMode"]; +private _currentShooter = if (ACE_player call CBA_fnc_canUseWeapon) then {ACE_player} else {vehicle ACE_player}; +private _currentFireMode = _currentShooter getVariable["ace_missileguidance_attackProfile", "JAV_TOP"]; -_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "JAV_TOP"]; if(_currentFireMode == "JAV_DIR") then { _currentFireMode = "JAV_TOP"; } else { _currentFireMode = "JAV_DIR"; }; -ACE_player setVariable["ace_missileguidance_attackProfile", _currentFireMode, false]; +_currentShooter setVariable["ace_missileguidance_attackProfile", _currentFireMode, false]; diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index 20606dc4dd..7d1bf64b33 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -11,7 +11,7 @@ private["_firedEH", "_fov", "_lastTick", "_lockTime", "_maxX", "_maxY", "_minX", private["_offsetX", "_offsetY", "_pos", "_randomLockInterval", "_randomPosWithinBounds", "_range"]; private["_runTime", "_soundTime", "_targetArray", "_zamerny", "_currentShooter"]; -_currentShooter = (vehicle ACE_player); +_currentShooter = if (ACE_player call CBA_fnc_canUseWeapon) then {ACE_player} else {vehicle ACE_player}; #define __OffsetX ((ctrlPosition __JavelinIGUITargetingLineV) select 0) - 0.5 #define __OffsetY ((ctrlPosition __JavelinIGUITargetingLineH) select 1) - 0.5 diff --git a/addons/javelin/functions/fnc_onOpticLoad.sqf b/addons/javelin/functions/fnc_onOpticLoad.sqf index b75f391112..5148ca983f 100644 --- a/addons/javelin/functions/fnc_onOpticLoad.sqf +++ b/addons/javelin/functions/fnc_onOpticLoad.sqf @@ -2,13 +2,15 @@ #include "script_component.hpp" TRACE_1("enter", _this); -#define __LOCKONTIMERANDOM 2 // Deviation in lock on time +#define __LOCKONTIMERANDOM 1 // Deviation in lock on time if((count _this) > 0) then { uiNameSpace setVariable ['ACE_RscOptics_javelin',_this select 0]; }; -ACE_player setVariable ["ace_missileguidance_target",nil, false]; +private _currentShooter = if (ACE_player call CBA_fnc_canUseWeapon) then {ACE_player} else {vehicle ACE_player}; +TRACE_2("shooter",_currentShooter,typeOf _currentShooter); +_currentShooter setVariable ["ace_missileguidance_target", nil, false]; __JavelinIGUISeek ctrlSetTextColor __ColorGray; __JavelinIGUINFOV ctrlSetTextColor __ColorGray; diff --git a/addons/javelin/functions/fnc_showFireMode.sqf b/addons/javelin/functions/fnc_showFireMode.sqf index 5b4f8d7814..95dd038b92 100644 --- a/addons/javelin/functions/fnc_showFireMode.sqf +++ b/addons/javelin/functions/fnc_showFireMode.sqf @@ -2,13 +2,13 @@ #include "script_component.hpp" TRACE_1("enter", _this); -private["_player", "_currentFireMode"]; +private _currentShooter = if (ACE_player call CBA_fnc_canUseWeapon) then {ACE_player} else {vehicle ACE_player}; +private _currentFireMode = _currentShooter getVariable ["ace_missileguidance_attackProfile", "JAV_TOP"]; -_currentFireMode = ACE_player getVariable["ace_missileguidance_attackProfile", "JAV_TOP"]; if(_currentFireMode == "JAV_TOP") then { __JavelinIGUITop ctrlSetTextColor __ColorGreen; __JavelinIGUIDir ctrlSetTextColor __ColorGray; } else { __JavelinIGUITop ctrlSetTextColor __ColorGray; __JavelinIGUIDir ctrlSetTextColor __ColorGreen; -}; \ No newline at end of file +}; diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index c7997dee28..05db6cd146 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -84,6 +84,7 @@ #define TYPE_BACKPACK 901 #ifdef DISABLE_COMPILE_CACHE + #undef PREP #define PREP(fncName) DFUNC(fncName) = compile preprocessFileLineNumbers QPATHTOF(functions\DOUBLES(fnc,fncName).sqf) #else #undef PREP diff --git a/addons/medical/functions/fnc_reviveStateLoop.sqf b/addons/medical/functions/fnc_reviveStateLoop.sqf index bfc55ae6d8..5dcaad09c4 100644 --- a/addons/medical/functions/fnc_reviveStateLoop.sqf +++ b/addons/medical/functions/fnc_reviveStateLoop.sqf @@ -21,13 +21,6 @@ if (!local _unit) exitWith {}; private _startTime = _unit getVariable [QGVAR(reviveStartTime), 0]; -// Remove heartbeat -if (GVAR(level) >= 2) then { - if (_unit getVariable [QGVAR(heartRate), 60] > 0) then { - _unit setVariable [QGVAR(heartRate), 0]; - }; -}; - // If we are in revive state in a blown up vehicle, try to unload so that people can access the body if ((alive _unit) && {(vehicle _unit) != _unit} && {!alive (vehicle _unit)}) then { TRACE_2("Unloading", _unit, vehicle _unit); @@ -52,5 +45,12 @@ if !(_unit getVariable [QGVAR(inReviveState), false]) exitwith { _unit setVariable [QGVAR(reviveStartTime), nil]; }; +// Remove heartbeat +if (GVAR(level) >= 2) then { + if (_unit getVariable [QGVAR(heartRate), 60] > 0) then { + _unit setVariable [QGVAR(heartRate), 0]; + }; +}; + // Schedule the loop to be executed again 1 sec later [DFUNC(reviveStateLoop), [_unit], 1] call CBA_fnc_waitAndExecute; diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index e1e966b793..2a263721de 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -70,12 +70,6 @@ if(isNil "_target") then { }; }; -//ToDo: Add correct configs for new apex titans (in ace_javelin) -if ((isNil "_target") && {(_weapon == "launch_B_Titan_short_tna_F") || {_weapon == "launch_O_Titan_short_ghex_F"}}) then { - ACE_LOGWARNING_1("APEX Launcher [%1] not supported - Wait for ACE 3.6.1",_weapon); - if (!isNull cursorObject) then {_target = cursorObject;}; //Attempt to give some kind of target or it will -}; - TRACE_4("Beginning ACE guidance system",_target,_ammo,_seekerType,_attackProfile); _args = [_this, [_shooter, diff --git a/addons/optionsmenu/gui/aceMenuIcon_ca.paa b/addons/optionsmenu/gui/aceMenuIcon_ca.paa new file mode 100644 index 0000000000..0e3c1853e2 Binary files /dev/null and b/addons/optionsmenu/gui/aceMenuIcon_ca.paa differ diff --git a/addons/optionsmenu/gui/define.hpp b/addons/optionsmenu/gui/define.hpp index c2b1faf9cf..9620bdd7e6 100644 --- a/addons/optionsmenu/gui/define.hpp +++ b/addons/optionsmenu/gui/define.hpp @@ -12,6 +12,11 @@ class RscHTML; class RscText; +class RscControlsGroupNoHScrollbars; +class RscPicture; +class RscButtonMenu; + + #ifndef ACE_DEFINE_H #define ACE_DEFINE_H diff --git a/addons/optionsmenu/gui/pauseMenu.hpp b/addons/optionsmenu/gui/pauseMenu.hpp index 34f368df4a..e3a283d2c7 100644 --- a/addons/optionsmenu/gui/pauseMenu.hpp +++ b/addons/optionsmenu/gui/pauseMenu.hpp @@ -108,62 +108,90 @@ class RscDisplayMain: RscStandardDisplay { idc = 80085; }; - class ACE_news: RscControlsGroupNoScrollbars { - idc = 80086; - x = "safezoneX + safezoneW - (16 *(((safezoneW / safezoneH) min 1.2) / 40))"; - y = "safezoneY + (18.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))"; - w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "4.95 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - class controls { - class ACE_NewsTitle: RscText { - text = CSTRING(aceNews); - colorBackground[] = {(162/255),(28/255),(28/255),0.8}; - idc = -1; - x = "0 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "0 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "15 *(((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - }; - class ACE_VersionInfo: RscText { - idc = 68; - x = "0 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0,0,0,0.5}; - }; - class ACE_NewsBackground: RscText { - idc = -1; - x = "0 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "2.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "5.75 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - colorBackground[] = {0,0,0,0.5}; - }; - class ACE_NewsText: RscHTML { - idc = 69; - x = "0.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - y = "2.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - w = "14 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "2.75 *((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; + class ACE_news_apex: RscControlsGroupNoHScrollbars { + idc = 80090; + x = "safezoneX + safezoneW - 10 * (pixelW * pixelGrid * 2) - (4 * pixelH)"; + y = "safezoneY + safezoneH - (3 * 2 + 1) * (pixelH * pixelGrid * 2) - 3 * (4 * pixelH)"; + w = "10 * (pixelW * pixelGrid * 2)"; + h = "2 * (pixelH * pixelGrid * 2)"; + class Controls { + class Background: RscPicture { + idc = 80091; + text = "\a3\Ui_f\data\GUI\Rsc\RscDisplayMain\gradientMods_ca.paa"; + colorText[] = {0,0,0,0.75}; + x = "(10 - 4 * 2) * (pixelW * pixelGrid * 2)"; + y = 0; + w = "4 * 2 * (pixelW * pixelGrid * 2)"; + h = "2 * (pixelH * pixelGrid * 2)"; + angle = 180; + }; + class BackgroundIcon: RscPicture { + idc = 80092; + text = "\a3\Ui_f\data\GUI\Rsc\RscDisplayMain\backgroundModsIcon_ca.paa"; + colorText[] = {0,0,0,0.75}; + x = "(10 - 2 * 2) * (pixelW * pixelGrid * 2)"; + y = 0; + w = "2 * 2 * (pixelW * pixelGrid * 2)"; + h = "2 * (pixelH * pixelGrid * 2)"; + angle = 180; + }; + class Icon: RscPicture { + idc = 80093; + text = QPATHTOF(gui\aceMenuIcon_ca.paa); + colorText[] = {1,1,1,0.5}; + x = "(10 - 2) * (pixelW * pixelGrid * 2)"; + y = 0; + w = "2 * (pixelW * pixelGrid * 2)"; + h = "2 * (pixelH * pixelGrid * 2)"; + }; + class CurrentVersionInfo: RscText { + idc = 80094; + style = 1; + text = ""; + sizeEx = "(pixelH * pixelGrid * 1.5)"; + font = "RobotoCondensedLight"; + shadow = 1; + colorBackground[] = {0,0,0,0}; + x = 0; + y = 0; + w = "(10 - 1.25 * 2) * (pixelW * pixelGrid * 2)"; + h = "2 * (pixelH * pixelGrid * 1)"; + onLoad = "(_this select 0) ctrlenable false;"; + }; + class HTTPVersionInfo: RscHTML { + idc = 80095; shadow = 0; class H1 { - font = "RobotoCondensed"; + sizeEx = "(pixelH * pixelGrid * 1.5)"; + font = "RobotoCondensedLight"; fontBold = "RobotoCondensedLight"; - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)"; + align = "right"; }; class H2: H1 { - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)"; - font = "RobotoCondensedLight"; + sizeEx = "(pixelH * pixelGrid * 1.5)"; }; class P: H1 { - sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - fontBold = "RobotoCondensedLight"; + sizeEx = "(pixelH * pixelGrid * 1.5)"; }; - colorBold[] = {0.6,0.6,0.6,1}; - colorLink[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])",1}; - colorLinkActive[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])",1}; + x = 0; + y = "2 * (pixelH * pixelGrid * 1)"; + w = "(10 - 1.25 * 2) * (pixelW * pixelGrid * 2)"; + h = "2 * (pixelH * pixelGrid * 1)"; + onLoad = "(_this select 0) ctrlenable false;"; + }; + class Button: RscButtonMenu { + idc = 80096; + colorBackground[] = {0,0,0,0}; + colorBackgroundFocused[] = {0,0,0,0}; + colorBackground2[] = {0,0,0,0}; + x = 0; + y = 0; + w = "10 * (pixelW * pixelGrid * 2)"; + h = "2 * (pixelH * pixelGrid * 2)"; + + tooltip = "Download latest and report issues:"; + url = "https://github.com/acemod/ACE3"; }; }; }; diff --git a/addons/optionsmenu/init_loadMainMenuBox.sqf b/addons/optionsmenu/init_loadMainMenuBox.sqf index 9c556e5128..a9b8f5a02a 100644 --- a/addons/optionsmenu/init_loadMainMenuBox.sqf +++ b/addons/optionsmenu/init_loadMainMenuBox.sqf @@ -15,17 +15,18 @@ */ #include "script_component.hpp" -if (missionNamespace getVariable [QGVAR(newsLoaded), false]) exitWith {}; -GVAR(newsLoaded) = true; - //Need to load from profileNamespace because ace_settings might not be init if world = empty if (profileNamespace getVariable [QGVAR(showNewsOnMainMenu), true]) then { - ((_this select 0) displayCtrl 80086) ctrlShow true; + ((_this select 0) displayCtrl 80090) ctrlShow true; - private ["_version"]; - _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); - ((_this select 0) displayCtrl 68) ctrlSetText format ["Installed Version: %1", _version]; - ((_this select 0) displayCtrl 69) htmlLoad "http://ace3mod.com/version.html"; + private _ace3VersionStr = (getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr")) select [0,5]; + ((_this select 0) displayCtrl 80094) ctrlSetText format ["Version: %1", _ace3VersionStr]; + ((_this select 0) displayCtrl 80095) htmlLoad "http://ace3mod.com/version.html"; } else { - ((_this select 0) displayCtrl 80086) ctrlShow false; + ((_this select 0) displayCtrl 80090) ctrlShow false; }; + +/* +Note: switch version.html to simpler format and right align +

Latest: {{site.ace.version.major}}.{{site.ace.version.minor}}.{{site.ace.version.patch}}

+*/ diff --git a/addons/overheating/CfgWeapons.hpp b/addons/overheating/CfgWeapons.hpp index 12cfe6e498..c7a83eec6e 100644 --- a/addons/overheating/CfgWeapons.hpp +++ b/addons/overheating/CfgWeapons.hpp @@ -2,17 +2,6 @@ class CfgWeapons { class ACE_ItemCore; class InventoryItem_Base_F; - class ACE_SpareBarrel: ACE_ItemCore { - displayname = CSTRING(SpareBarrelName); - descriptionshort = CSTRING(SpareBarrelDescription); - //model = ""; - picture = QPATHTOF(UI\spare_barrel_ca.paa); - scope = 2; - class ItemInfo: InventoryItem_Base_F { - mass = 30; - }; - }; - class RifleCore; class Rifle: RifleCore { //Mean Rounds Between Stoppages (this will be scaled based on the barrel temp) diff --git a/addons/overheating/XEH_preInit.sqf b/addons/overheating/XEH_preInit.sqf index cdd1fa78dd..a7feade1c3 100644 --- a/addons/overheating/XEH_preInit.sqf +++ b/addons/overheating/XEH_preInit.sqf @@ -4,16 +4,4 @@ ADDON = false; #include "XEH_PREP.hpp" -if (isNil "CBA_fnc_getMagazineIndex") then { - CBA_fnc_getMagazineIndex = { - params [["_unit", objNull, [objNull]], ["_magazine", "", [""]]]; - - private _displayName = getText (configFile >> "CfgMagazines" >> _magazine >> "displayName"); - - if (_displayName isEqualTo "") exitWith {[]}; - - (magazinesDetail _unit select {_x find _displayName == 0}) apply {_x = _x splitString "[:]"; _x select (count _x - 1)}; - }; -}; - ADDON = true; diff --git a/addons/overheating/functions/fnc_displayTemperature.sqf b/addons/overheating/functions/fnc_displayTemperature.sqf index b2b8d2b4c0..e829b61f57 100644 --- a/addons/overheating/functions/fnc_displayTemperature.sqf +++ b/addons/overheating/functions/fnc_displayTemperature.sqf @@ -3,7 +3,7 @@ * Displays the weapon temperature * * Arguments: - * 0: Player + * 0: Unit * 1: Weapon * * Return Values: @@ -16,11 +16,13 @@ */ #include "script_component.hpp" -params ["_player", "_weapon"]; -TRACE_2("params",_player,_weapon); +params ["_unit", "_weapon"]; +TRACE_2("params",_unit,_weapon); + +// Get unit's weapon's temperature: +private _tempVarName = format [QGVAR(%1_temp), _weapon]; +private _temperature = _unit getVariable [_tempVarName, 0]; -// Calculate cool down of weapon since last shot -private _temperature = [_player, _weapon, 0] call FUNC(updateTemperature); private _scaledTemperature = (_temperature / 1000) min 1; private _color = [ @@ -41,6 +43,8 @@ for "_a" from (_count + 1) to 12 do { _string = _string + "|"; }; +TRACE_3("",_temperature,_color,_string); + _text = composeText [_text, [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredText)]; private _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); diff --git a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf index d6a9ccfe37..5f0b3ae3a9 100644 --- a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf +++ b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf @@ -50,4 +50,4 @@ _gunner setVariable [format [QGVAR(%1_temp), _weapon], _coolestTemp, true]; [GVAR(storedSpareBarrels), _coolestMag, [_weaponTemp, CBA_missionTime, _barrelMass]] call CBA_fnc_hashSet; // Send an event so the machines of the assistant and gunner can show the hint -[QGVAR(showWeaponTemperature), _gunner], [_gunner, _weapon], [_assistant] call CBA_fnc_targetEvent; +[QGVAR(showWeaponTemperature), [_gunner, _weapon], [_assistant, _gunner]] call CBA_fnc_targetEvent; diff --git a/addons/refuel/CfgVehicles.hpp b/addons/refuel/CfgVehicles.hpp index 6774140cc7..dd7499a69a 100644 --- a/addons/refuel/CfgVehicles.hpp +++ b/addons/refuel/CfgVehicles.hpp @@ -52,21 +52,13 @@ #define MACRO_CONNECT_ACTIONS \ class ACE_Actions { \ class ACE_MainActions { \ - class GVAR(Refuel) { \ - displayName = CSTRING(Refuel); \ + class GVAR(Connect) { \ + displayName = CSTRING(Connect); \ distance = REFUEL_ACTION_DISTANCE; \ - condition = "true"; \ - statement = ""; \ - showDisabled = 0; \ - priority = 2; \ + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canConnectNozzle)); \ + statement = QUOTE([ARR_2(_player,_target)] call DFUNC(connectNozzle)); \ 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 = QPATHTOF(ui\icon_refuel_interact.paa); \ - }; \ + exceptions[] = {"isNotInside"}; \ }; \ }; \ }; @@ -76,6 +68,7 @@ class ACE_MainActions { \ displayName = CSTRING(Refuel); \ distance = REFUEL_ACTION_DISTANCE; \ + position = "[0,-0.025,0.125]"; \ condition = "true"; \ statement = ""; \ showDisabled = 0; \ @@ -319,12 +312,17 @@ class CfgVehicles { }; class Van_01_fuel_base_F: Van_01_base_F { - transportFuel = 0; //1k MACRO_REFUEL_ACTIONS GVAR(hooks)[] = {{0.38,-3.17,-.7},{-0.41,-3.17,-.7}}; GVAR(fuelCargo) = 2000; }; - + class C_Van_01_fuel_F: Van_01_fuel_base_F { + transportFuel = 0; //1k + }; + class I_G_Van_01_fuel_F: Van_01_fuel_base_F { + transportFuel = 0; //1k + }; + class Tank_F: Tank { GVAR(fuelCapacity) = 1200; }; diff --git a/addons/refuel/XEH_postInit.sqf b/addons/refuel/XEH_postInit.sqf index 8c28464287..89a1f3dc45 100644 --- a/addons/refuel/XEH_postInit.sqf +++ b/addons/refuel/XEH_postInit.sqf @@ -9,3 +9,16 @@ if (isServer) then { [QGVAR(resetLocal), { _this call FUNC(resetLocal); }] call CBA_fnc_addEventHandler; + + +#ifdef DEBUG_MODE_FULL +diag_log text format ["[ACE-refuel] Showing CfgVehicles with vanilla transportFuel"]; +private _fuelTrucks = configProperties [configFile >> "CfgVehicles", "(isClass _x) && {(getNumber (_x >> 'transportFuel')) > 0}", true]; +{ + if ((configName _x) isKindOf "Car") then { + diag_log text format ["Car [%1] needs config [fuel: %2]", configName _x, getNumber (_x >> 'transportFuel')]; + } else { + diag_log text format ["Non-car? [%1] needs config [fuel: %2]", configName _x, getNumber (_x >> 'transportFuel')]; + }; +} forEach _fuelTrucks; +#endif diff --git a/addons/reload/ACE_UI.hpp b/addons/reload/ACE_UI.hpp index 6dae3e5147..8164d04b17 100644 --- a/addons/reload/ACE_UI.hpp +++ b/addons/reload/ACE_UI.hpp @@ -1,7 +1,7 @@ class ACE_UI { class ammoCount { class conditions { - ADDON = "false"; + ADDON = "(false)"; }; }; }; diff --git a/addons/repair/config.cpp b/addons/repair/config.cpp index dab412eb93..71a990ea73 100644 --- a/addons/repair/config.cpp +++ b/addons/repair/config.cpp @@ -25,5 +25,5 @@ class ACE_newEvents { setWheelHitPointDamage = QGVAR(setWheelHitPointDamage); setVehicleHitPointDamage = QGVAR(setVehicleHitPointDamage); setVehicleDamage = QGVAR(setVehicleDamage); - AddCargoByClass = "ace_addCargoByClass"; + AddCargoByClass = "ace_addCargo"; }; diff --git a/addons/repair/functions/fnc_addSpareParts.sqf b/addons/repair/functions/fnc_addSpareParts.sqf index 2d133da3c1..971abb571a 100644 --- a/addons/repair/functions/fnc_addSpareParts.sqf +++ b/addons/repair/functions/fnc_addSpareParts.sqf @@ -33,4 +33,4 @@ if (!EGVAR(common,settingsInitFinished)) exitWith { if (!_force && !GVAR(addSpareParts)) exitWith {}; // Load -["ace_addCargoByClass", [_part, _vehicle, _amount]] call CBA_fnc_localEvent; +["ace_addCargo", [_part, _vehicle, _amount]] call CBA_fnc_localEvent; diff --git a/addons/smallarms/CfgWeapons.hpp b/addons/smallarms/CfgWeapons.hpp index 75d8ee6538..1cb7979d5b 100644 --- a/addons/smallarms/CfgWeapons.hpp +++ b/addons/smallarms/CfgWeapons.hpp @@ -1,49 +1,10 @@ class Mode_SemiAuto; class Mode_Burst; class Mode_FullAuto; -class MuzzleSlot; - -// config inheritance of weapon slot info v1.32 -class SlotInfo; -class CowsSlot: SlotInfo {}; -class PointerSlot: SlotInfo { - //compatibleItems[] = {"acc_flashlight","acc_pointer_IR", "ACE_acc_flashlight_tls"}; -}; class CfgWeapons { - - // config inheritance of weapon slot info v1.32 for launchers - class Launcher; - class Launcher_Base_F: Launcher { - class WeaponSlotsInfo {}; - }; - - // config inheritance of weapon slot info v1.32 for assault rifles - class RifleCore; - class Rifle: RifleCore { - class WeaponSlotsInfo { - class MuzzleSlot: MuzzleSlot {}; - class CowsSlot: CowsSlot {}; - class PointerSlot: PointerSlot {}; - }; - }; - class Rifle_Base_F: Rifle {}; - class Rifle_Long_Base_F: Rifle_Base_F { - class WeaponSlotsInfo: WeaponSlotsInfo {}; - }; - - // config inheritance of weapon slot info v1.32 for handguns - class PistolCore; - class Pistol: PistolCore { - class WeaponSlotsInfo { - class CowsSlot: SlotInfo {}; - }; - }; - class Pistol_Base_F: Pistol { - class WeaponSlotsInfo: WeaponSlotsInfo { - class MuzzleSlot: SlotInfo {}; - }; - }; + class Rifle_Base_F; + class Rifle_Long_Base_F; /////////////////////////////////////////////////////////////////////////////// //////////// SMALL ARMS WEAPONS /////////////////////////////////////////////// diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index f86b9d16c7..84ce5f177f 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -70,8 +70,8 @@ class CfgVehicles { model = QPATHTOF(data\ace_spottingscope.p3d); mapSize = 0.5; transportSoldier = 0; - getInAction = "GetInLow"; - getOutAction = "GetOutLow"; + getInAction = "PlayerProne"; + getOutAction = "PlayerProne"; editorSubcategory = "EdSubcat_Turrets"; class Turrets: Turrets { @@ -115,8 +115,8 @@ class CfgVehicles { gunnerOutOpticsShowCursor = 0; gunnerOpticsShowCursor = 0; gunnerAction = "ACE_SpottingScope"; - gunnerGetInAction = "GetInLow"; - gunnerGetOutAction = "GetOutLow"; + gunnerGetInAction = "PlayerProne"; + gunnerGetOutAction = "PlayerProne"; gunnerForceOptics = 0; ejectDeadGunner = 0; turretInfoType = QGVAR(RscUnitInfo); diff --git a/addons/spottingscope/data/ace_spottingscope.p3d b/addons/spottingscope/data/ace_spottingscope.p3d index 0afe9952cf..969d0b37f5 100644 Binary files a/addons/spottingscope/data/ace_spottingscope.p3d and b/addons/spottingscope/data/ace_spottingscope.p3d differ diff --git a/addons/ui/ACE_Settings.hpp b/addons/ui/ACE_Settings.hpp index e6c3e5e496..c02d5be2b6 100644 --- a/addons/ui/ACE_Settings.hpp +++ b/addons/ui/ACE_Settings.hpp @@ -83,7 +83,7 @@ class ACE_Settings { displayName = CSTRING(AmmoCount); description = CSTRING(RequiresSoldierVehicleWeaponInfo); typeName = "BOOL"; - value = 1; + value = 0; isClientSettable = 1; }; class GVAR(magCount) { diff --git a/addons/ui/CfgVehicles.hpp b/addons/ui/CfgVehicles.hpp index 0b1cc9b2a9..563cf22ce1 100644 --- a/addons/ui/CfgVehicles.hpp +++ b/addons/ui/CfgVehicles.hpp @@ -73,7 +73,7 @@ class CfgVehicles { displayName = CSTRING(AmmoCount); description = CSTRING(RequiresSoldierVehicleWeaponInfo); typeName = "BOOL"; - defaultValue = 1; + defaultValue = 0; }; class magCount { displayName = CSTRING(MagCount); diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 3ec87b637c..4c9a831fd0 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -58,5 +58,5 @@ class ACE_newEvents { zeusUnitAssigned = QGVAR(zeusUnitAssigned); SetSurrendered = QEGVAR(captives,setSurrendered); SetHandcuffed = QEGVAR(captives,setHandcuffed); - AddCargoByClass = "ace_addCargoByClass"; + AddCargoByClass = "ace_addCargo"; }; diff --git a/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf b/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf index 492914eb1c..2926fafcf9 100644 --- a/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf +++ b/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf @@ -32,7 +32,7 @@ if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(c if (getNumber (configFile >> "CfgVehicles" >> "ACE_Track" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then { [LSTRING(OnlyEnoughCargoSpace)] call EFUNC(common,displayTextStructured); } else { - ["ace_addCargoByClass", ["ACE_Track", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; + ["ace_addCargo", ["ACE_Track", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf b/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf index 105acb2b83..2c051c94b6 100644 --- a/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf +++ b/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf @@ -32,7 +32,7 @@ if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(c if (getNumber (configFile >> "CfgVehicles" >> "ACE_Wheel" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then { [LSTRING(OnlyEnoughCargoSpace)] call EFUNC(common,displayTextStructured); } else { - ["ace_addCargoByClass", ["ACE_Wheel", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; + ["ace_addCargo", ["ACE_Wheel", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; }; }; };