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