From 6c529d013c43bf287fc2187791593dd6743e59e1 Mon Sep 17 00:00:00 2001
From: mrschick <58027418+mrschick@users.noreply.github.com>
Date: Wed, 9 Jul 2025 16:13:06 +0200
Subject: [PATCH 1/5] Hide Spike Base Weapon from ACE Arsenal
---
addons/spike/CfgWeapons.hpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/addons/spike/CfgWeapons.hpp b/addons/spike/CfgWeapons.hpp
index 89f658ee82c..61dbe01b7a5 100644
--- a/addons/spike/CfgWeapons.hpp
+++ b/addons/spike/CfgWeapons.hpp
@@ -4,11 +4,14 @@ class CfgWeapons {
class Single;
};
class GVAR(base): launch_B_Titan_short_F {
+ EGVAR(arsenal,hide) = 1;
class Single: Single {
EGVAR(missileGuidance,attackProfile) = "SPIKE_TOP";
};
};
+
class GVAR(launcher): GVAR(base) {
+ EGVAR(arsenal,hide) = 0;
scope = 2;
GVAR(enabled) = 1;
weaponInfoType = "ACE_RscOptics_spike";
From 44c4627e33de9ed8ad8aa5b5f2e61d35692b7005 Mon Sep 17 00:00:00 2001
From: mrschick <58027418+mrschick@users.noreply.github.com>
Date: Wed, 9 Jul 2025 16:13:54 +0200
Subject: [PATCH 2/5] Add Olive Spike Variant
---
addons/spike/CfgWeapons.hpp | 7 +++++++
addons/spike/XEH_postInit.sqf | 2 ++
addons/spike/functions/fnc_keyDown.sqf | 3 ++-
addons/spike/stringtable.xml | 3 +++
4 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/addons/spike/CfgWeapons.hpp b/addons/spike/CfgWeapons.hpp
index 61dbe01b7a5..caadf1382f5 100644
--- a/addons/spike/CfgWeapons.hpp
+++ b/addons/spike/CfgWeapons.hpp
@@ -28,5 +28,12 @@ class CfgWeapons {
magazines[] = {QGVAR(lr)};
magazineWell[] = {};
};
+
+ class GVAR(launcher_olive): GVAR(launcher) {
+ displayName = CSTRING(LR_olive);
+ displayNameShort = CSTRING(LR_Short_olive);
+ hiddenSelectionsTextures[] = {"A3\Weapons_F_Beta\Launchers\Titan\Data\Launcher_INDP_CO.paa","A3\Weapons_F_Beta\Launchers\Titan\Data\TubeM_INDP_CO.paa"};
+ picture = "\A3\Weapons_F_Beta\Launchers\Titan\Data\UI\icon_launch_I_Titan_short_F_ca.paa";
+ };
};
diff --git a/addons/spike/XEH_postInit.sqf b/addons/spike/XEH_postInit.sqf
index ae629ec91ba..124d711ff7e 100644
--- a/addons/spike/XEH_postInit.sqf
+++ b/addons/spike/XEH_postInit.sqf
@@ -20,4 +20,6 @@ if (hasInterface) then {
GVAR(activeCamera) = objNull;
GVAR(projectileHashMap) = createHashMap; // used in the seeker to get the namespace for the associated projectile
+
+ GVAR(launcherWeapons) = createHashMapFromArray [[QGVAR(launcher), true], [QGVAR(launcher_olive), true]]; // Used to quickly determine whether the current weapon is a Spike launcher
};
diff --git a/addons/spike/functions/fnc_keyDown.sqf b/addons/spike/functions/fnc_keyDown.sqf
index 71fb65654f2..cd112061353 100644
--- a/addons/spike/functions/fnc_keyDown.sqf
+++ b/addons/spike/functions/fnc_keyDown.sqf
@@ -15,7 +15,8 @@
*
* Public: No
*/
-if ((currentWeapon ACE_player) != QGVAR(launcher)) exitWith {};
+
+if !((currentWeapon player) in GVAR(launcherWeapons)) exitWith {};
params ["_key", "_down"];
diff --git a/addons/spike/stringtable.xml b/addons/spike/stringtable.xml
index 6de1a8835b7..35e079064d7 100644
--- a/addons/spike/stringtable.xml
+++ b/addons/spike/stringtable.xml
@@ -15,6 +15,9 @@
스파이크 LR
スパイク LR
+
+ Spike LR (olive)
+
LR
LR
From 764e64dd97a9bebbfb979fc2d6cf49119cbf3c0f Mon Sep 17 00:00:00 2001
From: mrschick <58027418+mrschick@users.noreply.github.com>
Date: Thu, 10 Jul 2025 19:53:56 +0200
Subject: [PATCH 3/5] Also hide base weapon from vanilla arsenal
---
addons/spike/CfgWeapons.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/addons/spike/CfgWeapons.hpp b/addons/spike/CfgWeapons.hpp
index caadf1382f5..7bbae934550 100644
--- a/addons/spike/CfgWeapons.hpp
+++ b/addons/spike/CfgWeapons.hpp
@@ -5,6 +5,7 @@ class CfgWeapons {
};
class GVAR(base): launch_B_Titan_short_F {
EGVAR(arsenal,hide) = 1;
+ scope = 0;
class Single: Single {
EGVAR(missileGuidance,attackProfile) = "SPIKE_TOP";
};
From fd3e36ab249931c151ce90955f7abc7a3e2d5a9b Mon Sep 17 00:00:00 2001
From: PabstMirror
Date: Fri, 11 Jul 2025 13:45:08 -0500
Subject: [PATCH 4/5] Use config for enabled check
---
addons/spike/CfgWeapons.hpp | 5 ++---
addons/spike/XEH_postInit.sqf | 3 +--
addons/spike/functions/fnc_keyDown.sqf | 6 +++++-
addons/spike/stringtable.xml | 6 +++++-
4 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/addons/spike/CfgWeapons.hpp b/addons/spike/CfgWeapons.hpp
index 7bbae934550..a4ad8c40f69 100644
--- a/addons/spike/CfgWeapons.hpp
+++ b/addons/spike/CfgWeapons.hpp
@@ -4,15 +4,13 @@ class CfgWeapons {
class Single;
};
class GVAR(base): launch_B_Titan_short_F {
- EGVAR(arsenal,hide) = 1;
- scope = 0;
+ scope = 1;
class Single: Single {
EGVAR(missileGuidance,attackProfile) = "SPIKE_TOP";
};
};
class GVAR(launcher): GVAR(base) {
- EGVAR(arsenal,hide) = 0;
scope = 2;
GVAR(enabled) = 1;
weaponInfoType = "ACE_RscOptics_spike";
@@ -31,6 +29,7 @@ class CfgWeapons {
};
class GVAR(launcher_olive): GVAR(launcher) {
+ GVAR(enabled) = 1;
displayName = CSTRING(LR_olive);
displayNameShort = CSTRING(LR_Short_olive);
hiddenSelectionsTextures[] = {"A3\Weapons_F_Beta\Launchers\Titan\Data\Launcher_INDP_CO.paa","A3\Weapons_F_Beta\Launchers\Titan\Data\TubeM_INDP_CO.paa"};
diff --git a/addons/spike/XEH_postInit.sqf b/addons/spike/XEH_postInit.sqf
index 124d711ff7e..be0a83d083e 100644
--- a/addons/spike/XEH_postInit.sqf
+++ b/addons/spike/XEH_postInit.sqf
@@ -20,6 +20,5 @@ if (hasInterface) then {
GVAR(activeCamera) = objNull;
GVAR(projectileHashMap) = createHashMap; // used in the seeker to get the namespace for the associated projectile
-
- GVAR(launcherWeapons) = createHashMapFromArray [[QGVAR(launcher), true], [QGVAR(launcher_olive), true]]; // Used to quickly determine whether the current weapon is a Spike launcher
+ GVAR(launcherWeapons) = createHashMap; // Used to quickly determine whether the current weapon is a Spike launcher
};
diff --git a/addons/spike/functions/fnc_keyDown.sqf b/addons/spike/functions/fnc_keyDown.sqf
index cd112061353..a771d38ac66 100644
--- a/addons/spike/functions/fnc_keyDown.sqf
+++ b/addons/spike/functions/fnc_keyDown.sqf
@@ -16,7 +16,11 @@
* Public: No
*/
-if !((currentWeapon player) in GVAR(launcherWeapons)) exitWith {};
+private _currentWeapon = currentWeapon ACE_player;
+if !(GVAR(launcherWeapons) getOrDefaultCall [_currentWeapon, {
+ private _weaponConfig = configProperties [configFile >> "CfgWeapons" >> _currentWeapon, QUOTE(configName _x == QUOTE(QGVAR(enabled))), false];
+ (_weaponConfig isNotEqualTo []) && {(getNumber (_weaponConfig select 0)) == 1}
+}, true]) exitWith {};
params ["_key", "_down"];
diff --git a/addons/spike/stringtable.xml b/addons/spike/stringtable.xml
index 35e079064d7..1a9e4e62ea2 100644
--- a/addons/spike/stringtable.xml
+++ b/addons/spike/stringtable.xml
@@ -16,7 +16,11 @@
スパイク LR
- Spike LR (olive)
+ Spike LR (Olive)
+ Spike LR (Olive)
+ Spike LR (олива)
+ 스파이크 LR (올리브)
+ スパイク LR (オリーブ)
LR
From ead24a3a5f8f8c0396d9fb9ec5e8117df6a1caab Mon Sep 17 00:00:00 2001
From: PabstMirror
Date: Fri, 11 Jul 2025 13:47:37 -0500
Subject: [PATCH 5/5] rem short
---
addons/spike/CfgWeapons.hpp | 1 -
addons/spike/stringtable.xml | 14 +++++++-------
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/addons/spike/CfgWeapons.hpp b/addons/spike/CfgWeapons.hpp
index a4ad8c40f69..b360c54f600 100644
--- a/addons/spike/CfgWeapons.hpp
+++ b/addons/spike/CfgWeapons.hpp
@@ -31,7 +31,6 @@ class CfgWeapons {
class GVAR(launcher_olive): GVAR(launcher) {
GVAR(enabled) = 1;
displayName = CSTRING(LR_olive);
- displayNameShort = CSTRING(LR_Short_olive);
hiddenSelectionsTextures[] = {"A3\Weapons_F_Beta\Launchers\Titan\Data\Launcher_INDP_CO.paa","A3\Weapons_F_Beta\Launchers\Titan\Data\TubeM_INDP_CO.paa"};
picture = "\A3\Weapons_F_Beta\Launchers\Titan\Data\UI\icon_launch_I_Titan_short_F_ca.paa";
};
diff --git a/addons/spike/stringtable.xml b/addons/spike/stringtable.xml
index 1a9e4e62ea2..20bdfc23a2f 100644
--- a/addons/spike/stringtable.xml
+++ b/addons/spike/stringtable.xml
@@ -15,13 +15,6 @@
스파이크 LR
スパイク LR
-
- Spike LR (Olive)
- Spike LR (Olive)
- Spike LR (олива)
- 스파이크 LR (올리브)
- スパイク LR (オリーブ)
-
LR
LR
@@ -29,6 +22,13 @@
LR
LR
+
+ Spike LR (Olive)
+ Spike LR (Olive)
+ Spike LR (олива)
+ 스파이크 LR (올리브)
+ スパイク LR (オリーブ)
+
Leave Camera
Quitter l'appareil