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