From a28e3e8230dc76836c531201d3cd32e63ae7e78c Mon Sep 17 00:00:00 2001 From: 10Dozen Date: Tue, 21 Apr 2020 00:10:59 +0300 Subject: [PATCH 1/5] v2.7 initial Added German and Portuguese translations, Fixed handgun unjam via ace, Fixed no jam after respawn --- Source/Script/Functions.sqf | 2 + Source/Script/Init.sqf | 40 +- Source/Script/Settings.sqf | 2 +- Source/Script/config.cpp | 2 +- Source/Script/functions/fnc_firedEH.sqf | 9 +- .../Script/functions/fnc_getClassFamily.sqf | 2 +- Source/Script/functions/fnc_initPlayer.sqf | 45 ++ .../functions/fnc_processWeaponFixed.sqf | 40 +- Source/Script/functions/fnc_setJammed.sqf | 2 +- Source/Script/functions/fnc_setUnjammed.sqf | 60 ++ Source/Script/stringtable.xml | 622 +++++++++++------- readme.md | 6 + 12 files changed, 547 insertions(+), 285 deletions(-) create mode 100644 Source/Script/functions/fnc_initPlayer.sqf create mode 100644 Source/Script/functions/fnc_setUnjammed.sqf diff --git a/Source/Script/Functions.sqf b/Source/Script/Functions.sqf index cd30ae0..d281c8b 100644 --- a/Source/Script/Functions.sqf +++ b/Source/Script/Functions.sqf @@ -1,11 +1,13 @@ #include "macro.hpp" +COMPILE_FUNCTION(fnc_initPlayer); COMPILE_FUNCTION(fnc_firedEH); COMPILE_FUNCTION(fnc_getMappingData); COMPILE_FUNCTION(fnc_processMappingData); COMPILE_FUNCTION(fnc_checkJammed); COMPILE_FUNCTION(fnc_setJammed); +COMPILE_FUNCTION(fnc_setUnjammed); COMPILE_FUNCTION(fnc_getJamCause); COMPILE_FUNCTION(fnc_setWeaponState); diff --git a/Source/Script/Init.sqf b/Source/Script/Init.sqf index 52d5ad7..b857b39 100644 --- a/Source/Script/Init.sqf +++ b/Source/Script/Init.sqf @@ -7,6 +7,14 @@ call compile preprocessFileLineNumbers format ["%1\Settings.sqf", PATH]; // Exit at dedicated or headless client if (!hasInterface) exitWith {}; + +player addEventHandler ["Respawn", { + params ["_unit", "_corpse"]; + call GVAR(fnc_initPlayer); + + hint "Initialized after Respawn!"; +}]; + // Init main [] spawn { waitUntil { !isNull player && local player }; // Handle 3DEN and/or specator @@ -14,6 +22,7 @@ if (!hasInterface) exitWith {}; GVAR(ClassFamiliesCache) = call CBA_fnc_createNamespace; GVAR(ConfigData) = call CBA_fnc_createNamespace; + GVAR(ACEUnjamFailChance) = 0.1; if (missionNamespace getVariable ["ace_overheating_enabled",false]) then { // Wait ACE init @@ -22,6 +31,8 @@ if (!hasInterface) exitWith {}; && !isNil "ace_overheating_cacheSilencerData" }; + GVAR(ACEUnjamFailChance) = ace_overheating_unJamFailChance; + // Update ACE Overheating data with custom mapping call GVAR(fnc_processMappingData); @@ -32,14 +43,10 @@ if (!hasInterface) exitWith {}; if (_this select 1 != primaryWeapon player) exitWith {}; call GVAR(fnc_setJammed); } - ] call CBA_fnc_addEventHandler; + ] call CBA_fnc_addEventHandler; }; - if (!(missionNamespace getVariable ["ace_overheating_enabled",false]) || GVAR(ForceOverallChance)) then { - - // Run EJAM's FiredEH if ACE Overheating disabled OR EJAM Jam chance forced - GVAR(FiredEH) = player addEventHandler ["Fired", { call GVAR(fnc_firedEH) }]; - }; + [] call GVAR(fnc_initPlayer); // Add ACE Self-Interecation action if ACE Interaction is running if (!isNil "ace_interact_menu_fnc_createAction") exitWith { @@ -56,22 +63,23 @@ if (!hasInterface) exitWith {}; , ["ACE_SelfActions", "ACE_Equipment"] , GVAR(ACE_InspectActionClass) ] call ace_interact_menu_fnc_addActionToClass; - - // Loop to handle gun icon change + + // Loop to handle gun icon change GVAR(CurrentWeapon) = primaryWeapon player; - while { true } do { - sleep 2; - if (GVAR(CurrentWeapon) != primaryWeapon player && primaryWeapon player != "") then { - GVAR(CurrentWeapon) = primaryWeapon player; - GVAR(ACE_InspectActionClass) set [2, getText(configFile >> "CfgWeapons" >> GVAR(CurrentWeapon) >> "picture")]; + GVAR(UnjamChanceOverridePFH) = [{ + if (!alive player) exitWith {}; + private _pw = primaryWeapon player; + if (_pw != "" && GVAR(CurrentWeapon) != _pw) then { + GVAR(CurrentWeapon) = _pw; + GVAR(ACE_InspectActionClass) set [2, getText(configFile >> "CfgWeapons" >> _pw >> "picture")]; // Cache weapon family - GVAR(CurrentWeapon) spawn dzn_EJAM_fnc_getClassFamily + _pw spawn GVAR(fnc_getClassFamily); }; if (GVAR(Force)) then { - ace_overheating_unJamFailChance = 1; + ace_overheating_unJamFailChance = [GVAR(ACEUnjamFailChance), 1] select (currentWeapon player == _pw); }; - }; + }] call CBA_fnc_addPerFrameHandler; }; }; diff --git a/Source/Script/Settings.sqf b/Source/Script/Settings.sqf index 6b1d166..6d2cab5 100644 --- a/Source/Script/Settings.sqf +++ b/Source/Script/Settings.sqf @@ -90,7 +90,7 @@ private _addLocal = { [ "SubsonicJamEffectSetting" , "EDITBOX" - , "20" + , "0.05" , { GVAR(SubsonicJamEffect) = parseNumber _this; } diff --git a/Source/Script/config.cpp b/Source/Script/config.cpp index 59f8adf..749cadb 100644 --- a/Source/Script/config.cpp +++ b/Source/Script/config.cpp @@ -7,7 +7,7 @@ class CfgPatches requiredVersion = 0.1; requiredAddons[] = {"CBA_MAIN"}; author[] = {"10Dozen"}; - version = "2.6"; + version = "2.7"; }; }; diff --git a/Source/Script/functions/fnc_firedEH.sqf b/Source/Script/functions/fnc_firedEH.sqf index 2be2944..83acdc8 100644 --- a/Source/Script/functions/fnc_firedEH.sqf +++ b/Source/Script/functions/fnc_firedEH.sqf @@ -24,12 +24,11 @@ Author: params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_gunner"]; private _gun = primaryWeapon player; - if ( _weapon != _gun || {_muzzle != _gun} || "inspect" call GVAR(fnc_checkJammed) ) exitWith { // Exit if fired not a main muzzle (e.g. UGL) OR weapon already jammed }; -// Get jam chacne (from config or overall) +// Get jam chance (from config or overall) private _lastFiredGunData = player getVariable [SVAR(FiredLastGunData), []]; private _jamChance = 0; if (_lastFiredGunData isEqualTo [] || { _gun != _lastFiredGunData select 0 }) then { @@ -55,7 +54,7 @@ private _random = random 100; // Check random vs jam chance to modify if (_random <= _jamChance) then { call GVAR(fnc_setJammed); - + // Stop firing _gun spawn { private _gun = _this; @@ -66,5 +65,5 @@ if (_random <= _jamChance) then { waitUntil {_frame < diag_frameno}; player setAmmo [_gun, _ammo]; }; - }; -}; \ No newline at end of file + }; +}; diff --git a/Source/Script/functions/fnc_getClassFamily.sqf b/Source/Script/functions/fnc_getClassFamily.sqf index 508e484..1c16742 100644 --- a/Source/Script/functions/fnc_getClassFamily.sqf +++ b/Source/Script/functions/fnc_getClassFamily.sqf @@ -58,7 +58,7 @@ if (!isNil { GVAR(ClassFamiliesCache) getVariable _parent }) then { && { [_classItem,"picture","t"] call _fnc_gfc != "" && [_classItem,"model","t"] call _fnc_gfc != "" - && [_classItem,"scope","n"] call _fnc_gfc == 2 + && [_classItem,"scope","n"] call _fnc_gfc > 0 } ) then { private _baseClass = [_classItem] call BIS_fnc_baseWeapon; diff --git a/Source/Script/functions/fnc_initPlayer.sqf b/Source/Script/functions/fnc_initPlayer.sqf new file mode 100644 index 0000000..9d2ccd6 --- /dev/null +++ b/Source/Script/functions/fnc_initPlayer.sqf @@ -0,0 +1,45 @@ +/* ---------------------------------------------------------------------------- +Function: dzn_EJAM_fnc_initPlayer + +Description: + Inits player vars and stuff on spawn + +Parameters: + none + +Returns: + nothing + +Examples: + (begin example) + [] call dzn_EJAM_fnc_initPlayer; + (end) + +Author: + 10Dozen +---------------------------------------------------------------------------- */ + +#include "..\macro.hpp" + +// Run EJAM's FiredEH if ACE Overheating disabled OR EJAM Jam chance forced +if (!(missionNamespace getVariable ["ace_overheating_enabled",false]) || GVAR(ForceOverallChance)) then { + GVAR(FiredEH) = player addEventHandler ["Fired", { call GVAR(fnc_firedEH) }]; +}; + +private _oldFailChance = ace_overheating_unJamFailChance; +ace_overheating_unJamFailChance = 0; +{ + [player, _x, true] call ace_overheating_fnc_clearJam; +} forEach (player getVariable ["ace_overheating_jammedWeapons", []]); +ace_overheating_unJamFailChance = _oldFailChance; + +player setVariable ["ace_overheating_jammedWeapons", []]; +player setVariable [SVAR(Cause), []]; +player setVariable [SVAR(RemovedMagazine), nil]; +player setVariable [SVAR(LooseRound), nil]; +player setVariable [SVAR(WeaponState), nil]; + +if (!isNil SVAR(PreventFireID)) then { + player removeAction GVAR(PreventFireID); + GVAR(PreventFireID) = nil; +}; \ No newline at end of file diff --git a/Source/Script/functions/fnc_processWeaponFixed.sqf b/Source/Script/functions/fnc_processWeaponFixed.sqf index ecd5b7a..6b28823 100644 --- a/Source/Script/functions/fnc_processWeaponFixed.sqf +++ b/Source/Script/functions/fnc_processWeaponFixed.sqf @@ -23,7 +23,6 @@ Author: if (isNil { player getVariable SVAR(WeaponState) }) exitWith {}; -private _gun = [primaryWeapon player] call BIS_fnc_baseWeapon; (call GVAR(fnc_getWeaponState)) params ["_bolt","_chamber","_case","_mag"]; if ( @@ -32,22 +31,6 @@ if ( && _case == "case_ejected" && _mag == "mag_attached" ) then { - - // Unset weapon from jamming/weapon state lists - private _causes = player getVariable SVAR(Cause); - private _states = player getVariable SVAR(WeaponState); - - player setVariable [ - SVAR(WeaponState) - , _states - (_states select { _gun == _x select 0 }) - ]; - player setVariable [ - SVAR(Cause) - , _causes - (_causes select { _gun == _x select 0 }) - ]; - player setVariable [SVAR(RemovedMagazine), nil]; - player setVariable [SVAR(LooseRound), nil]; - [] spawn { if (isNil "ace_common_fnc_displayTextStructured") then { hint parseText LOCALIZE_FORMAT_STR("Hint_WeaponOK"); @@ -60,26 +43,5 @@ if ( }; // Unjamming - if !(missionNamespace getVariable ["ace_overheating_enabled",false]) then { - - // No ACE Overheating - // Remove Prevent Fire handler once all guns were unjammed - if ((player getVariable [SVAR(Cause), []]) isEqualTo []) then { - player removeAction GVAR(PreventFireID); - GVAR(PreventFireID) = nil; - }; - - } else { - - // ACE Overheating enabled - private _oldFailChance = ace_overheating_unJamFailChance; - ace_overheating_unJamFailChance = 0; - - private _family = (primaryWeapon player) call GVAR(fnc_getClassFamily); - { - [player, _x, true] call ace_overheating_fnc_clearJam; - } forEach _family; - - ace_overheating_unJamFailChance = _oldFailChance; - }; + [] call GVAR(fnc_setUnjammed); }; \ No newline at end of file diff --git a/Source/Script/functions/fnc_setJammed.sqf b/Source/Script/functions/fnc_setJammed.sqf index af3ffd8..5afb6ea 100644 --- a/Source/Script/functions/fnc_setJammed.sqf +++ b/Source/Script/functions/fnc_setJammed.sqf @@ -56,7 +56,7 @@ if !(missionNamespace getVariable ["ace_overheating_enabled",false]) then { playSound3D ['a3\sounds_f\weapons\Other\dry9.wss', _this select 0]; }, "", 0, false, true, "DefaultAction" , format [ - "_muzzle = str(currentMuzzle player) splitString '""' joinString ''; + "_muzzle = str(currentMuzzle player) splitString '""' joinString ''; (_muzzle == primaryWeapon player) && [player, primaryWeapon player] call CBA_fnc_canUseWeapon && ""inspect"" call %1" diff --git a/Source/Script/functions/fnc_setUnjammed.sqf b/Source/Script/functions/fnc_setUnjammed.sqf new file mode 100644 index 0000000..f4c09eb --- /dev/null +++ b/Source/Script/functions/fnc_setUnjammed.sqf @@ -0,0 +1,60 @@ +/* ---------------------------------------------------------------------------- +Function: dzn_EJAM_fnc_setUnjammed + +Description: + Unjams player's primary weapon + +Parameters: + nothing + +Returns: + nothing + +Examples: + (begin example) + [] call dzn_EJAM_fnc_setUnjammed + (end) + +Author: + 10Dozen +---------------------------------------------------------------------------- */ + +#include "..\macro.hpp" + +private _gun = [primaryWeapon player] call BIS_fnc_baseWeapon; + +// Unset weapon from jamming/weapon state lists +private _causes = player getVariable SVAR(Cause); +private _states = player getVariable SVAR(WeaponState); + +player setVariable [ + SVAR(WeaponState) + , _states - (_states select { _gun == _x select 0 }) +]; +player setVariable [ + SVAR(Cause) + , _causes - (_causes select { _gun == _x select 0 }) +]; +player setVariable [SVAR(RemovedMagazine), nil]; +player setVariable [SVAR(LooseRound), nil]; + + +if !(missionNamespace getVariable ["ace_overheating_enabled",false]) then { + // No ACE Overheating + // Remove Prevent Fire handler once all guns were unjammed + if ((player getVariable [SVAR(Cause), []]) isEqualTo []) then { + player removeAction GVAR(PreventFireID); + GVAR(PreventFireID) = nil; + }; +} else { + // ACE Overheating enabled + private _oldFailChance = ace_overheating_unJamFailChance; + + private _family = _gun call GVAR(fnc_getClassFamily); + { + ace_overheating_unJamFailChance = 0; + [player, _x, true] call ace_overheating_fnc_clearJam; + } forEach _family; + + ace_overheating_unJamFailChance = _oldFailChance; +}; \ No newline at end of file diff --git a/Source/Script/stringtable.xml b/Source/Script/stringtable.xml index 3ca0951..026f937 100644 --- a/Source/Script/stringtable.xml +++ b/Source/Script/stringtable.xml @@ -1,471 +1,651 @@ + - Unjam via EJAM only - Починка только через EJAM - 武器只能使用EJAM排障 + Unjam via EJAM only + Починка только через EJAM + 武器只能使用EJAM排障 武器只能使用EJAM排障 + Entstörung nur über EJAM + Destravar apenas pelo EJAM - Force EJAM unjam logic over ACE - Принудительно использовать логику починки EJAM вместо ACE - 强制使用EJAM排障覆盖ACE + Force EJAM unjam logic over ACE + Принудительно использовать логику починки EJAM вместо ACE + 强制使用EJAM排障覆盖ACE 強制使用EJAM排障覆蓋ACE + Erzwinge EJAM Logik über ACE-Jam-Logik + Forçar configurações do EJAM sobre o ACE - Override jam chance - Перезаписать шанс на заклинивание - 重新定义武器卡弹概率 + Override jam chance + Перезаписать шанс на заклинивание + 重新定义武器卡弹概率 重新定義武器卡彈概率 + Allgemeine Chance auf Ladehemmungen überschreiben + Sobrepor a chance de trava - Force EJAM Overall jam chance over ACE jamming logic. - Принудительно использовать общий шанс на заклинивание. - 强行让EJAM覆盖ACE卡弹机制 + Force EJAM Overall jam chance over ACE jamming logic. + Принудительно использовать общий шанс на заклинивание. + 强行让EJAM覆盖ACE卡弹机制 强行讓EJAM覆蓋ACE卡彈機制 + Erwinge EJAM Allgemeine Chance auf Ladehemmungen über ACE-Jam-Logik + Forçar a chance geral de trava do EJAM sobre a lógica do ACE - Overall jam chance + Overall jam chance Общий шанс заклинивания - 整体卡弹概率 + 整体卡弹概率 整體卡彈概率 + Allgemeine Chance auf Ladehemmungen + Chance geral de trava - Default jam chance for all primary weapons. From 0 to 100. Custom weapon setting will be used if set. - Шанс на клин для всего основного оружия. От 0 до 100. Если для оружия указаны специфические настройки - будут использованы они. - 所有主武器的默认卡弹概率. 从0到100. 自定义武器设置后生效 + Default jam chance for all primary weapons. From 0 to 100. Custom weapon setting will be used if set. + Шанс на клин для всего основного оружия. От 0 до 100. Если для оружия указаны специфические настройки - будут использованы они. + 所有主武器的默认卡弹概率. 从0到100. 自定义武器设置后生效 所有主武器的默認卡彈概率.從0到100.自定義武器設定後生效 + Standardmäßige Chance auf Ladehemmungen für alle Primärwaffen. Von 0 bis 100. Die benutzerdefinierte Waffeneinstellung wird verwendet, wenn sie eingestellt ist. + Chance padrão para todas as armas primárias. De 0 a 100. Configurações personalizadas serão utilizadas se definidas. - (Chance of) Feed failure - (Шанс на) Неподачу патрона - 导气系统故障概率 + (Chance of) Feed failure + (Шанс на) Неподачу патрона + 导气系统故障概率 導氣系統故障概率 + (Chance auf) Zufuhrausfall + (Chance) Falha de Alimentação - Chance for specific malfunction to happen if weapon got jammed. - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 + Chance for specific malfunction to happen if weapon got jammed. + Шанс, что с оружием случится данная неисправность, если оружие заклинило + 武器卡弹后发生特定故障的概率 武器卡彈後發生特定故障的概率 + Möglichkeit einer spezifischen Fehlfunktion, wenn die Waffe blockiert wurde + Chance de ocorrer esse defeito específico se a arma travar. - (Chance of) Chamber failure - (Шанс на) Утыкание патрона - 供弹失败概率 + (Chance of) Chamber failure + (Шанс на) Утыкание патрона + 供弹失败概率 供彈失敗概率 + (Chance auf) Kammerausfall + (Chance) Falha na Câmara - Chance for specific malfunction to happen if weapon got jammed - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 + Chance for specific malfunction to happen if weapon got jammed + Шанс, что с оружием случится данная неисправность, если оружие заклинило + 武器卡弹后发生特定故障的概率 武器卡彈後發生特定故障的概率 - + Möglichkeit einer spezifischen Fehlfunktion, wenn die Waffe blockiert wurde + Chance de ocorrer esse defeito específico se a arma travar. + - (Chance of) Dud - (Шанс на) Осечка - 哑弹概率 + (Chance of) Dud + (Шанс на) Осечка + 哑弹概率 啞彈概率 + (Chance auf) Blindgänger + (Chance) Projétil Falho - Chance for specific malfunction to happen if weapon got jammed - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 + Chance for specific malfunction to happen if weapon got jammed + Шанс, что с оружием случится данная неисправность, если оружие заклинило + 武器卡弹后发生特定故障的概率 武器卡彈後發生特定故障的概率 + Möglichkeit einer spezifischen Fehlfunktion, wenn die Waffe blockiert wurde + Chance de ocorrer esse defeito específico se a arma travar. - (Chance of) Extraction failure - (Шанс на) Неизвлечение гильзы - 抽壳失败概率 + (Chance of) Extraction failure + (Шанс на) Неизвлечение гильзы + 抽壳失败概率 抽殼失敗概率 + (Chance des) Extraktionsversagens + (Chance) Falha de Extração do estojo do cartucho - Chance for specific malfunction to happen if weapon got jammed - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 + Chance for specific malfunction to happen if weapon got jammed + Шанс, что с оружием случится данная неисправность, если оружие заклинило + 武器卡弹后发生特定故障的概率 武器卡彈後發生特定故障的概率 + Möglichkeit einer spezifischen Fehlfunktion, wenn die Waffe blockiert wurde + Chance de ocorrer esse defeito específico se a arma travar. - (Chance of) Ejection failure - (Шанс на) Прихват гильзы - 抛壳失败概率 + (Chance of) Ejection failure + (Шанс на) Прихват гильзы + 抛壳失败概率 拋殼失敗概率 + (Chance auf) Auswurfversagen + (Chance) Falha de Ejeção - Chance for specific malfunction to happen if weapon got jammed - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 + Chance for specific malfunction to happen if weapon got jammed + Шанс, что с оружием случится данная неисправность, если оружие заклинило + 武器卡弹后发生特定故障的概率 + 武器卡彈後發生特定故障的概率 + Möglichkeit einer spezifischen Fehlfunktion, wenn die Waffe blockiert wurde + Chance de ocorrer esse defeito específico se a arma travar. + + + - Subsonic ammunition penalty - Пенальти дозвуковых боеприпасов - 亚音速弹卡弹概率 + Subsonic ammunition penalty + Пенальти дозвуковых боеприпасов + 亚音速弹卡弹概率 亞音速彈卡彈概率 + Strafe für Unterschall-Munition + Penalidade de munições subsônicas - Jam chance penalty on using subsonic ammo. Value will be added to weapon's jam chance. - Штраф к шансу на заклинивание при использовании дозвуковых патронов. Значение будет добавляться к шансу на клин для оружия. - 额外增加使用亚音速弹药时的卡弹概率 + Jam chance penalty on using subsonic ammo. Value will be added to weapon's jam chance. + Штраф к шансу на заклинивание при использовании дозвуковых патронов. Значение будет добавляться к шансу на клин для оружия. + 额外增加使用亚音速弹药时的卡弹概率 額外新增使用亞音速彈藥時的卡彈概率 + Strafe für die Verwendung von Unterschall-Munition. Der Wert wird der Blockierungschance der Waffe hinzugefügt. + Penalidade na chance de travar a arma ao utilizar munição subsônica. Valor será adicionado à chance de trava. - Weapon settings - Настройки оружия - 武器设置 + Weapon settings + Настройки оружия + 武器设置 武器設定 + Waffen-Einstellungen + Configuraçõe de Arma - Custom settings for specific weapon. In format [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. Use EJAM Configurator by [ call dzn_EJAM_Configure ] - Настройки для конкретных классов оружия. В формтае [@Класс, @Шанс_на_клин, @Шанс_на_поломку_типа#1...5]. Используйте конфигуратор вызовом [ call dzn_EJAM_Configure ] - 特定武器的自定义设置. 格式为 [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. 使用EJAM配置程序为 [ call dzn_EJAM_Configure ] + Custom settings for specific weapon. In format [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. Use EJAM Configurator by [ call dzn_EJAM_Configure ] + Настройки для конкретных классов оружия. В формтае [@Класс, @Шанс_на_клин, @Шанс_на_поломку_типа#1...5]. Используйте конфигуратор вызовом [ call dzn_EJAM_Configure ] + 特定武器的自定义设置. 格式为 [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. 使用EJAM配置程序为 [ call dzn_EJAM_Configure ] 特定武器的自定義設定. 格式為 [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. 使用EJAM配寘程式為 [ call dzn_EJAM_Configure ] + Benutzerdefinierte Einstellungen für bestimmte Waffen. Im Format @WeaponClass, @JamChance, @MalfunctionChance#1...5]. Verwenden Sie den EJAM-Konfigurator durch [ call dzn_EJAM_Configure ]. + Configurações personalizadas para arma específica. No formato [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. Use o configurador EJAM com [ call dzn_EJAM_Configure ] - WEAPON MALFUNCTION - ОРУЖИЕ НЕИСПРАВНО - 武器故障 + WEAPON MALFUNCTION + ОРУЖИЕ НЕИСПРАВНО + 武器故障 武器故障 + WAFFEN-FEHLFUNKTION + ARMA DEFEITUOSA - + - CLOSE - ЗАКРЫТЬ - 关闭 + CLOSE + ЗАКРЫТЬ + 关闭 關閉 + SCHLIEßEN + FECHAR - + - Bolt closed - Затвор в переднем положении - 枪机闭合 + Bolt closed + Затвор в переднем положении + 枪机闭合 槍機閉合 + Verschluss geschlossen + Ferrolho fechado - Bolt <t color="#f79400">not closed</t> - Затвор <t color="#f79400">в среднем положении</t> - 枪机 <t color="#f79400">未闭合</t> + Bolt <t color="#f79400">not closed</t> + Затвор <t color="#f79400">в среднем положении</t> + 枪机 <t color="#f79400">未闭合</t> 槍機 <t color="#f79400">未閉合</t> + Verschluss <t color="#f79400">nicht geschlossen</t> + Ferrolho <t color="#f79400">solto</t> - Bolt <t color="#00b9f7">opened</t> - Затвор <t color="#00b9f7">в заднем положении</t> - 枪机 <t color="#00b9f7">已打开</t> + Bolt <t color="#00b9f7">opened</t> + Затвор <t color="#00b9f7">в заднем положении</t> + 枪机 <t color="#00b9f7">已打开</t> 槍機 <t color="#00b9f7">已打開</t> + Verschluss <t color="#00b9f7">geöffnet</t> + Ferrolho <t color="#00b9f7">aberto</t> - Chamber empty - Патронник пустой - 枪膛内已清空 + Chamber empty + Патронник пустой + 枪膛内已清空 槍膛內已清空 + Kammer leer + Câmara vazia - Chamber <t color="#00b9f7">loaded</t> - Патрон <t color="#00b9f7">в патроннике</t> - 枪膛内 <t color="#00b9f7">已供弹</t> + Chamber <t color="#00b9f7">loaded</t> + Патрон <t color="#00b9f7">в патроннике</t> + 枪膛内 <t color="#00b9f7">已供弹</t> 槍膛內 <t color="#00b9f7">已供彈</t> + Kammer <t color="#00b9f7">geladen</t> + Câmara <t color="#00b9f7">carregada</t> - Round <t color="#f79400">stuck</t> - Патрон <t color="#f79400">уткнулся</t> - 子弹 <t color="#f79400">卡住</t> + Round <t color="#f79400">stuck</t> + Патрон <t color="#f79400">уткнулся</t> + 子弹 <t color="#f79400">卡住</t> 子彈 <t color="#f79400">卡住</t> + Patrone <t color="#f79400">blockiert</t> + Cartucho <t color="#f79400">preso</t> - Round <t color="#f79400">not extracted</t> - Гильза <t color="#f79400">не извлечена</t> - 子弹 <t color="#f79400">未入膛</t> + Round <t color="#f79400">not extracted</t> + Гильза <t color="#f79400">не извлечена</t> + 子弹 <t color="#f79400">未入膛</t> 子彈 <t color="#f79400">未入膛</t> + Patrone <t color="#f79400">nicht entnommen</t> + Cartucho <t color="#f79400">não extraído</t> - Case <t color="#f79400">not ejected</t> - Гильза <t color="#f79400">не выброшена</t> - 弹壳 <t color="#f79400">未抛出</t> + Case <t color="#f79400">not ejected</t> + Гильза <t color="#f79400">не выброшена</t> + 弹壳 <t color="#f79400">未抛出</t> 彈殼 <t color="#f79400">未拋出</t> + Hülse <t color="#f79400">nicht ausgeworfen</t> + Estojo <t color="#f79400">não ejetado</t> - Case ejected - Гильза выброшена - 弹壳已抛出 + Case ejected + Гильза выброшена + 弹壳已抛出 彈殼已抛出 + Hülse ausgeworfen + Estojo ejetado - Magazine attached - Магазин присоединен - 已插入弹匣 + Magazine attached + Магазин присоединен + 已插入弹匣 已插入彈匣 + Magazin eingelegt + Carregador inserido - Magazine <t color="#00b9f7">detached</t> - Магазин <t color="#00b9f7">отсоединен<</t>/Russian> - 弹匣 <t color="#00b9f7">卸下</t> + Magazine <t color="#00b9f7">detached</t> + Магазин <t color="#00b9f7">отсоединен<</t>/Russian> + 弹匣 <t color="#00b9f7">卸下</t> 彈匣 <t color="#00b9f7">卸下</t> - - + Magazin <t color="#00b9f7">entfernt</t> + Carregador <t color="#00b9f7">removido</t> + + - - Inspect weapon menu - Проверить оружие (меню) - 武器检查菜单 + Inspect weapon menu + Проверить оружие (меню) + 武器检查菜单 武器檢查選單 + Waffe untersuchen Menü + Inspecionar Arma (menu) - Inspect weapon (no menu) - Проверить оружие (без меню) - 武器检查 (无菜单) + Inspect weapon (no menu) + Проверить оружие (без меню) + 武器检查 (无菜单) 武器檢查 (无菜单) + Waffe untersuchen (Kein Menü) + Inspecionar Arma (sem menu) - Attach/Detach magazine - Присоединить/Отсоединить магазин - 装入/卸下 弹匣 + Attach/Detach magazine + Присоединить/Отсоединить магазин + 装入/卸下 弹匣 裝入/卸下 彈匣 + Magazin einlegen/auswerfen + Inserir/Remover carregador - Pull bolt - Передернуть затвор - 拉动枪机 + Pull bolt + Передернуть затвор + 拉动枪机 拉動槍機 + Verschluss ziehen + Puxar ferrolho - Open bolt - Отвести затвор - 打开枪机 + Open bolt + Отвести затвор + 打开枪机 打開槍機 + Verschluss öffnen + Abrir ferrolho - Clear chamber - Очистить патронник - 清理膛室 + Clear chamber + Очистить патронник + 清理膛室 清理膛室 + Kammer leeren + Limpar câmara - Remove case - Удалить гильзу - 清理卡住的弹壳 + Remove case + Удалить гильзу + 清理卡住的弹壳 清理卡住的彈殼 + Hülse entfernen + Remover estojo - Detach magazine - Отсоединить магазин - 卸下弹匣 + Detach magazine + Отсоединить магазин + 卸下弹匣 卸下彈匣 + Magazin auswerfen + Remover carregador - Attach magazine - Присоединить магазин - 装入弹匣 + Attach magazine + Присоединить магазин + 装入弹匣 裝入彈匣 + Magazin einlegen + Inserir carregador - Inspect weapon - Проверить оружие - 检查武器 + Inspect weapon + Проверить оружие + 检查武器 檢查武器 + Waffe untersuchen + Inspercionar Arma - - Pulling the bolt - Передергиваем затвор - 正在拉动枪机 + Pulling the bolt + Передергиваем затвор + 正在拉动枪机 正在拉動槍機 + Ziehen des Verschlusses + Puxando o ferrolho - Opening the bolt - Отводим затвор назад - 正在打开枪机 + Opening the bolt + Отводим затвор назад + 正在打开枪机 正在打開槍機 + Öffnen des Verschlusses + Abrindo o ferrolho - Clearing the chamber - Извлекаем патрон из патронника - 正在清理膛室 + Clearing the chamber + Извлекаем патрон из патронника + 正在清理膛室 正在清理膛室 + Kammer leeren + Limpando a câmara - Removing the case - Извлекаем гильзу - 正在清理卡住的弹壳 + Removing the case + Извлекаем гильзу + 正在清理卡住的弹壳 正在清理卡住的彈殼 + Entfernen der Hülse + Removendo o estojo - Detaching magazine - Отсоединяем магазин - 正在卸下弹匣 + Detaching magazine + Отсоединяем магазин + 正在卸下弹匣 正在卸下彈匣 + Werfe Magazin aus + Removendo o carregador - Attaching magazine - Присоединием магазин - 正在装入弹匣 + Attaching magazine + Присоединием магазин + 正在装入弹匣 正在裝入彈匣 + Lege Magazin ein + Inserindo o carregador - Inspecting - Проверка - 正在检查武器 + Inspecting + Проверка + 正在检查武器 正在檢查武器 + Untersuche Waffe + Inspecionando - Magazine dropped - Магазин сброшен - 弹匣脱落 + Магазин сброшен + 弹匣脱落 彈匣脫落 + Magazin fallen gelassen + Carregador removido Magazine attached - Магазин присоединен - 弹匣已裝入 + Магазин присоединен + 弹匣已裝入 彈匣已裝入 + Magazin eingelegt + Carregador inserido Weapon is functioning normally - Оружие функционирует нормально - 武器已可以正常使用 + Оружие функционирует нормально + 武器已可以正常使用 武器已可以正常使用 + Waffe funktioniert normal + Não foi possível efetuar essa ação! Not possible to perform action! - Невозможно выполнить действие! - 不能执行该命令! + Невозможно выполнить действие! + 不能执行该命令! 不能執行該命令! + Keine Aktion möglich! + Sem carregador para inserir! No magazine to load! - Нет магазинов! - 武器无弹匣! + Нет магазинов! + 武器无弹匣! 武器無彈匣! + Kein Magazin zum Laden! + dzn EJAM Configurador de Arma dzn EJAM Weapon Configurator - dzn EJAM Конфигуратор оружия - dzn EJAM 自定义武器设置 - dzn EJAM自定義武器設定 + dzn EJAM Конфигуратор оружия + dzn EJAM 自定义武器设置 + dzn EJAM自定義武器設定 + dzn EJAM Waffen-Konfigurator + dzn EJAM Configurador de Arma Weapon - Оружие - 武器 - 武器 + Оружие + 武器 + 武器 + Waffe + Arma No weapon selected - Оружие не выбрано - 没有选择武器 - 沒有選擇武器 + Оружие не выбрано + 没有选择武器 + 沒有選擇武器 + Keine Waffe ausgewählt + Nenhuma arma selecionada Filter... - Фильтр... - 搜索栏 - 蒐索欄 + Фильтр... + 搜索栏 + 蒐索欄 + Filtern... + Filtro... - + Save - Сохранить - 保存 - 保存 + Сохранить + 保存 + 保存 + Speichern + Salvar Copy - Копировать - 复制 - 複製 + Копировать + 复制 + 複製 + Kopieren + Copiar Paste - Вставить - 粘贴 - 粘貼 + Вставить + 粘贴 + 粘貼 + Einfügen + Colar Reset - Сброс - 重置 - 重置 + Сброс + 重置 + 重置 + Zurücksetzen + Resetar Close - Закрыть - 关闭 - 關閉 + Закрыть + 关闭 + 關閉 + Schließen + Fechar - + Enter/NumEnter to apply filter. Use "|" for multiple filter values - Enter/NumEnter для применения фильтра. Используйте "|" для фильтрации по нескольким значениям - 输入武器名称后. 按左Shift+回车或小键盘回车即可执行搜索. 搜索多个武器时可以用 "|" 将几个关键词隔开 - 輸入武器名稱後. 按左Shift+回車或小鍵盤回車即可執行蒐索. 蒐索多個武器時可以用 "|" 將幾個關鍵字隔開 + Enter/NumEnter для применения фильтра. Используйте "|" для фильтрации по нескольким значениям + 输入武器名称后. 按左Shift+回车或小键盘回车即可执行搜索. 搜索多个武器时可以用 "|" 将几个关键词隔开 + 輸入武器名稱後. 按左Shift+回車或小鍵盤回車即可執行蒐索. 蒐索多個武器時可以用 "|" 將幾個關鍵字隔開 + Eingabe/Numpad Eingabe zum Anwenden des Filters. Verwenden Sie "|" für mehrere Filterwerte. + Enter/NumpadEnter para aplicar filtro. Use "|" para múltiplos filtros Unsets weapon settings - Сбрасывает настройки для оружия - 取消武器设置 - 取消武器設定 + Сбрасывает настройки для оружия + 取消武器设置 + 取消武器設定 + Löscht die Waffeneinstellungen + Desfaz configurações de arma Double clicking list element will also apply copied settings! - Двойной клик по оружию из списка также применит скопированные настройки! - 双击列表内容也能应用复制的设置文本! - 按兩下清單內容也能應用複製的設定文字! + Двойной клик по оружию из списка также применит скопированные настройки! + 双击列表内容也能应用复制的设置文本! + 按兩下清單內容也能應用複製的設定文字! + Beim Doppelklick auf ein Listenelement werden auch die kopierten Einstellungen übernommen! + Clicar duas vezes no elemento da lista também aplica configurações copiadas! No data to apply! - Нет данных для применения! - 无数据可应用! - 無數據可應用! + Нет данных для применения! + 无数据可应用! + 無數據可應用! + Keine Daten zu übergeben! + Nenhuma configuração para aplicar! Applied! - Применено! - 设置已应用! - 設定已應用! + Применено! + 设置已应用! + 設定已應用! + Übergeben! + Aplicado! Config copied! - Конфигурация скопирована! - 设置已复制! - 設定已複製! + Конфигурация скопирована! + 设置已复制! + 設定已複製! + Konfiguration kopiert! + Configuração copiada! Config saved! - Конфигурация сохранена! - 设置已保存! - 設定已保存! + Конфигурация сохранена! + 设置已保存! + 設定已保存! + Konfiguration gespeichert! + Configuração salva! - + \ No newline at end of file diff --git a/readme.md b/readme.md index 9b9c0f0..1fb142f 100644 --- a/readme.md +++ b/readme.md @@ -34,6 +34,9 @@ Note: Credits: 10Dozen - scripting; hyper's youtube channel (https://www.youtube.com/channel/UCSezUnbvCLYBXuUlPcXU_QQ) - sound. +KICKASS (Chinese, Chinese simplified translation) +EckoMoire (Portuguese translation) +Ralf (German translation) License: APL-SA @@ -65,5 +68,8 @@ License: APL-SA [h1]Credits:[/h1] 10Dozen - scripting; hyper's youtube channel ( https://www.youtube.com/channel/UCSezUnbvCLYBXuUlPcXU_QQ ) - sound. +KICKASS (Chinese, Chinese simplified translation) +EckoMoire (Portuguese translation) +Ralf (German translation) [h1]License: APL-SA[/h1] From ff5e983d2d372a7b550853841d27f0926469a0a3 Mon Sep 17 00:00:00 2001 From: 10Dozen Date: Tue, 21 Apr 2020 00:52:38 +0300 Subject: [PATCH 2/5] Changed subsonic penalty system - Changed subsonic penalty system - Prevent EJAM quick actions while in crew (driver/comander/gunner) --- Source/Script/Settings.sqf | 9 +++++++++ Source/Script/functions/fnc_doHotkeyAction.sqf | 2 ++ Source/Script/functions/fnc_firedEH.sqf | 5 +---- Source/Script/functions/fnc_initPlayer.sqf | 16 ++++++++++------ Source/Script/stringtable.xml | 8 ++++++++ 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/Source/Script/Settings.sqf b/Source/Script/Settings.sqf index 6d2cab5..4e7b6f6 100644 --- a/Source/Script/Settings.sqf +++ b/Source/Script/Settings.sqf @@ -96,6 +96,15 @@ private _addLocal = { } ] call _add; +[ + "SubsonicMagazinesSettings" + , "EDITBOX" + , "" + , { + GVAR(SubsonicMagazines) = call compile ("[" + _this + "]"); + } +] call _add; + // Mapping of gun classes on jam settings [ "MappingSettings" diff --git a/Source/Script/functions/fnc_doHotkeyAction.sqf b/Source/Script/functions/fnc_doHotkeyAction.sqf index 6070d1d..ff5d439 100644 --- a/Source/Script/functions/fnc_doHotkeyAction.sqf +++ b/Source/Script/functions/fnc_doHotkeyAction.sqf @@ -22,6 +22,8 @@ Author: #include "..\macro.hpp" if !(isNil SVAR(ActionInProgress)) exitWith {}; +private _combatCrewRoles = ["driver", "commander", "gunner", "turret"]; +if ((fullCrew vehicle player) findIf {player isEqualTo _x # 0 && _x # 1 in _combatCrewRoles} > -1) exitWith {}; if !("inspect" call GVAR(fnc_checkJammed)) exitWith { "OK" call GVAR(fnc_uiShowBriefState); diff --git a/Source/Script/functions/fnc_firedEH.sqf b/Source/Script/functions/fnc_firedEH.sqf index 83acdc8..28542c9 100644 --- a/Source/Script/functions/fnc_firedEH.sqf +++ b/Source/Script/functions/fnc_firedEH.sqf @@ -41,10 +41,7 @@ if (_lastFiredGunData isEqualTo [] || { _gun != _lastFiredGunData select 0 }) th }; // Check is subsonic to enlarge jam chance -private _ammo = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"); -private _subsonicSpeed = getNumber (configFile >> "CfgAmmo" >> _ammo >> "typicalSpeed") < 343; -private _lowAudible = getNumber (configFile >> "CfgAmmo" >> _ammo >> "audibleFire") < 10; -if (_subsonicSpeed && _lowAudible ) then { +if (GVAR(SubsonicMagazines) findIf { _magazine isEqualTo _x } > -1) then { _jamChance = _jamChance + GVAR(SubsonicJamEffect); }; diff --git a/Source/Script/functions/fnc_initPlayer.sqf b/Source/Script/functions/fnc_initPlayer.sqf index 9d2ccd6..4925dd4 100644 --- a/Source/Script/functions/fnc_initPlayer.sqf +++ b/Source/Script/functions/fnc_initPlayer.sqf @@ -26,12 +26,16 @@ if (!(missionNamespace getVariable ["ace_overheating_enabled",false]) || GVAR(Fo GVAR(FiredEH) = player addEventHandler ["Fired", { call GVAR(fnc_firedEH) }]; }; -private _oldFailChance = ace_overheating_unJamFailChance; -ace_overheating_unJamFailChance = 0; -{ - [player, _x, true] call ace_overheating_fnc_clearJam; -} forEach (player getVariable ["ace_overheating_jammedWeapons", []]); -ace_overheating_unJamFailChance = _oldFailChance; +if (!isNil "ace_overheating_unJamFailChance") then { + private _oldFailChance = ace_overheating_unJamFailChance; + ace_overheating_unJamFailChance = 0; + + { + [player, _x, true] call ace_overheating_fnc_clearJam; + } forEach (player getVariable ["ace_overheating_jammedWeapons", []]); + + ace_overheating_unJamFailChance = _oldFailChance; +}; player setVariable ["ace_overheating_jammedWeapons", []]; player setVariable [SVAR(Cause), []]; diff --git a/Source/Script/stringtable.xml b/Source/Script/stringtable.xml index 026f937..33a7714 100644 --- a/Source/Script/stringtable.xml +++ b/Source/Script/stringtable.xml @@ -191,6 +191,14 @@ Strafe für die Verwendung von Unterschall-Munition. Der Wert wird der Blockierungschance der Waffe hinzugefügt. Penalidade na chance de travar a arma ao utilizar munição subsônica. Valor será adicionado à chance de trava. + + Subsonic magazines + Дозвуковые боеприпасы + + + Magazine classes of subsonic ammunition that cause penalty. List only magazines for weapons that are NOT subsonic by design (e.g. AS Val mags shouldn't be listed, but subsonic AKM magazines should) + Классы магазинов с дозвуковыми патронами которые способствуют повышению шанса на клин. Вносите только магазины для оружия которое не расчитано на дозвуковые патроны по умолчанию (т.е. магазины АС Вал не нужно записывать, а вот дозвуковые магазины к АКМ - должны) + Weapon settings From bc1b42c2e8d80d46bf064bc838622b328d458515 Mon Sep 17 00:00:00 2001 From: 10Dozen Date: Fri, 24 Apr 2020 00:08:33 +0300 Subject: [PATCH 3/5] Fixed key override - Fixed key override - Added Subsonic mag setting defaults --- Source/Script/Functions.sqf | 1 + Source/Script/Settings.sqf | 22 +++++++------ .../Script/functions/fnc_doHotkeyAction.sqf | 3 +- Source/Script/functions/fnc_firedEH.sqf | 3 +- .../Script/functions/fnc_isInVehicleCrew.sqf | 31 +++++++++++++++++++ 5 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 Source/Script/functions/fnc_isInVehicleCrew.sqf diff --git a/Source/Script/Functions.sqf b/Source/Script/Functions.sqf index d281c8b..40f2de5 100644 --- a/Source/Script/Functions.sqf +++ b/Source/Script/Functions.sqf @@ -4,6 +4,7 @@ COMPILE_FUNCTION(fnc_initPlayer); COMPILE_FUNCTION(fnc_firedEH); COMPILE_FUNCTION(fnc_getMappingData); COMPILE_FUNCTION(fnc_processMappingData); +COMPILE_FUNCTION(fnc_isInVehicleCrew); COMPILE_FUNCTION(fnc_checkJammed); COMPILE_FUNCTION(fnc_setJammed); diff --git a/Source/Script/Settings.sqf b/Source/Script/Settings.sqf index 4e7b6f6..58ba4d9 100644 --- a/Source/Script/Settings.sqf +++ b/Source/Script/Settings.sqf @@ -54,7 +54,7 @@ private _addLocal = { [ "feed_failure_ChanceSettings" , "SLIDER" - , [0, 100, 30, 0] + , [0, 100, 60, 0] , { /* Reset cache */ player setVariable [SVAR(FiredLastGunData), nil]; } ] call _add; @@ -68,7 +68,7 @@ private _addLocal = { [ "dud_ChanceSettings" , "SLIDER" - , [0, 100, 30, 0] + , [0, 100, 60, 0] , { /* Reset cache */ player setVariable [SVAR(FiredLastGunData), nil]; } ] call _add; @@ -99,9 +99,9 @@ private _addLocal = { [ "SubsonicMagazinesSettings" , "EDITBOX" - , "" + , '"cup_30rnd_subsonic_545x39_ak_m","cup_20rnd_subsonic_545x39_aksu_m","cup_30rnd_subsonic_545x39_ak74m_m","cup_30rnd_subsonic_545x39_ak74_plum_m","cup_30rnd_subsonic_762x39_ak47_m","cup_20rnd_subsonic_762x39_amd63_m","cup_30rnd_subsonic_762x39_ak47_bakelite_m","cup_30rnd_subsonic_762x39_ak103_bakelite_m","cup_30rnd_subsonic_762x39_akm_bakelite_desert_m","cup_30rnd_subsonic_545x39_fort224_m","rhs_30rnd_545x39_7u1_ak","rhs_45rnd_545x39_7u1_ak","rhs_30rnd_762x39mm_u","rhs_30rnd_762x39mm_bakelite_u","rhs_30rnd_762x39mm_polymer_u","hlc_30rnd_545x39_s_ak","hlc_30rnd_545x39_s_ak_plum","hlc_30rnd_545x39_s_ak_black","hlc_20rnd_762x51_s_fal","hlc_10rnd_762x51_s_fal","hlc_20rnd_762x51_s_g3"' , { - GVAR(SubsonicMagazines) = call compile ("[" + _this + "]"); + GVAR(SubsonicMagazines) = (call compile ("[" + _this + "]")) apply { toLower _x }; } ] call _add; @@ -120,8 +120,9 @@ private _addLocal = { ] call _add; // Keybinding +#define ALLOW_OVERRIDE !([] call GVAR(fnc_isInVehicleCrew)) private _addKey = { - params["_var","_str","_downCode",["_defaultKey", nil],["_upCode", { true }]]; + params["_var","_str","_downCode",["_defaultKey", nil],["_upCode", { false }]]; private _settings = [ TITLE @@ -139,28 +140,29 @@ private _addKey = { [ "InspectKey" , "Action_Inspect" - , { call GVAR(fnc_inspectWeapon); true } + , { call GVAR(fnc_inspectWeapon); ALLOW_OVERRIDE } , [19, [false,true,false]] + , { true } ] call _addKey; [ "QuickInspectKey" , "Action_QuickInspect" - , { "inspect" call GVAR(fnc_doHotkeyAction); true } + , { "inspect" call GVAR(fnc_doHotkeyAction); ALLOW_OVERRIDE } ] call _addKey; // Pull bolt key [ "PullBoltKey" , "Action_PullBolt" - , { "pull_bolt" call GVAR(fnc_doHotkeyAction); true } + , { "pull_bolt" call GVAR(fnc_doHotkeyAction); ALLOW_OVERRIDE } ] call _addKey; // Open bolt key [ "OpenBoltKey" , "Action_OpenBolt" - , { "open_bolt" call GVAR(fnc_doHotkeyAction); true } + , { "open_bolt" call GVAR(fnc_doHotkeyAction); ALLOW_OVERRIDE } ] call _addKey; // Toggle magazine key @@ -171,7 +173,7 @@ private _addKey = { (call GVAR(fnc_getWeaponState)) params ["","","","_mag"]; private _action = if (_mag == "mag_attached") then { "detach_mag" } else { "attach_mag" }; _action call GVAR(fnc_doHotkeyAction); - true + ALLOW_OVERRIDE } ] call _addKey; diff --git a/Source/Script/functions/fnc_doHotkeyAction.sqf b/Source/Script/functions/fnc_doHotkeyAction.sqf index ff5d439..aaa5506 100644 --- a/Source/Script/functions/fnc_doHotkeyAction.sqf +++ b/Source/Script/functions/fnc_doHotkeyAction.sqf @@ -22,8 +22,7 @@ Author: #include "..\macro.hpp" if !(isNil SVAR(ActionInProgress)) exitWith {}; -private _combatCrewRoles = ["driver", "commander", "gunner", "turret"]; -if ((fullCrew vehicle player) findIf {player isEqualTo _x # 0 && _x # 1 in _combatCrewRoles} > -1) exitWith {}; +if ([] call GVAR(fnc_isInVehicleCrew)) exitWith {}; if !("inspect" call GVAR(fnc_checkJammed)) exitWith { "OK" call GVAR(fnc_uiShowBriefState); diff --git a/Source/Script/functions/fnc_firedEH.sqf b/Source/Script/functions/fnc_firedEH.sqf index 28542c9..5b0dedb 100644 --- a/Source/Script/functions/fnc_firedEH.sqf +++ b/Source/Script/functions/fnc_firedEH.sqf @@ -25,7 +25,7 @@ params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projecti private _gun = primaryWeapon player; if ( _weapon != _gun || {_muzzle != _gun} || "inspect" call GVAR(fnc_checkJammed) ) exitWith { - // Exit if fired not a main muzzle (e.g. UGL) OR weapon already jammed + // Exit if fired not a main muzzle (e.g. UGL) OR weapon already jammed }; // Get jam chance (from config or overall) @@ -41,6 +41,7 @@ if (_lastFiredGunData isEqualTo [] || { _gun != _lastFiredGunData select 0 }) th }; // Check is subsonic to enlarge jam chance +_magazine = toLower(_magazine); if (GVAR(SubsonicMagazines) findIf { _magazine isEqualTo _x } > -1) then { _jamChance = _jamChance + GVAR(SubsonicJamEffect); }; diff --git a/Source/Script/functions/fnc_isInVehicleCrew.sqf b/Source/Script/functions/fnc_isInVehicleCrew.sqf new file mode 100644 index 0000000..6786e3f --- /dev/null +++ b/Source/Script/functions/fnc_isInVehicleCrew.sqf @@ -0,0 +1,31 @@ +/* ---------------------------------------------------------------------------- +Function: dzn_EJAM_fnc_isInVehicleCrew + +Description: + Check whether primary weapon is jammed and (a) cause set, (b) cause not set. + +Parameters: + nothing + +Returns: + _isInVehicleCrew - (boolean) true if player in driver/commander/gunner or turret slot, false if not in vehicle or in cargo + +Examples: + (begin example) + _isInVehicleCrew = [] call dzn_EJAM_fnc_isInVehicleCrew; + (end) + +Author: + 10Dozen +---------------------------------------------------------------------------- */ + +#include "..\macro.hpp" + +// Exit with FALSE if player not in vehicle +if (vehicle player == player) exitWith { false }; + +// Exit with FALSE if player in vehicle's cargo seat +if ((fullCrew vehicle player) findIf {player isEqualTo _x # 0 && {_x # 1 == "cargo" || _x # 1 == "turret"} } > -1) exitWith { false }; + +// Return TRUE if in vehicle crew +true From 46da12087ecfe5f20930af53bf366faf37b97636 Mon Sep 17 00:00:00 2001 From: 10Dozen Date: Fri, 24 Apr 2020 01:10:25 +0300 Subject: [PATCH 4/5] Finalization - Repo format updated - Fixed ACE jam after respawn --- Mod/Addons/dzn_EJAM.pbo | Bin 228901 -> 0 bytes Mod/Addons/dzn_EJAM.pbo.10Dozen.bisign | Bin 560 -> 0 bytes Source/Addons/Functions.sqf | 33 -- Source/Addons/Init.sqf | 77 --- Source/Addons/Settings.sqf | 181 ------- Source/Addons/config.cpp | 27 - .../Addons/functions/fnc_doHotkeyAction.sqf | 41 -- Source/Addons/functions/fnc_firedEH.sqf | 70 --- .../Addons/functions/fnc_getClassFamily.sqf | 76 --- .../functions/fnc_processWeaponFixed.sqf | 85 ---- Source/Addons/functions/fnc_setJammed.sqf | 78 --- Source/Addons/stringtable.xml | 471 ------------------ Source/Script/Enums.sqf | 89 ---- Source/Script/description.ext | 12 - Source/Script/functions/fnc_checkJammed.sqf | 38 -- Source/Script/functions/fnc_doAction.sqf | 132 ----- Source/Script/functions/fnc_getEnumText.sqf | 47 -- Source/Script/functions/fnc_getJamCause.sqf | 29 -- .../Script/functions/fnc_getMappingData.sqf | 66 --- .../Script/functions/fnc_getWeaponState.sqf | 32 -- Source/Script/functions/fnc_hasMagazine.sqf | 30 -- Source/Script/functions/fnc_inspectWeapon.sqf | 32 -- Source/Script/functions/fnc_isMagAttached.sqf | 24 - .../Script/functions/fnc_manageMagazine.sqf | 68 --- .../Script/functions/fnc_playActionSound.sqf | 24 - .../functions/fnc_processMappingData.sqf | 49 -- Source/Script/functions/fnc_pullBolt.sqf | 64 --- .../Script/functions/fnc_setWeaponState.sqf | 53 -- .../Script/functions/fnc_uiShowBriefState.sqf | 54 -- Source/Script/functions/fnc_uiShowConfig.sqf | 407 --------------- .../functions/fnc_uiShowProgressBar.sqf | 69 --- .../Script/functions/fnc_uiShowUnjamMenu.sqf | 144 ------ Source/Script/sounds/BoltOpen.ogg | Bin 15529 -> 0 bytes Source/Script/sounds/BoltPull.ogg | Bin 24853 -> 0 bytes Source/Script/sounds/CfgSounds.hpp | 19 - Source/Script/sounds/Fixing.ogg | Bin 39173 -> 0 bytes Source/Script/sounds/MagAttach.ogg | Bin 22564 -> 0 bytes Source/Script/sounds/MagDetach.ogg | Bin 13664 -> 0 bytes Source/Script/sounds/MagDrop.ogg | Bin 12993 -> 0 bytes Source/Script/ui/dzn_EJAM_Config.hpp | 269 ---------- Source/Script/ui/dzn_EJAM_Menu.hpp | 190 ------- Source/Script/ui/dzn_EJAM_ProgressBar.hpp | 51 -- readme.md | 4 +- {Mod => source}/Keys/10Dozen.bikey | Bin {Source/Addons => source/dzn_EJAM}/Enums.sqf | 0 .../Script => source/dzn_EJAM}/Functions.sqf | 0 {Source/Script => source/dzn_EJAM}/Init.sqf | 13 +- .../Script => source/dzn_EJAM}/Settings.sqf | 0 {Source/Script => source/dzn_EJAM}/config.cpp | 0 .../dzn_EJAM}/functions/fnc_checkJammed.sqf | 0 .../dzn_EJAM}/functions/fnc_doAction.sqf | 0 .../functions/fnc_doHotkeyAction.sqf | 0 .../dzn_EJAM}/functions/fnc_firedEH.sqf | 0 .../functions/fnc_getClassFamily.sqf | 0 .../dzn_EJAM}/functions/fnc_getEnumText.sqf | 0 .../dzn_EJAM}/functions/fnc_getJamCause.sqf | 0 .../functions/fnc_getMappingData.sqf | 0 .../functions/fnc_getWeaponState.sqf | 0 .../dzn_EJAM}/functions/fnc_hasMagazine.sqf | 0 .../dzn_EJAM}/functions/fnc_initPlayer.sqf | 34 +- .../dzn_EJAM}/functions/fnc_inspectWeapon.sqf | 0 .../functions/fnc_isInVehicleCrew.sqf | 0 .../dzn_EJAM}/functions/fnc_isMagAttached.sqf | 0 .../functions/fnc_manageMagazine.sqf | 0 .../functions/fnc_playActionSound.sqf | 0 .../functions/fnc_processMappingData.sqf | 0 .../functions/fnc_processWeaponFixed.sqf | 0 .../dzn_EJAM}/functions/fnc_pullBolt.sqf | 0 .../dzn_EJAM}/functions/fnc_setJammed.sqf | 0 .../dzn_EJAM}/functions/fnc_setUnjammed.sqf | 0 .../functions/fnc_setWeaponState.sqf | 0 .../functions/fnc_uiShowBriefState.sqf | 0 .../dzn_EJAM}/functions/fnc_uiShowConfig.sqf | 0 .../functions/fnc_uiShowProgressBar.sqf | 0 .../functions/fnc_uiShowUnjamMenu.sqf | 0 {Source/Addons => source/dzn_EJAM}/macro.hpp | 0 .../dzn_EJAM}/sounds/BoltOpen.ogg | Bin .../dzn_EJAM}/sounds/BoltPull.ogg | Bin .../dzn_EJAM}/sounds/CfgSounds.hpp | 0 .../dzn_EJAM}/sounds/Fixing.ogg | Bin .../dzn_EJAM}/sounds/MagAttach.ogg | Bin .../dzn_EJAM}/sounds/MagDetach.ogg | Bin .../dzn_EJAM}/sounds/MagDrop.ogg | Bin .../dzn_EJAM}/stringtable.xml | 0 .../Addons => source/dzn_EJAM}/ui/dialog.hpp | 0 source/dzn_EJAM/ui/dialog__1.hpp | 9 + .../dzn_EJAM}/ui/dzn_EJAM_Config.hpp | 0 .../dzn_EJAM}/ui/dzn_EJAM_Menu.hpp | 0 .../dzn_EJAM}/ui/dzn_EJAM_ProgressBar.hpp | 0 {Mod => source}/mod.cpp | 2 +- {Mod => source}/mod.paa | Bin .../resources}/20180825013447_1.jpg | Bin .../resources}/20180825013549_1.jpg | Bin .../resources}/OverviewSmall.jpg | Bin source/resources/addon/macro.hpp | 29 ++ source/resources/addon/ui/dialog.hpp | 9 + .../resources/script}/macro.hpp | 0 .../resources/script}/ui/dialog.hpp | 0 98 files changed, 72 insertions(+), 3159 deletions(-) delete mode 100644 Mod/Addons/dzn_EJAM.pbo delete mode 100644 Mod/Addons/dzn_EJAM.pbo.10Dozen.bisign delete mode 100644 Source/Addons/Functions.sqf delete mode 100644 Source/Addons/Init.sqf delete mode 100644 Source/Addons/Settings.sqf delete mode 100644 Source/Addons/config.cpp delete mode 100644 Source/Addons/functions/fnc_doHotkeyAction.sqf delete mode 100644 Source/Addons/functions/fnc_firedEH.sqf delete mode 100644 Source/Addons/functions/fnc_getClassFamily.sqf delete mode 100644 Source/Addons/functions/fnc_processWeaponFixed.sqf delete mode 100644 Source/Addons/functions/fnc_setJammed.sqf delete mode 100644 Source/Addons/stringtable.xml delete mode 100644 Source/Script/Enums.sqf delete mode 100644 Source/Script/description.ext delete mode 100644 Source/Script/functions/fnc_checkJammed.sqf delete mode 100644 Source/Script/functions/fnc_doAction.sqf delete mode 100644 Source/Script/functions/fnc_getEnumText.sqf delete mode 100644 Source/Script/functions/fnc_getJamCause.sqf delete mode 100644 Source/Script/functions/fnc_getMappingData.sqf delete mode 100644 Source/Script/functions/fnc_getWeaponState.sqf delete mode 100644 Source/Script/functions/fnc_hasMagazine.sqf delete mode 100644 Source/Script/functions/fnc_inspectWeapon.sqf delete mode 100644 Source/Script/functions/fnc_isMagAttached.sqf delete mode 100644 Source/Script/functions/fnc_manageMagazine.sqf delete mode 100644 Source/Script/functions/fnc_playActionSound.sqf delete mode 100644 Source/Script/functions/fnc_processMappingData.sqf delete mode 100644 Source/Script/functions/fnc_pullBolt.sqf delete mode 100644 Source/Script/functions/fnc_setWeaponState.sqf delete mode 100644 Source/Script/functions/fnc_uiShowBriefState.sqf delete mode 100644 Source/Script/functions/fnc_uiShowConfig.sqf delete mode 100644 Source/Script/functions/fnc_uiShowProgressBar.sqf delete mode 100644 Source/Script/functions/fnc_uiShowUnjamMenu.sqf delete mode 100644 Source/Script/sounds/BoltOpen.ogg delete mode 100644 Source/Script/sounds/BoltPull.ogg delete mode 100644 Source/Script/sounds/CfgSounds.hpp delete mode 100644 Source/Script/sounds/Fixing.ogg delete mode 100644 Source/Script/sounds/MagAttach.ogg delete mode 100644 Source/Script/sounds/MagDetach.ogg delete mode 100644 Source/Script/sounds/MagDrop.ogg delete mode 100644 Source/Script/ui/dzn_EJAM_Config.hpp delete mode 100644 Source/Script/ui/dzn_EJAM_Menu.hpp delete mode 100644 Source/Script/ui/dzn_EJAM_ProgressBar.hpp rename {Mod => source}/Keys/10Dozen.bikey (100%) rename {Source/Addons => source/dzn_EJAM}/Enums.sqf (100%) rename {Source/Script => source/dzn_EJAM}/Functions.sqf (100%) rename {Source/Script => source/dzn_EJAM}/Init.sqf (94%) rename {Source/Script => source/dzn_EJAM}/Settings.sqf (100%) rename {Source/Script => source/dzn_EJAM}/config.cpp (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_checkJammed.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_doAction.sqf (100%) rename {Source/Script => source/dzn_EJAM}/functions/fnc_doHotkeyAction.sqf (100%) rename {Source/Script => source/dzn_EJAM}/functions/fnc_firedEH.sqf (100%) rename {Source/Script => source/dzn_EJAM}/functions/fnc_getClassFamily.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_getEnumText.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_getJamCause.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_getMappingData.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_getWeaponState.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_hasMagazine.sqf (100%) rename {Source/Script => source/dzn_EJAM}/functions/fnc_initPlayer.sqf (70%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_inspectWeapon.sqf (100%) rename {Source/Script => source/dzn_EJAM}/functions/fnc_isInVehicleCrew.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_isMagAttached.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_manageMagazine.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_playActionSound.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_processMappingData.sqf (100%) rename {Source/Script => source/dzn_EJAM}/functions/fnc_processWeaponFixed.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_pullBolt.sqf (100%) rename {Source/Script => source/dzn_EJAM}/functions/fnc_setJammed.sqf (100%) rename {Source/Script => source/dzn_EJAM}/functions/fnc_setUnjammed.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_setWeaponState.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_uiShowBriefState.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_uiShowConfig.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_uiShowProgressBar.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/functions/fnc_uiShowUnjamMenu.sqf (100%) rename {Source/Addons => source/dzn_EJAM}/macro.hpp (100%) rename {Source/Addons => source/dzn_EJAM}/sounds/BoltOpen.ogg (100%) rename {Source/Addons => source/dzn_EJAM}/sounds/BoltPull.ogg (100%) rename {Source/Addons => source/dzn_EJAM}/sounds/CfgSounds.hpp (100%) rename {Source/Addons => source/dzn_EJAM}/sounds/Fixing.ogg (100%) rename {Source/Addons => source/dzn_EJAM}/sounds/MagAttach.ogg (100%) rename {Source/Addons => source/dzn_EJAM}/sounds/MagDetach.ogg (100%) rename {Source/Addons => source/dzn_EJAM}/sounds/MagDrop.ogg (100%) rename {Source/Script => source/dzn_EJAM}/stringtable.xml (100%) rename {Source/Addons => source/dzn_EJAM}/ui/dialog.hpp (100%) create mode 100644 source/dzn_EJAM/ui/dialog__1.hpp rename {Source/Addons => source/dzn_EJAM}/ui/dzn_EJAM_Config.hpp (100%) rename {Source/Addons => source/dzn_EJAM}/ui/dzn_EJAM_Menu.hpp (100%) rename {Source/Addons => source/dzn_EJAM}/ui/dzn_EJAM_ProgressBar.hpp (100%) rename {Mod => source}/mod.cpp (82%) rename {Mod => source}/mod.paa (100%) rename {Source => source/resources}/20180825013447_1.jpg (100%) rename {Source => source/resources}/20180825013549_1.jpg (100%) rename {Source => source/resources}/OverviewSmall.jpg (100%) create mode 100644 source/resources/addon/macro.hpp create mode 100644 source/resources/addon/ui/dialog.hpp rename {Source/Script => source/resources/script}/macro.hpp (100%) rename {Source/Script => source/resources/script}/ui/dialog.hpp (100%) diff --git a/Mod/Addons/dzn_EJAM.pbo b/Mod/Addons/dzn_EJAM.pbo deleted file mode 100644 index 63a5cbd45a4ce62572322552b1f0e2746c83d872..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228901 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 BN}B)x diff --git a/Mod/Addons/dzn_EJAM.pbo.10Dozen.bisign b/Mod/Addons/dzn_EJAM.pbo.10Dozen.bisign deleted file mode 100644 index eb2e8a3813a80a158046ce1a529f37737efecfbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 560 zcmV-00?++1Fhp;9Wo`hJ000060ssI2Bme+XQ$aBR1ONa50096E$ln^>!Yy%X!1w$6 zkJ@dzLJ%Cy=XYyst-(%l3Y7%kTlk2jof7JlN3^ZCaD~}Dp#7c4D%POXv3h755J(RK z+?#$(N`0)kla7ig3FqiMIsNn25G1h^x`FXQ$sIGhca%4v-erwRQ8r7{eBDxisU`YD zpK%lPdSJQh#Z#kz0002G)zz>tT~M4$m^6TQBOyx6&|S?tyLv2}yyd2|j`c_A5;X!@ z&}tr^xoO^Eyfc!`KiACWImCd_;AMNiPQIKSI4r%yjB+@lQbvcNpd{HbJdV1+4-Re? zOYe?;cPiZn4`!ipN#tyR0001j@ur$rMvuJA301uwIhB{4FAQ+i3GnjWAQIX? zSL3uIH)cW^4}?$eP^%Z|)7C4O>4&HMZWm(X99-=NMpnh%{9xnSQB(>Y#bZ%oVqQ01 yHH-9Ww9v&JI*`b~P-1Z}TApMB_YQmRHUqufBIlog-UTY{4>o)%ZRl>#0umT&K>(Nl diff --git a/Source/Addons/Functions.sqf b/Source/Addons/Functions.sqf deleted file mode 100644 index cd30ae0..0000000 --- a/Source/Addons/Functions.sqf +++ /dev/null @@ -1,33 +0,0 @@ -#include "macro.hpp" - -COMPILE_FUNCTION(fnc_firedEH); -COMPILE_FUNCTION(fnc_getMappingData); -COMPILE_FUNCTION(fnc_processMappingData); - -COMPILE_FUNCTION(fnc_checkJammed); -COMPILE_FUNCTION(fnc_setJammed); - -COMPILE_FUNCTION(fnc_getJamCause); -COMPILE_FUNCTION(fnc_setWeaponState); -COMPILE_FUNCTION(fnc_getWeaponState); - -COMPILE_FUNCTION(fnc_inspectWeapon); -COMPILE_FUNCTION(fnc_doAction); -COMPILE_FUNCTION(fnc_doHotkeyAction); - -COMPILE_FUNCTION(fnc_pullBolt); -COMPILE_FUNCTION(fnc_manageMagazine); -COMPILE_FUNCTION(fnc_processWeaponFixed); -COMPILE_FUNCTION(fnc_isMagAttached); -COMPILE_FUNCTION(fnc_hasMagazine); - -COMPILE_FUNCTION(fnc_playActionSound); -COMPILE_FUNCTION(fnc_getEnumText); -COMPILE_FUNCTION(fnc_getClassFamily); - -COMPILE_FUNCTION(fnc_uiShowUnjamMenu); -COMPILE_FUNCTION(fnc_uiShowBriefState); -COMPILE_FUNCTION(fnc_uiShowProgressBar); -COMPILE_FUNCTION(fnc_uiShowConfig); - -GVAR(Configure) = { [] spawn GVAR(fnc_uiShowConfig); }; \ No newline at end of file diff --git a/Source/Addons/Init.sqf b/Source/Addons/Init.sqf deleted file mode 100644 index 52d5ad7..0000000 --- a/Source/Addons/Init.sqf +++ /dev/null @@ -1,77 +0,0 @@ - -#include "macro.hpp" - -call compile preprocessFileLineNumbers format ["%1\Enums.sqf", PATH]; -call compile preprocessFileLineNumbers format ["%1\Functions.sqf", PATH]; -call compile preprocessFileLineNumbers format ["%1\Settings.sqf", PATH]; - -// Exit at dedicated or headless client -if (!hasInterface) exitWith {}; -// Init main -[] spawn { - waitUntil { !isNull player && local player }; // Handle 3DEN and/or specator - sleep 5; - - GVAR(ClassFamiliesCache) = call CBA_fnc_createNamespace; - GVAR(ConfigData) = call CBA_fnc_createNamespace; - - if (missionNamespace getVariable ["ace_overheating_enabled",false]) then { - // Wait ACE init - waitUntil { - !isNil "ace_overheating_cacheWeaponData" - && !isNil "ace_overheating_cacheSilencerData" - }; - - // Update ACE Overheating data with custom mapping - call GVAR(fnc_processMappingData); - - // Run ACE Jammed handler if ACE Overheating enabled - GVAR(ACE_Jammed_EH) = [ - "ace_weaponJammed" - , { - if (_this select 1 != primaryWeapon player) exitWith {}; - call GVAR(fnc_setJammed); - } - ] call CBA_fnc_addEventHandler; - }; - - if (!(missionNamespace getVariable ["ace_overheating_enabled",false]) || GVAR(ForceOverallChance)) then { - - // Run EJAM's FiredEH if ACE Overheating disabled OR EJAM Jam chance forced - GVAR(FiredEH) = player addEventHandler ["Fired", { call GVAR(fnc_firedEH) }]; - }; - - // Add ACE Self-Interecation action if ACE Interaction is running - if (!isNil "ace_interact_menu_fnc_createAction") exitWith { - GVAR(ACE_InspectActionClass) = [ - SVAR(ACE_Action_Inspect) - , LOCALIZE_FORMAT_STR("Action_Inspect") - , getText (configFile >> "CfgWeapons" >> primaryWeapon player >> "picture") - , { call GVAR(fnc_inspectWeapon) } - , { true } - ] call ace_interact_menu_fnc_createAction; - - [ - typeof player, 1 - , ["ACE_SelfActions", "ACE_Equipment"] - , GVAR(ACE_InspectActionClass) - ] call ace_interact_menu_fnc_addActionToClass; - - // Loop to handle gun icon change - GVAR(CurrentWeapon) = primaryWeapon player; - while { true } do { - sleep 2; - if (GVAR(CurrentWeapon) != primaryWeapon player && primaryWeapon player != "") then { - GVAR(CurrentWeapon) = primaryWeapon player; - GVAR(ACE_InspectActionClass) set [2, getText(configFile >> "CfgWeapons" >> GVAR(CurrentWeapon) >> "picture")]; - - // Cache weapon family - GVAR(CurrentWeapon) spawn dzn_EJAM_fnc_getClassFamily - }; - - if (GVAR(Force)) then { - ace_overheating_unJamFailChance = 1; - }; - }; - }; -}; diff --git a/Source/Addons/Settings.sqf b/Source/Addons/Settings.sqf deleted file mode 100644 index 6b1d166..0000000 --- a/Source/Addons/Settings.sqf +++ /dev/null @@ -1,181 +0,0 @@ -#include "macro.hpp" - -// Addon Settings - -private _add = { - params ["_var","_type","_val",["_exp", "No Expression"],["_subcat", ""],["_isGlobal", false]]; - - private _arr = [ - FORMAT_VAR(_var) - , _type - , [LOCALIZE_FORMAT_STR(_var), LOCALIZE_FORMAT_STR_desc(_var)] - , if (_subcat == "") then { TITLE } else { [TITLE, _subcat] } - , _val - , _isGlobal - ]; - - if !(typename _exp == "STRING" && { _exp == "No Expression" }) then { _arr pushBack _exp; }; - _arr call CBA_Settings_fnc_init; -}; - -private _addLocal = { - params ["_var", "_type", "_val"]; - [_var, _type, _val, nil, nil, false] call _add; -}; - -// Option to override ACE Unjam -[ - "Force" - , "CHECKBOX" - , true -] call _add; - -// Option to force EJAM's Jam chance over ACE -[ - "ForceOverallChance" - , "CHECKBOX" - , true -] call _add; - -// Overall jam chance -[ - "OverallChanceSetting" - , "SLIDER" - , [0,100, 0.01, 2] - , { - GVAR(OverallChance) = _this; - - // Reset cache - player setVariable [SVAR(FiredLastGunData), nil]; - } -] call _add; - -// Chance of Malfunctions -[ - "feed_failure_ChanceSettings" - , "SLIDER" - , [0, 100, 30, 0] - , { /* Reset cache */ player setVariable [SVAR(FiredLastGunData), nil]; } -] call _add; - -[ - "feed_failure_2_ChanceSettings" - , "SLIDER" - , [0, 100, 20, 0] - , { /* Reset cache */ player setVariable [SVAR(FiredLastGunData), nil]; } -] call _add; - -[ - "dud_ChanceSettings" - , "SLIDER" - , [0, 100, 30, 0] - , { /* Reset cache */ player setVariable [SVAR(FiredLastGunData), nil]; } -] call _add; - -[ - "fail_to_extract_ChanceSettings" - , "SLIDER" - , [0, 100, 20, 0] - , { /* Reset cache */ player setVariable [SVAR(FiredLastGunData), nil]; } -] call _add; - -[ - "fail_to_eject_ChanceSettings" - , "SLIDER" - , [0, 100, 20, 0] - , { /* Reset cache */ player setVariable [SVAR(FiredLastGunData), nil]; } -] call _add; - -// Subsonic ammo effect on jam chance -[ - "SubsonicJamEffectSetting" - , "EDITBOX" - , "20" - , { - GVAR(SubsonicJamEffect) = parseNumber _this; - } -] call _add; - -// Mapping of gun classes on jam settings -[ - "MappingSettings" - , "EDITBOX" - , str(GVAR(Mapping)) select [1, count str(GVAR(Mapping)) -2] - , { - GVAR(Mapping) = call compile ("[" + _this + "]"); - call GVAR(fnc_processMappingData); - - // Reset cache - player setVariable [SVAR(FiredLastGunData), nil]; - } -] call _add; - -// Keybinding -private _addKey = { - params["_var","_str","_downCode",["_defaultKey", nil],["_upCode", { true }]]; - - private _settings = [ - TITLE - , FORMAT_VAR(_var) - , LOCALIZE_FORMAT_STR(_str) - , _downCode - , _upCode - ]; - - if (!isNil "_defaultKey") then { _settings pushBack _defaultKey; }; - _settings call CBA_fnc_addKeybind; -}; - -// Inspect weapon key -[ - "InspectKey" - , "Action_Inspect" - , { call GVAR(fnc_inspectWeapon); true } - , [19, [false,true,false]] -] call _addKey; - -[ - "QuickInspectKey" - , "Action_QuickInspect" - , { "inspect" call GVAR(fnc_doHotkeyAction); true } -] call _addKey; - -// Pull bolt key -[ - "PullBoltKey" - , "Action_PullBolt" - , { "pull_bolt" call GVAR(fnc_doHotkeyAction); true } -] call _addKey; - -// Open bolt key -[ - "OpenBoltKey" - , "Action_OpenBolt" - , { "open_bolt" call GVAR(fnc_doHotkeyAction); true } -] call _addKey; - -// Toggle magazine key -[ - "MagazineKey" - , "Action_MagazineToggle" - , { - (call GVAR(fnc_getWeaponState)) params ["","","","_mag"]; - private _action = if (_mag == "mag_attached") then { "detach_mag" } else { "attach_mag" }; - _action call GVAR(fnc_doHotkeyAction); - true - } -] call _addKey; - -// Clear chamber key -[ - "ClearChamnerKey" - , "Action_ClearChamber" - , { "clear_chamber" call GVAR(fnc_doHotkeyAction); true } -] call _addKey; - -// Remove case key -[ - "RemoveCaseKey" - , "Action_RemoveCase" - , { "remove_case" call GVAR(fnc_doHotkeyAction); true } -] call _addKey; \ No newline at end of file diff --git a/Source/Addons/config.cpp b/Source/Addons/config.cpp deleted file mode 100644 index 59f8adf..0000000 --- a/Source/Addons/config.cpp +++ /dev/null @@ -1,27 +0,0 @@ -class CfgPatches -{ - class dzn_EJAM - { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {"CBA_MAIN"}; - author[] = {"10Dozen"}; - version = "2.6"; - }; -}; - -class Extended_PreInit_EventHandlers -{ - class dzn_EJAM - { - init = call compile preprocessFileLineNumbers "\dzn_EJAM\Init.sqf"; - }; -}; - -#include "ui\dialog.hpp" -#include "ui\dzn_EJAM_Menu.hpp" -#include "ui\dzn_EJAM_ProgressBar.hpp" -#include "ui\dzn_EJAM_Config.hpp" - -#include "sounds\CfgSounds.hpp" \ No newline at end of file diff --git a/Source/Addons/functions/fnc_doHotkeyAction.sqf b/Source/Addons/functions/fnc_doHotkeyAction.sqf deleted file mode 100644 index 6070d1d..0000000 --- a/Source/Addons/functions/fnc_doHotkeyAction.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_doHotkeyAction - -Description: - Process hotkey action init - -Parameters: - _actionName - action to perform - -Returns: - nothing - -Examples: - (begin example) - "pull_bolt" call dzn_EJAM_fnc_doHotkeyAction; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -if !(isNil SVAR(ActionInProgress)) exitWith {}; - -if !("inspect" call GVAR(fnc_checkJammed)) exitWith { - "OK" call GVAR(fnc_uiShowBriefState); -}; - -(call GVAR(fnc_getWeaponState)) params ["_bolt","_chamber","_case","_mag"]; -private _actionID = _this; - -if ( - (_actionID == "clear_chamber" && (_mag == "mag_attached" || _bolt in ["bolt_closed","bolt_not_closed"])) - || - (_actionID == "remove_case" && _bolt in ["bolt_closed","bolt_not_closed"]) -) exitWith { - "no_access" call GVAR(fnc_uiShowBriefState); -}; - -[_actionID, false] call GVAR(fnc_doAction); \ No newline at end of file diff --git a/Source/Addons/functions/fnc_firedEH.sqf b/Source/Addons/functions/fnc_firedEH.sqf deleted file mode 100644 index 2be2944..0000000 --- a/Source/Addons/functions/fnc_firedEH.sqf +++ /dev/null @@ -1,70 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_firedEH - -Description: - -- - -Parameters: - _FiredEH - Eventhandler data of "Fired" EH - -Returns: - nothing - -Examples: - (begin example) - _firedEH call dzn_EJAM_fnc_firedEH; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -params ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_gunner"]; - -private _gun = primaryWeapon player; - -if ( _weapon != _gun || {_muzzle != _gun} || "inspect" call GVAR(fnc_checkJammed) ) exitWith { - // Exit if fired not a main muzzle (e.g. UGL) OR weapon already jammed -}; - -// Get jam chacne (from config or overall) -private _lastFiredGunData = player getVariable [SVAR(FiredLastGunData), []]; -private _jamChance = 0; -if (_lastFiredGunData isEqualTo [] || { _gun != _lastFiredGunData select 0 }) then { - // No gun data - get from mapping - _jamChance = [_gun, "jam"] call GVAR(fnc_getMappingData); - player setVariable [SVAR(FiredLastGunData), [_gun, _jamChance]]; -} else { - // Gun data cached - _jamChance = _lastFiredGunData select 1; -}; - -// Check is subsonic to enlarge jam chance -private _ammo = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"); -private _subsonicSpeed = getNumber (configFile >> "CfgAmmo" >> _ammo >> "typicalSpeed") < 343; -private _lowAudible = getNumber (configFile >> "CfgAmmo" >> _ammo >> "audibleFire") < 10; -if (_subsonicSpeed && _lowAudible ) then { - _jamChance = _jamChance + GVAR(SubsonicJamEffect); -}; - -// Get random value -private _random = random 100; - -// Check random vs jam chance to modify -if (_random <= _jamChance) then { - call GVAR(fnc_setJammed); - - // Stop firing - _gun spawn { - private _gun = _this; - private _frame = diag_frameno; - private _ammo = player ammo _gun; - if (_ammo > 0) then { - player setAmmo [_gun, 0]; - waitUntil {_frame < diag_frameno}; - player setAmmo [_gun, _ammo]; - }; - }; -}; \ No newline at end of file diff --git a/Source/Addons/functions/fnc_getClassFamily.sqf b/Source/Addons/functions/fnc_getClassFamily.sqf deleted file mode 100644 index 508e484..0000000 --- a/Source/Addons/functions/fnc_getClassFamily.sqf +++ /dev/null @@ -1,76 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_getClassFamily - -Description: - Search and return all guns of the same family - (e.g. base weapon and all weapons models w. grip) - -Parameters: - _gunClass - Classname to get family - -Returns: - _familyClasses - List of all family classes - -Examples: - (begin example) - _familyClasses = _gunClass call dzn_EJAM_fnc_getClassFamily; // [@Weapon1, @Weapon2 ... ] - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -private _class = _this; -private _parent = [_class] call BIS_fnc_baseWeapon; -private _result = []; - -if (!isNil { GVAR(ClassFamiliesCache) getVariable _parent }) then { - // Return cached data - _result = GVAR(ClassFamiliesCache) getVariable _parent; - -} else { - // Get data - private _fnc_gfc = { - params ["_class", "_par","_type",["_config","CfgWeapons"]]; - private _result = switch toUpper(_type) do { - case "T"; - case "TXT"; - case "TEXT": { (getText (configFile >> _config >> _class >> _par)) }; - case "A"; - case "ARR"; - case "ARRAY": { (getArray (configFile >> _config >> _class >> _par)) }; - case "N"; - case "NUM"; - case "NUMBER": { (getNumber (configFile >> _config >> _class >> _par)) }; - }; - _result - }; - - private _allGunClasses = configFile >> "CfgWeapons"; - for "_i" from 0 to ((count _allGunClasses) - 1) do { - private _classItem = configName (_allGunClasses select _i); - - if (_classItem != "access") then { - if ( - [_classItem,"type","n"] call _fnc_gfc == 1 - && { - [_classItem,"picture","t"] call _fnc_gfc != "" - && [_classItem,"model","t"] call _fnc_gfc != "" - && [_classItem,"scope","n"] call _fnc_gfc == 2 - } - ) then { - private _baseClass = [_classItem] call BIS_fnc_baseWeapon; - if (_baseClass == _parent) then { - _result pushBack _classItem; - }; - }; - }; - }; - - // Cache data - GVAR(ClassFamiliesCache) setVariable [_parent, _result]; -}; - -(_result) \ No newline at end of file diff --git a/Source/Addons/functions/fnc_processWeaponFixed.sqf b/Source/Addons/functions/fnc_processWeaponFixed.sqf deleted file mode 100644 index ecd5b7a..0000000 --- a/Source/Addons/functions/fnc_processWeaponFixed.sqf +++ /dev/null @@ -1,85 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_processWeaponFixed - -Description: - Verify weapon states and unjam weapon - -Parameters: - nothing - -Returns: - nothing - -Examples: - (begin example) - call dzn_EJAM_fnc_processWeaponFixed - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -if (isNil { player getVariable SVAR(WeaponState) }) exitWith {}; - -private _gun = [primaryWeapon player] call BIS_fnc_baseWeapon; -(call GVAR(fnc_getWeaponState)) params ["_bolt","_chamber","_case","_mag"]; - -if ( - _bolt != "bolt_not_closed" - && _chamber in ["chamber_ready","chamber_empty"] - && _case == "case_ejected" - && _mag == "mag_attached" -) then { - - // Unset weapon from jamming/weapon state lists - private _causes = player getVariable SVAR(Cause); - private _states = player getVariable SVAR(WeaponState); - - player setVariable [ - SVAR(WeaponState) - , _states - (_states select { _gun == _x select 0 }) - ]; - player setVariable [ - SVAR(Cause) - , _causes - (_causes select { _gun == _x select 0 }) - ]; - player setVariable [SVAR(RemovedMagazine), nil]; - player setVariable [SVAR(LooseRound), nil]; - - [] spawn { - if (isNil "ace_common_fnc_displayTextStructured") then { - hint parseText LOCALIZE_FORMAT_STR("Hint_WeaponOK"); - uiSleep 2; - hint ""; - } else { - uiSleep 0.75; - hint ""; - }; - }; - - // Unjamming - if !(missionNamespace getVariable ["ace_overheating_enabled",false]) then { - - // No ACE Overheating - // Remove Prevent Fire handler once all guns were unjammed - if ((player getVariable [SVAR(Cause), []]) isEqualTo []) then { - player removeAction GVAR(PreventFireID); - GVAR(PreventFireID) = nil; - }; - - } else { - - // ACE Overheating enabled - private _oldFailChance = ace_overheating_unJamFailChance; - ace_overheating_unJamFailChance = 0; - - private _family = (primaryWeapon player) call GVAR(fnc_getClassFamily); - { - [player, _x, true] call ace_overheating_fnc_clearJam; - } forEach _family; - - ace_overheating_unJamFailChance = _oldFailChance; - }; -}; \ No newline at end of file diff --git a/Source/Addons/functions/fnc_setJammed.sqf b/Source/Addons/functions/fnc_setJammed.sqf deleted file mode 100644 index af3ffd8..0000000 --- a/Source/Addons/functions/fnc_setJammed.sqf +++ /dev/null @@ -1,78 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_setJammed - -Description: - Selects and applies Jam cause of current primary weapon - -Parameters: - nothing - -Returns: - nothing - -Examples: - (begin example) - call dzn_EJAM_fnc_setJammed - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -private _gun = [primaryWeapon player] call BIS_fnc_baseWeapon; -private _weights = [_gun, "malfunction"] call GVAR(fnc_getMappingData); -private _cause = GVAR(Causes) selectRandomWeighted _weights; - -_cause params ["_causeID","_weaponState"]; - -// Set weapon state -_weaponState call GVAR(fnc_setWeaponState); - -// List weapon as jammed -private _jamCauses = player getVariable [SVAR(Cause), []]; -if ((_jamCauses select { _gun == _x # 0 }) isEqualTo []) then { - - // Add gun to cause list - _jamCauses pushBack [_gun, _causeID]; - player setVariable [SVAR(Cause), _jamCauses]; -} else { - - // Update gun in cause list (actually there is no case for that) - private _itemInList = (_jamCauses select { _gun == _x # 0 }) # 0; - _itemInList set [1, _causeID]; -}; - -// Set gun jamming -if !(missionNamespace getVariable ["ace_overheating_enabled",false]) then { - // No ACE_Overheating - - if (isNil SVAR(PreventFireID)) then { - // Adding prevent fire handler - // until player's weapon is in jammed list - it will prevent firing from this gun but allow other - GVAR(PreventFireID) = player addAction [ - "", { - playSound3D ['a3\sounds_f\weapons\Other\dry9.wss', _this select 0]; - }, "", 0, false, true, "DefaultAction" - , format [ - "_muzzle = str(currentMuzzle player) splitString '""' joinString ''; - (_muzzle == primaryWeapon player) - && [player, primaryWeapon player] call CBA_fnc_canUseWeapon - && ""inspect"" call %1" - , SVAR(fnc_checkJammed) - ] - ]; - }; -} else { - - // ACE_Overheating - [player, primaryWeapon player] call ace_overheating_fnc_jamWeapon; - - [] spawn { - // Async jam whole weapon family (w. and w/o grips) - private _aceJammed = player getVariable ["ace_overheating_jammedWeapons", []]; - private _family = (primaryWeapon player) call GVAR(fnc_getClassFamily); - { _aceJammed pushBackUnique _x; } forEach _family; - }; -}; \ No newline at end of file diff --git a/Source/Addons/stringtable.xml b/Source/Addons/stringtable.xml deleted file mode 100644 index 3ca0951..0000000 --- a/Source/Addons/stringtable.xml +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - Unjam via EJAM only - Починка только через EJAM - 武器只能使用EJAM排障 - 武器只能使用EJAM排障 - - - Force EJAM unjam logic over ACE - Принудительно использовать логику починки EJAM вместо ACE - 强制使用EJAM排障覆盖ACE - 強制使用EJAM排障覆蓋ACE - - - - Override jam chance - Перезаписать шанс на заклинивание - 重新定义武器卡弹概率 - 重新定義武器卡彈概率 - - - Force EJAM Overall jam chance over ACE jamming logic. - Принудительно использовать общий шанс на заклинивание. - 强行让EJAM覆盖ACE卡弹机制 - 强行讓EJAM覆蓋ACE卡彈機制 - - - - Overall jam chance - Общий шанс заклинивания - 整体卡弹概率 - 整體卡彈概率 - - - Default jam chance for all primary weapons. From 0 to 100. Custom weapon setting will be used if set. - Шанс на клин для всего основного оружия. От 0 до 100. Если для оружия указаны специфические настройки - будут использованы они. - 所有主武器的默认卡弹概率. 从0到100. 自定义武器设置后生效 - 所有主武器的默認卡彈概率.從0到100.自定義武器設定後生效 - - - - (Chance of) Feed failure - (Шанс на) Неподачу патрона - 导气系统故障概率 - 導氣系統故障概率 - - - Chance for specific malfunction to happen if weapon got jammed. - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 - 武器卡彈後發生特定故障的概率 - - - (Chance of) Chamber failure - (Шанс на) Утыкание патрона - 供弹失败概率 - 供彈失敗概率 - - - Chance for specific malfunction to happen if weapon got jammed - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 - 武器卡彈後發生特定故障的概率 - - - (Chance of) Dud - (Шанс на) Осечка - 哑弹概率 - 啞彈概率 - - - Chance for specific malfunction to happen if weapon got jammed - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 - 武器卡彈後發生特定故障的概率 - - - (Chance of) Extraction failure - (Шанс на) Неизвлечение гильзы - 抽壳失败概率 - 抽殼失敗概率 - - - Chance for specific malfunction to happen if weapon got jammed - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 - 武器卡彈後發生特定故障的概率 - - - (Chance of) Ejection failure - (Шанс на) Прихват гильзы - 抛壳失败概率 - 拋殼失敗概率 - - - Chance for specific malfunction to happen if weapon got jammed - Шанс, что с оружием случится данная неисправность, если оружие заклинило - 武器卡弹后发生特定故障的概率 - 武器卡彈後發生特定故障的概率 - - - - Subsonic ammunition penalty - Пенальти дозвуковых боеприпасов - 亚音速弹卡弹概率 - 亞音速彈卡彈概率 - - - Jam chance penalty on using subsonic ammo. Value will be added to weapon's jam chance. - Штраф к шансу на заклинивание при использовании дозвуковых патронов. Значение будет добавляться к шансу на клин для оружия. - 额外增加使用亚音速弹药时的卡弹概率 - 額外新增使用亞音速彈藥時的卡彈概率 - - - - Weapon settings - Настройки оружия - 武器设置 - 武器設定 - - - Custom settings for specific weapon. In format [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. Use EJAM Configurator by [ call dzn_EJAM_Configure ] - Настройки для конкретных классов оружия. В формтае [@Класс, @Шанс_на_клин, @Шанс_на_поломку_типа#1...5]. Используйте конфигуратор вызовом [ call dzn_EJAM_Configure ] - 特定武器的自定义设置. 格式为 [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. 使用EJAM配置程序为 [ call dzn_EJAM_Configure ] - 特定武器的自定義設定. 格式為 [@WeaponClass, @JamChance, @MalfunctionChance#1...5]. 使用EJAM配寘程式為 [ call dzn_EJAM_Configure ] - - - - - WEAPON MALFUNCTION - ОРУЖИЕ НЕИСПРАВНО - 武器故障 - 武器故障 - - - - CLOSE - ЗАКРЫТЬ - 关闭 - 關閉 - - - - - Bolt closed - Затвор в переднем положении - 枪机闭合 - 槍機閉合 - - - Bolt <t color="#f79400">not closed</t> - Затвор <t color="#f79400">в среднем положении</t> - 枪机 <t color="#f79400">未闭合</t> - 槍機 <t color="#f79400">未閉合</t> - - - Bolt <t color="#00b9f7">opened</t> - Затвор <t color="#00b9f7">в заднем положении</t> - 枪机 <t color="#00b9f7">已打开</t> - 槍機 <t color="#00b9f7">已打開</t> - - - Chamber empty - Патронник пустой - 枪膛内已清空 - 槍膛內已清空 - - - Chamber <t color="#00b9f7">loaded</t> - Патрон <t color="#00b9f7">в патроннике</t> - 枪膛内 <t color="#00b9f7">已供弹</t> - 槍膛內 <t color="#00b9f7">已供彈</t> - - - Round <t color="#f79400">stuck</t> - Патрон <t color="#f79400">уткнулся</t> - 子弹 <t color="#f79400">卡住</t> - 子彈 <t color="#f79400">卡住</t> - - - Round <t color="#f79400">not extracted</t> - Гильза <t color="#f79400">не извлечена</t> - 子弹 <t color="#f79400">未入膛</t> - 子彈 <t color="#f79400">未入膛</t> - - - Case <t color="#f79400">not ejected</t> - Гильза <t color="#f79400">не выброшена</t> - 弹壳 <t color="#f79400">未抛出</t> - 彈殼 <t color="#f79400">未拋出</t> - - - Case ejected - Гильза выброшена - 弹壳已抛出 - 彈殼已抛出 - - - Magazine attached - Магазин присоединен - 已插入弹匣 - 已插入彈匣 - - - Magazine <t color="#00b9f7">detached</t> - Магазин <t color="#00b9f7">отсоединен<</t>/Russian> - 弹匣 <t color="#00b9f7">卸下</t> - 彈匣 <t color="#00b9f7">卸下</t> - - - - - - Inspect weapon menu - Проверить оружие (меню) - 武器检查菜单 - 武器檢查選單 - - - Inspect weapon (no menu) - Проверить оружие (без меню) - 武器检查 (无菜单) - 武器檢查 (无菜单) - - - Attach/Detach magazine - Присоединить/Отсоединить магазин - 装入/卸下 弹匣 - 裝入/卸下 彈匣 - - - - Pull bolt - Передернуть затвор - 拉动枪机 - 拉動槍機 - - - Open bolt - Отвести затвор - 打开枪机 - 打開槍機 - - - Clear chamber - Очистить патронник - 清理膛室 - 清理膛室 - - - Remove case - Удалить гильзу - 清理卡住的弹壳 - 清理卡住的彈殼 - - - Detach magazine - Отсоединить магазин - 卸下弹匣 - 卸下彈匣 - - - Attach magazine - Присоединить магазин - 装入弹匣 - 裝入彈匣 - - - Inspect weapon - Проверить оружие - 检查武器 - 檢查武器 - - - - - Pulling the bolt - Передергиваем затвор - 正在拉动枪机 - 正在拉動槍機 - - - Opening the bolt - Отводим затвор назад - 正在打开枪机 - 正在打開槍機 - - - Clearing the chamber - Извлекаем патрон из патронника - 正在清理膛室 - 正在清理膛室 - - - Removing the case - Извлекаем гильзу - 正在清理卡住的弹壳 - 正在清理卡住的彈殼 - - - Detaching magazine - Отсоединяем магазин - 正在卸下弹匣 - 正在卸下彈匣 - - - Attaching magazine - Присоединием магазин - 正在装入弹匣 - 正在裝入彈匣 - - - Inspecting - Проверка - 正在检查武器 - 正在檢查武器 - - - - - Magazine dropped - Магазин сброшен - 弹匣脱落 - 彈匣脫落 - - - Magazine attached - Магазин присоединен - 弹匣已裝入 - 彈匣已裝入 - - - Weapon is functioning normally - Оружие функционирует нормально - 武器已可以正常使用 - 武器已可以正常使用 - - - Not possible to perform action! - Невозможно выполнить действие! - 不能执行该命令! - 不能執行該命令! - - - No magazine to load! - Нет магазинов! - 武器无弹匣! - 武器無彈匣! - - - - - - dzn EJAM Weapon Configurator - dzn EJAM Конфигуратор оружия - dzn EJAM 自定义武器设置 - dzn EJAM自定義武器設定 - - - Weapon - Оружие - 武器 - 武器 - - - No weapon selected - Оружие не выбрано - 没有选择武器 - 沒有選擇武器 - - - Filter... - Фильтр... - 搜索栏 - 蒐索欄 - - - - - Save - Сохранить - 保存 - 保存 - - - Copy - Копировать - 复制 - 複製 - - - Paste - Вставить - 粘贴 - 粘貼 - - - Reset - Сброс - 重置 - 重置 - - - Close - Закрыть - 关闭 - 關閉 - - - - - Enter/NumEnter to apply filter. Use "|" for multiple filter values - Enter/NumEnter для применения фильтра. Используйте "|" для фильтрации по нескольким значениям - 输入武器名称后. 按左Shift+回车或小键盘回车即可执行搜索. 搜索多个武器时可以用 "|" 将几个关键词隔开 - 輸入武器名稱後. 按左Shift+回車或小鍵盤回車即可執行蒐索. 蒐索多個武器時可以用 "|" 將幾個關鍵字隔開 - - - Unsets weapon settings - Сбрасывает настройки для оружия - 取消武器设置 - 取消武器設定 - - - Double clicking list element will also apply copied settings! - Двойной клик по оружию из списка также применит скопированные настройки! - 双击列表内容也能应用复制的设置文本! - 按兩下清單內容也能應用複製的設定文字! - - - - - No data to apply! - Нет данных для применения! - 无数据可应用! - 無數據可應用! - - - - Applied! - Применено! - 设置已应用! - 設定已應用! - - - Config copied! - Конфигурация скопирована! - 设置已复制! - 設定已複製! - - - Config saved! - Конфигурация сохранена! - 设置已保存! - 設定已保存! - - - - - \ No newline at end of file diff --git a/Source/Script/Enums.sqf b/Source/Script/Enums.sqf deleted file mode 100644 index 43d03da..0000000 --- a/Source/Script/Enums.sqf +++ /dev/null @@ -1,89 +0,0 @@ -#include "macro.hpp" - -// Causes list in format: [ @ID, [@BoltState, @ChamberState, @CaseState, @MagState] ] -GVAR(Causes) = [ - [ - /* "Неподача патрона" */ - /* To fix: "pull_bolt" */ - "feed_failure" - ,["bolt_closed","chamber_empty","case_ejected","mag_attached"] - ] - ,[ - /* "Утыкание патрона" */ - /* To fix: "open_bolt","detach_mag","clear_chamber" */ - "feed_failure_2" - ,["bolt_not_closed","chamber_stucked","case_ejected","mag_attached"] - - ] - ,[ - /* "Осечка" */ - /* To fix: "pull_bolt" */ - "dud" - ,["bolt_closed","chamber_ready","case_ejected","mag_attached"] - ] - ,[ - /* "Неизвлечение гильзы" */ - /* To fix: "open_bolt","detach_mag","remove_case","clear_chamber" */ - "fail_to_extract" - ,["bolt_not_closed","chamber_not_extracted","case_not_ejected","mag_attached"] - ] - ,[ - /* "Прихват гильзы" */ - /* To fix: "open_bolt","remove_case" */ - "fail_to_eject" - ,["bolt_not_closed","chamber_empty","case_not_ejected","mag_attached"] - ] -]; - -// , [ -// /* Затяжной выстрел */ -// /* To fix: "pull_bolt" */ -// "hang_fire" -// , ["bolt_closed","chamber_ready","case_ejected","mag_attached"] -// ] -// , [ -// /* Неконтролируемый автоматический огонь */ -// /* To fix: "detach_mag" or reload */ -// "unmanned_fire" -// , ["bolt_closed","chamber_ready","case_ejected","mag_attached"] -// ] - - -// Weapon States; In format [@ID, @DisplayName] -GVAR(States) = [ - ["bolt_closed" ,localize "STR_EJAM_State_BoltClosed"] - ,["bolt_not_closed" ,localize "STR_EJAM_State_BoltNotClosed"] - ,["bolt_opened" ,localize "STR_EJAM_State_BoltOpened"] - ,["chamber_empty" ,localize "STR_EJAM_State_ChamberEmpty"] - ,["chamber_ready" ,localize "STR_EJAM_State_ChamberReady"] - ,["chamber_stucked" ,localize "STR_EJAM_State_ChamberStucked"] - ,["chamber_not_extracted" ,localize "STR_EJAM_State_ChamberNotExtracted"] - ,["case_not_ejected" ,localize "STR_EJAM_State_ChamberNotEjected"] - ,["case_ejected" ,localize "STR_EJAM_State_CaseEjected"] - ,["mag_attached" ,localize "STR_EJAM_State_MagAttached"] - ,["mag_detached" ,localize "STR_EJAM_State_MagDetached"] -]; - -// Actions; In format [@ID, @DisplayName, @ProgressBarDisplayText, @TimeSpent] -GVAR(FixActions) = [ - ["pull_bolt" ,localize "STR_EJAM_Action_PullBolt" , localize "STR_EJAM_Action_PullBolt_Process" , 0.5] - ,["open_bolt" ,localize "STR_EJAM_Action_OpenBolt" , localize "STR_EJAM_Action_OpenBolt_Process" , 0.5] - ,["clear_chamber" ,localize "STR_EJAM_Action_ClearChamber" , localize "STR_EJAM_Action_ClearChamber_Process" , 3] - ,["remove_case" ,localize "STR_EJAM_Action_RemoveCase" , localize "STR_EJAM_Action_RemoveCase_Process" , 1.5] - ,["detach_mag" ,localize "STR_EJAM_Action_MagDetach" , localize "STR_EJAM_Action_MagDetach_Process" , 0.3] - ,["attach_mag" ,localize "STR_EJAM_Action_MagAttach" , localize "STR_EJAM_Action_MagAttach_Process" , 0.75] - ,["inspect" ,localize "STR_EJAM_Action_Inspect" , localize "STR_EJAM_Action_Inspect_Process" , 0.5] -]; - -GVAR(Defaults) = [ - "bolt_closed" - , "chamber_ready" - , "case_ejected" - , "mag_attached" -]; - -GVAR(Mapping) = [ - [ - "arifle_MX_F", 0.05, 45, 10, 45, 0, 0 - ] -]; \ No newline at end of file diff --git a/Source/Script/description.ext b/Source/Script/description.ext deleted file mode 100644 index 874614c..0000000 --- a/Source/Script/description.ext +++ /dev/null @@ -1,12 +0,0 @@ - -#include "dzn_EJAM\ui\dialog.hpp" -#include "dzn_EJAM\ui\dzn_EJAM_Menu.hpp" -#include "dzn_EJAM\ui\dzn_EJAM_ProgressBar.hpp" -#include "dzn_EJAM\ui\dzn_EJAM_Config.hpp" -#include "dzn_EJAM\sounds\CfgSounds.hpp" - - -enableDebugConsole = 1; -disabledAI = 1; -respawn = 3; -respawnDelay = 9999999; diff --git a/Source/Script/functions/fnc_checkJammed.sqf b/Source/Script/functions/fnc_checkJammed.sqf deleted file mode 100644 index 53a7d31..0000000 --- a/Source/Script/functions/fnc_checkJammed.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_checkJammed - -Description: - Check whether primary weapon is jammed and (a) cause set, (b) cause not set. - -Parameters: - _this - Need to check both ACE and EJAM jamming is set - -Returns: - _checkType - Type fo check: "inspect" (check that both cause and ace_overheat is set) or "cause" (check that ace is jammed but no cause set) - -Examples: - (begin example) - _isJammed = true call dzn_EJAM_fnc_checkJammed; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -private _aceJammed = !(missionNamespace getVariable ["ace_overheating_enabled", false]) || (primaryWeapon player) in (player getVariable ["ace_overheating_jammedWeapons", []]); -private _causeSet = (call GVAR(fnc_getJamCause)) != ""; - -private _result = false; - -switch toLower(_this) do { - case "inspect": { - _result = _aceJammed && _causeSet; - }; - case "cause": { - _result = _aceJammed && !_causeSet; - }; -}; - -(_result) \ No newline at end of file diff --git a/Source/Script/functions/fnc_doAction.sqf b/Source/Script/functions/fnc_doAction.sqf deleted file mode 100644 index 6c8fe62..0000000 --- a/Source/Script/functions/fnc_doAction.sqf +++ /dev/null @@ -1,132 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_doAction - -Description: - Process selected action from Weapon Malfunction menu and return to malfunction menu. - -Parameters: - _actionName - action to perform - -Returns: - nothing - -Examples: - (begin example) - "pull_bolt" call dzn_EJAM_fnc_doAction; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -params ["_actionID", ["_isMenuAction", true]]; - -GVAR(ActionInProgress) = true; - -// Update magazine state -[nil, nil, nil, if (call GVAR(fnc_isMagAttached)) then { "mag_attached" } else { "mag_detached" }] call GVAR(fnc_setWeaponState); - -#define REMOVE_ROUND if ((player getVariable SVAR(RemovedMagazine) select 1) > 0) then { player setVariable [SVAR(LooseRound), true]; } -#define SHOW_MENU if (_args) then { call GVAR(fnc_inspectWeapon) } else { "state" call GVAR(fnc_uiShowBriefState) } -#define FINISH_ACTION GVAR(ActionInProgress) = nil -#define PLAY_ANIMATION if (stance player != "PRONE" && vehicle player == player) then { player playActionNow "DismountOptic"; } - -private _title = [_actionID, "process"] call GVAR(fnc_getEnumText); -private _args = _isMenuAction; -private _time = [_actionID, "time"] call GVAR(fnc_getEnumText);; -private _code = {}; - -private _needExecute = true; -private _needSound = true; - -switch (_actionID) do { - case "pull_bolt": { - _code = { - call GVAR(fnc_pullBolt); - SHOW_MENU; - FINISH_ACTION; - }; - }; - case "open_bolt": { - _code = { - ["bolt_opened",nil,nil,nil] call GVAR(fnc_setWeaponState); - SHOW_MENU; - FINISH_ACTION; - }; - }; - case "clear_chamber": { - PLAY_ANIMATION; - _code = { - REMOVE_ROUND; - [nil,"chamber_empty",nil,nil] call GVAR(fnc_setWeaponState); - SHOW_MENU; - FINISH_ACTION; - }; - }; - case "remove_case": { - PLAY_ANIMATION; - _code = { - [nil,nil,"case_ejected",nil] call GVAR(fnc_setWeaponState); - SHOW_MENU; - FINISH_ACTION; - }; - }; - case "detach_mag": { - if ((primaryWeaponMagazine player) isEqualTo []) exitWith { - FINISH_ACTION; - _needExecute = false; - }; - - _code = { - true call GVAR(fnc_manageMagazine); - [nil, nil, nil, if (call GVAR(fnc_isMagAttached)) then { "mag_attached" } else { "mag_detached" }] call GVAR(fnc_setWeaponState); - SHOW_MENU; - FINISH_ACTION; - }; - }; - case "attach_mag": { - if !(call GVAR(fnc_hasMagazine)) exitWith { - FINISH_ACTION; - private _msg = [LOCALIZE_FORMAT_STR("Hint_NoMag"),1.5]; - if (isNil "ace_common_fnc_displayTextStructured") then { - hint parseText (_msg select 0); - } else { - _msg call ace_common_fnc_displayTextStructured; - }; - - _needExecute = false; - }; - - _code = { - false call GVAR(fnc_manageMagazine); - [nil, nil, nil, if (call GVAR(fnc_isMagAttached)) then { "mag_attached" } else { "mag_detached" }] call GVAR(fnc_setWeaponState); - SHOW_MENU; - FINISH_ACTION; - }; - }; - case "inspect": { - _code = { - "state" call GVAR(fnc_uiShowBriefState); - FINISH_ACTION; - }; - _needSound = false; - }; -}; - -if !(_needExecute) exitWith {}; - -if (isNil "ace_common_fnc_progressBar") then { - - // No ACE: use custom progress bar - [_time, _title, _code, _args] call GVAR(fnc_uiShowProgressBar); -} else { - - // ACE detected: use ace progress bar - [_time, _args, _code, {}, _title, {true}, ["isNotInside", "isNotSwimming", "isNotSitting"]] call ace_common_fnc_progressBar; -}; - -if (_needSound) then { - _actionID call GVAR(fnc_playActionSound); -}; \ No newline at end of file diff --git a/Source/Script/functions/fnc_getEnumText.sqf b/Source/Script/functions/fnc_getEnumText.sqf deleted file mode 100644 index cc77079..0000000 --- a/Source/Script/functions/fnc_getEnumText.sqf +++ /dev/null @@ -1,47 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_getEnumText - -Description: - Resolve enum value to localized text - -Parameters: - _enumValue - Value of enum - _enumType - Type of the enum to search: "state", "action", "process", "time" - -Returns: - _text - Localized text value - -Examples: - (begin example) - _boltStateText = ["bolt_not_closed", "state"] call dzn_EJAM_fnc_getEnumText; - _pullProcess = ["pull_bolt", "process"] call dzn_EJAM_fnc_getEnumText; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -params ["_text", "_source"]; - -_text = toLower(_text); -_source = toLower(_source); - -private _result = ""; -switch (_source) do { - case "state": { - _result = (GVAR(States) select { _x select 0 == _text }) select 0 select 1; - }; - case "action": { - _result = (GVAR(FixActions) select { _x select 0 == _text }) select 0 select 1; - }; - case "process": { - _result = (GVAR(FixActions) select { _x select 0 == _text }) select 0 select 2; - }; - case "time": { - _result = (GVAR(FixActions) select { _x select 0 == _text }) select 0 select 3; - }; -}; - -(_result) \ No newline at end of file diff --git a/Source/Script/functions/fnc_getJamCause.sqf b/Source/Script/functions/fnc_getJamCause.sqf deleted file mode 100644 index f8e9680..0000000 --- a/Source/Script/functions/fnc_getJamCause.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_getJamCause - -Description: - Return current primary weapon jam cause or "" if not set - -Parameters: - nothing - -Returns: - _jamCause - Cause enum value or "" - -Examples: - (begin example) - _cause = call dzn_EJAM_fnc_getJamCause; // "dud" - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -private _gun = [primaryWeapon player] call BIS_fnc_baseWeapon; -private _cause = ((player getVariable [SVAR(Cause), []]) select { _gun == _x # 0 }); - -if (_cause isEqualTo []) exitWith { "" }; - -(_cause # 0 # 1) \ No newline at end of file diff --git a/Source/Script/functions/fnc_getMappingData.sqf b/Source/Script/functions/fnc_getMappingData.sqf deleted file mode 100644 index cceecf6..0000000 --- a/Source/Script/functions/fnc_getMappingData.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_getMappingData - -Description: - Return jam/malfunctions mapping data. - -Parameters: - _weaponClass - Classname of weapon to get data - _dataType - Type of data to return: "jam" or "malfunction" - _isForConfig - (optional) Is data returned for config or for inner functions. Default: false - -Returns: - _data - Mapping data ( for "jam") or ( of "malfunction") - -Examples: - (begin example) - _jamCahcne = [_gun, "jam"] call dzn_EJAM_fnc_getMappingData; // 1.5 - _malfunctionWeights = [_gun, "malfunction"] call dzn_EJAM_fnc_getMappingData; // [20,20,25,25,10] - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -params ["_gun", "_type", ["_isForConfig", false]]; - -_gun = [_gun] call BIS_fnc_baseWeapon; -_type = toLower(_type); - -private _data = []; -private _result = -1; - -if (!isNil { GVAR(ConfigData) getVariable _gun}) then { - // Customized data found - _data = [] + (GVAR(ConfigData) getVariable _gun); - -} else { - // No custom data - use overall - if !(_isForConfig) then { - _data = [ - GVAR(OverallChance) - , GVAR(feed_failure_ChanceSettings) - , GVAR(feed_failure_2_ChanceSettings) - , GVAR(dud_ChanceSettings) - , GVAR(fail_to_extract_ChanceSettings) - , GVAR(fail_to_eject_ChanceSettings) - ]; - } else { - _data = [0,0,0,0,0,0]; - }; - -}; - -switch toLower(_type) do { - case "jam": { - _result = _data select 0; - }; - case "malfunction": { - _data deleteAt 0; - _result = _data; - }; -}; - -(_result) \ No newline at end of file diff --git a/Source/Script/functions/fnc_getWeaponState.sqf b/Source/Script/functions/fnc_getWeaponState.sqf deleted file mode 100644 index dc653ec..0000000 --- a/Source/Script/functions/fnc_getWeaponState.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_getWeaponState - -Description: - Return state of current primary weapon elements (bolt, chamber, case ejection port and magazine) - -Parameters: - nothing - -Returns: - _weaponState - List of weapon parts states - -Examples: - (begin example) - _weaponState = call dzn_EJAM_fnc_getWeaponState; // ["bolt_not_closed","chamber_stucked","case_ejected","mag_attached"] - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -private _gun = [primaryWeapon player] call BIS_fnc_baseWeapon; -private _state = ((player getVariable [SVAR(WeaponState), []]) select { _gun == _x # 0 }); - -if (_state isEqualTo []) exitWith { [] }; - -_state = [] + (_state # 0); -_state deleteAt 0; - -(_state) \ No newline at end of file diff --git a/Source/Script/functions/fnc_hasMagazine.sqf b/Source/Script/functions/fnc_hasMagazine.sqf deleted file mode 100644 index 1b24c0e..0000000 --- a/Source/Script/functions/fnc_hasMagazine.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_hasMagazine - -Description: - Returns true if player has magazine to current primary weapon. - -Parameters: - nothing - -Returns: - _hasMagazine - Does player has magazine - -Examples: - (begin example) - _hasMagazine = call dzn_EJAM_fnc_hasMagazine; // true - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -private _weaponMags = (getArray (configFile >> "CfgWeapons" >> primaryWeapon player >> "magazines")) apply { toLower(_x) }; -private _mag = []; -{ - if (toLower(_x select 0) in _weaponMags) exitWith { _mag = _x; }; -} forEach (magazinesAmmo player); - -private _result = !(_mag isEqualTo []); - -(_result) \ No newline at end of file diff --git a/Source/Script/functions/fnc_inspectWeapon.sqf b/Source/Script/functions/fnc_inspectWeapon.sqf deleted file mode 100644 index 6dbe879..0000000 --- a/Source/Script/functions/fnc_inspectWeapon.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_inspectWeapon - -Description: - Open Unjam menu or draw hint if weapon is not jammed. - -Parameters: - nothing - -Returns: - nothing - -Examples: - (begin example) - call dzn_EJAM_fnc_inspectWeapon; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -if ("inspect" call GVAR(fnc_checkJammed)) then { - [] spawn GVAR(fnc_uiShowUnjamMenu); -} else { - hint parseText format [ - "%1
" - , LOCALIZE_FORMAT_STR("Hint_WeaponOK") - , getText (configFile >> "CfgWeapons" >> primaryWeapon player >> "picture") - ]; -}; \ No newline at end of file diff --git a/Source/Script/functions/fnc_isMagAttached.sqf b/Source/Script/functions/fnc_isMagAttached.sqf deleted file mode 100644 index 18eda9e..0000000 --- a/Source/Script/functions/fnc_isMagAttached.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_isMagAttached - -Description: - Process selected action from Weapon Malfunction menu - -Parameters: - nothing - -Returns: - _isMagAttached - Is magazine attached to primary weapon - -Examples: - (begin example) - call dzn_EJAM_fnc_isMagAttached; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -private _result = (weaponState player select 3) != ""; - -(_result) \ No newline at end of file diff --git a/Source/Script/functions/fnc_manageMagazine.sqf b/Source/Script/functions/fnc_manageMagazine.sqf deleted file mode 100644 index 767c4e8..0000000 --- a/Source/Script/functions/fnc_manageMagazine.sqf +++ /dev/null @@ -1,68 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_manageMagazine - -Description: - Process magazine detach/attach action called from Weapon Malfunction menu. - If appropriate setting is turned on - detached magazine will be dropped in front of player, - -Parameters: - _needRemove - Should magazine be detached (true) or attached (false) from weapon - -Returns: - nothing - -Examples: - (begin example) - true call dzn_EJAM_fnc_manageMagazine; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -private _needRemove = _this; -private _gun = primaryWeapon player; -private _msg = []; - -if (_needRemove) then { - private _allMags = magazinesAmmo player; - private _gunMagClass = (primaryWeaponMagazine player) select 0; - private _gunMagAmmo = player ammo _gun; - - player removePrimaryWeaponItem _gunMagClass; - player addMagazine [_gunMagClass, _gunMagAmmo]; - - if ((magazinesAmmo player) isEqualTo _allMags) then { - private _holder = createVehicle ["WeaponHolderSimulated",player modelToWorld [0,0.75,0], [],0,"CAN_COLLIDE"]; - _holder addMagazineAmmoCargo [_gunMagClass, 1, _gunMagAmmo]; - - "drop_mag" call GVAR(fnc_playActionSound); - _msg = [LOCALIZE_FORMAT_STR("Hint_MagDropped"), 1.5]; - }; -} else { - private _weaponMags = (getArray (configFile >> "CfgWeapons" >> _gun >> "magazines")) apply { toLower(_x) }; - private _mag = []; - { - if (toLower(_x select 0) in _weaponMags) exitWith { _mag = _x; }; - } forEach (magazinesAmmo player); - - if (_mag isEqualTo []) then { - _msg = [LOCALIZE_FORMAT_STR("Hint_NoMag"),1.5]; - } else { - player addPrimaryWeaponItem (_mag select 0); - player setAmmo [primaryWeapon player, (_mag select 1)]; - player removeMagazine (_mag select 0); - - _msg = [LOCALIZE_FORMAT_STR("Hint_MagAttached"),1.5] - }; -}; - -if (_msg isEqualTo []) exitWith {}; - -if (isNil "ace_common_fnc_displayTextStructured") then { - hint parseText (_msg select 0); -} else { - _msg call ace_common_fnc_displayTextStructured; -}; \ No newline at end of file diff --git a/Source/Script/functions/fnc_playActionSound.sqf b/Source/Script/functions/fnc_playActionSound.sqf deleted file mode 100644 index 698e850..0000000 --- a/Source/Script/functions/fnc_playActionSound.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_playActionSound - -Description: - Plays appropriate action sound in 3D - -Parameters: - _actionName - action to perform - -Returns: - nothing - -Examples: - (begin example) - "pull_bolt" call dzn_EJAM_fnc_playActionSound; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -private _actionID = _this; - -player say3d [_actionID, 1000, 1]; \ No newline at end of file diff --git a/Source/Script/functions/fnc_processMappingData.sqf b/Source/Script/functions/fnc_processMappingData.sqf deleted file mode 100644 index 95cf54d..0000000 --- a/Source/Script/functions/fnc_processMappingData.sqf +++ /dev/null @@ -1,49 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_processMappingData - -Description: - Update ACE Overheating cache data and set up EJAM customized config - according to dzn_EJAM Jam chance Mapping - -Parameters: - nothing - -Returns: - nothing - -Examples: - (begin example) - call dzn_EJAM_fnc_processMappingData; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -// Reset EJAM's config -private _configVars = allVariables GVAR(ConfigData); -{ - GVAR(ConfigData) setVariable [_x, nil]; -} forEach _configVars; - -{ - _x params ["_gun","_jamChance"]; - - _gun = [_gun] call BIS_fnc_baseWeapon; - - if (isNil {ace_overheating_cacheWeaponData getVariable _gun}) then { - [_gun] call ace_overheating_fnc_getWeaponData; - }; - - private _data = ace_overheating_cacheWeaponData getVariable _gun; - - // Set ACE Overheating customized data - _data set [2, _jamChance/100]; - ace_overheating_cacheWeaponData setVariable [_gun, _data]; - - // Set EJAM customized data for weapon - GVAR(ConfigData) setVariable [_gun, _x select [1,6]]; - -} forEach GVAR(Mapping); \ No newline at end of file diff --git a/Source/Script/functions/fnc_pullBolt.sqf b/Source/Script/functions/fnc_pullBolt.sqf deleted file mode 100644 index 76a32de..0000000 --- a/Source/Script/functions/fnc_pullBolt.sqf +++ /dev/null @@ -1,64 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_pullBolt - -Description: - Process bolt pulling action called from Weapon Malfunctions menu - -Parameters: - nothing - -Returns: - nothing - -Examples: - (begin example) - call dzn_EJAM_fnc_pullBolt; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -#define REMOVE_ROUND if ((player getVariable SVAR(RemovedMagazine) select 1) > 0) then { player setVariable [SVAR(LooseRound), true]; } - -(call GVAR(fnc_getWeaponState)) params ["_bolt","_chamber","_case","_mag"]; - -private _hasAmmo = player ammo (currentWeapon player) > 0; - -if (_case == "case_not_ejected") then { - if (_mag == "mag_attached" && _hasAmmo) then { - ["bolt_not_closed","chamber_stucked",nil,nil] call GVAR(fnc_setWeaponState); - } else { - ["bolt_not_closed",nil,nil,nil] call GVAR(fnc_setWeaponState); - }; -} else { - if (_chamber == "chamber_stucked") then { - ["bolt_not_closed",nil,nil,nil] call GVAR(fnc_setWeaponState); - } else { - if (_chamber == "chamber_empty") then { - if (_mag == "mag_attached" && _hasAmmo) then { - ["bolt_closed","chamber_ready",nil,nil] call GVAR(fnc_setWeaponState); - } else { - ["bolt_closed",nil,nil,nil] call GVAR(fnc_setWeaponState); - }; - } else { - if (_chamber in ["chamber_not_extracted","chamber_ready"]) then { - if (_mag == "mag_attached" && _hasAmmo) then { - if (_bolt == "bolt_opened") then { - ["bolt_not_closed","chamber_stucked",nil,nil] call GVAR(fnc_setWeaponState); - } else { - if (_chamber == "chamber_ready") then { REMOVE_ROUND; }; - ["bolt_closed","chamber_ready",nil,nil] call GVAR(fnc_setWeaponState); - }; - } else { - if (_chamber == "chamber_ready") then { REMOVE_ROUND; }; - ["bolt_closed","chamber_empty",nil,nil] call GVAR(fnc_setWeaponState); - }; - }; - }; - }; -}; - -call GVAR(fnc_processWeaponFixed); \ No newline at end of file diff --git a/Source/Script/functions/fnc_setWeaponState.sqf b/Source/Script/functions/fnc_setWeaponState.sqf deleted file mode 100644 index a660f33..0000000 --- a/Source/Script/functions/fnc_setWeaponState.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_setWeaponState - -Description: - Set/updates state of current equipped weapon elements (bolt, chamber, case ejection port and magazine) - -Parameters: - _weaponState - List of weapon parts states - -Returns: - nothing - -Examples: - (begin example) - [ - "bolt_closed" - ,"chamber_empty" - ,"case_ejected" - ,"mag_attached" - ] call dzn_EJAM_fnc_setWeaponState; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -private _gun = [primaryWeapon player] call BIS_fnc_baseWeapon; -private _weaponStates = player getVariable [SVAR(WeaponState), []]; - -if ((_weaponStates select { _gun == _x # 0 }) isEqualTo []) then { - - // First time set - _weaponStates pushBack ([_gun] + _this); - player setVariable [SVAR(WeaponState), _weaponStates]; -} else { - - // Update state (parse _this with _currentState as defaults) - private _currentState = (_weaponStates select { _gun == _x # 0 }) # 0; - - params[ - ["_boltState", _currentState # 1] - ,["_chamberState", _currentState # 2] - ,["_caseState", _currentState # 3] - ,["_magState", _currentState # 4] - ]; - - _currentState set [1, _boltState]; - _currentState set [2, _chamberState]; - _currentState set [3, _caseState]; - _currentState set [4, _magState]; -}; diff --git a/Source/Script/functions/fnc_uiShowBriefState.sqf b/Source/Script/functions/fnc_uiShowBriefState.sqf deleted file mode 100644 index fe6830b..0000000 --- a/Source/Script/functions/fnc_uiShowBriefState.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_uiShowBriefState - -Description: - Draw hint message of weapon state - -Parameters: - _messageType - Message type to display: "ok", "state" - -Returns: - nothing - -Examples: - (begin example) - "ok" call dzn_EJAM_fnc_uiShowBriefState; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -switch toLower(_this) do { - case "ok": { - hint parseText format [ - "%1
" - , LOCALIZE_FORMAT_STR("Hint_WeaponOK") - , getText (configFile >> "CfgWeapons" >> primaryWeapon player >> "picture") - ]; - }; - case "no_access": { - hint parseText format [ - "%1
" - , LOCALIZE_FORMAT_STR("Hint_NoAccess") - , getText (configFile >> "CfgWeapons" >> primaryWeapon player >> "picture") - ]; - }; - case "state": { - (call GVAR(fnc_getWeaponState)) params [ - ["_bolt", GVAR(Defaults) # 0] - , "" - , "" - ,["_mag", GVAR(Defaults) # 3] - ]; - - hint parseText format [ - "%1
%2
" - , [_bolt, "state"] call GVAR(fnc_getEnumText) - , [_mag, "state"] call GVAR(fnc_getEnumText) - , getText (configFile >> "CfgWeapons" >> primaryWeapon player >> "picture") - ]; - }; -}; diff --git a/Source/Script/functions/fnc_uiShowConfig.sqf b/Source/Script/functions/fnc_uiShowConfig.sqf deleted file mode 100644 index e418330..0000000 --- a/Source/Script/functions/fnc_uiShowConfig.sqf +++ /dev/null @@ -1,407 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_uiShowConfig - -Description: - Draw EJAM Weapon Configurator UI menu. - -Parameters: - nothing - -Returns: - nothing - -Examples: - (begin example) - [] spawn dzn_EJAM_fnc_uiShowConfig; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -closeDialog 2; -sleep 0.001; - -// Prerparation -GVAR(SearchRun) = false; - -// Define UI functions -fnc_EJAM_gfc = { - params ["_class", "_par","_type",["_config","CfgWeapons"]]; - private _result = switch toUpper(_type) do { - case "T"; - case "TXT"; - case "TEXT": { (getText (configFile >> _config >> _class >> _par)) }; - case "A"; - case "ARR"; - case "ARRAY": { (getArray (configFile >> _config >> _class >> _par)) }; - case "N"; - case "NUM"; - case "NUMBER": { (getNumber (configFile >> _config >> _class >> _par)) }; - }; - _result -}; - -fnc_EJAM_filterWeapons = { - private _searchString = _this; - private _searchList = if (count (_searchString splitString "|") > 0) then { - _searchString splitString " " joinString "" splitString "|"; - } else { - [_searchString] - }; - - private _resultList = []; - private _allGunClasses = configFile >> "CfgWeapons"; - for "_i" from 0 to ((count _allGunClasses) - 1) do { - - private _class = configName (_allGunClasses select _i); - - if (_class != "access") then { - private _name = [_class,"displayName","t"] call fnc_EJAM_gfc; - - // Filter only classes with picture, model and scope=2 - if ( - [_class,"type","n"] call fnc_EJAM_gfc == 1 - && { - [_class,"picture","t"] call fnc_EJAM_gfc != "" - && [_class,"model","t"] call fnc_EJAM_gfc != "" - && [_class,"scope","n"] call fnc_EJAM_gfc == 2 - } - ) then { - private _found = false; - private _baseClass = [_class] call BIS_fnc_baseWeapon; - - if !(_baseClass in _resultList) then { - private _name = [_baseClass,"displayName","t"] call fnc_EJAM_gfc; - - { - // Filter by string and source - if ( [_x, _name, false] call BIS_fnc_inString ) then { - _found = true; - }; - } forEach _searchList; - - if (_found) then { - _resultList pushBackUnique _class; - }; - }; - }; - }; - }; - - _resultList -}; - -fnc_EJAM_collectSliderData = { - private _gun = call fnc_EJAM_uiGetSelected; - private _display = (findDisplay 134802); - private _data = [_gun]; - - // Jam chance w. 0.00 accuracy & other sliders w. 0.0 accuracy - { - private _accuracy = if (_forEachIndex == 0) then { 100 } else { 10 }; - _data pushBack (floor (sliderPosition (_display displayCtrl _x) * _accuracy) / _accuracy); - } forEach [6040, 6041,6042,6043,6044,6045]; - - (_data) -}; - - - -fnc_EJAM_uiOnFilterKeyDown = { - params ["_control", "_key", "_shift", "_ctrl", "_alt"]; - - // Exit if key is not ENTER or NumEnter - if (!(_key in [28,156]) || GVAR(SearchRun)) exitWith {}; - - private _serachString = ctrlText _control; - GVAR(SearchRun) = true; - - private _list = _serachString call fnc_EJAM_filterWeapons; - - // Update listbox - _list call fnc_EJAM_uiUpatdeListbox; - - [] spawn { - uiSleep 0.5; - GVAR(SearchRun) = false; - }; -}; - -fnc_EJAM_uiUpatdeListbox = { - private _list = _this; - private _ctrlList = ((findDisplay 134802) displayCtrl 6011); - - lbClear _ctrlList; - //["", false] call fnc_EJAM_uiUpdateSliders; - - if !(_list isEqualTo []) then { - { - _ctrlList lbAdd ([_x,"displayName","t"] call fnc_EJAM_gfc); - _ctrlList lbSetPicture [_forEachIndex, [_x,"picture","t"] call fnc_EJAM_gfc]; - _ctrlList lbSetData [_forEachIndex, _x]; - } forEach _list; - - lbSort _ctrlList; - _ctrlList lbSetCurSel 0; - }; -}; - -fnc_EJAM_uiGetSelected = { - private _display = (findDisplay 134802); - private _lbCtrl = (_display displayCtrl 6011); - private _gun = _lbCtrl lbData (lbCurSel _lbCtrl); - - (_gun) -}; - -fnc_EJAM_uiOnGunSelected = { - params ["_control", "_selectedIndex"]; - - private _class = call fnc_EJAM_uiGetSelected; - - _class call fnc_EJAM_uiUpdateWeaponData; - [_class, true] call fnc_EJAM_uiUpdateSliders; - true call fnc_EJAM_uiUpdateButtons; -}; - -fnc_EJAM_uiUpdateWeaponData = { - private _class = _this; - private _display = (findDisplay 134802); - - private _gunName = parseText format [ - "%1 %2" - , [_class,"displayName","t"] call fnc_EJAM_gfc - , [_class,"author","t"] call fnc_EJAM_gfc - ]; - private _gunImage = parseText format [ - "" - , [_class,"picture","t"] call fnc_EJAM_gfc - ]; - - ((findDisplay 134802) displayCtrl 6021) ctrlSetStructuredText _gunName; - ((findDisplay 134802) displayCtrl 6020) ctrlSetStructuredText _gunImage; -}; - -fnc_EJAM_uiUpdateSliders = { - params ["_class","_enable", ["_sliderData", []]]; - - private _display = (findDisplay 134802); - private _data = [ - [6040, 0] - ,[6041, 0] - ,[6042, 0] - ,[6043, 0] - ,[6044, 0] - ,[6045, 0] - ]; - - if (_enable && _class != "") then { - private _jamChance = 0; - private _malfunctionWeights = 0; - - if (_sliderData isEqualTo []) then { - _jamChance = [_class, "jam", true] call GVAR(fnc_getMappingData); - _malfunctionWeights = [_class, "malfunction", true] call GVAR(fnc_getMappingData); - } else { - _jamChance = _sliderData # 0; - _malfunctionWeights = _sliderData select [1,5]; - }; - - (_data # 0) set [1, _jamChance]; - (_data # 1) set [1, _malfunctionWeights # 0]; - (_data # 2) set [1, _malfunctionWeights # 1]; - (_data # 3) set [1, _malfunctionWeights # 2]; - (_data # 4) set [1, _malfunctionWeights # 3]; - (_data # 5) set [1, _malfunctionWeights # 4]; - - { - _x params ["_ctrlId","_val"]; - - ((findDisplay 134802) displayCtrl _ctrlId) ctrlEnable true; - ((findDisplay 134802) displayCtrl _ctrlId) sliderSetPosition _val; - [nil, _val, _ctrlId - 10, if (_forEachIndex == 0) then { 100 } else { 10 }] call fnc_EJAM_uiOnSliderChanged; - } forEach _data; - } else { - { - ((findDisplay 134802) displayCtrl (_x select 0)) sliderSetPosition 0; - ((findDisplay 134802) displayCtrl (_x select 0)) ctrlEnable false; - [nil, 0, (_x select 0) - 10] call fnc_EJAM_uiOnSliderChanged; - } forEach _data; - } -}; - -fnc_EJAM_uiOnSliderChanged = { - params ["_control", "_newValue", "_labelIDC", ["_accuracy", 10]]; - - private _text = ( - ((ctrlText ((findDisplay 134802) displayCtrl _labelIDC)) splitString "%" select 0) - ) splitString " " joinString " "; - - ((findDisplay 134802) displayCtrl _labelIDC) ctrlSetStructuredText parseText format [ - "%1 %3 %2" - , _text - , (floor (_newValue * _accuracy)) / _accuracy - , "%" - ]; -}; - -fnc_EJAM_uiUpdateButtons = { - private _display = (findDisplay 134802); - private _data = [6050, 6051, 6052, 6053]; - - { - ((findDisplay 134802) displayCtrl _x) ctrlEnable _this; - } forEach _data; -}; - -fnc_EJAM_uiOnSaveClick = { - private _newMappingData = call fnc_EJAM_collectSliderData; - private _isReset = (_newMappingData select [1,6]) isEqualTo [0,0,0,0,0,0]; - - private _mapping = GVAR(Mapping) select { _newMappingData select 0 == _x select 0 }; - if (_mapping isEqualTo []) then { - if !(_isReset) then { - GVAR(Mapping) pushBack _newMappingData; - }; - } else { - if !(_isReset) then { - private _map = _mapping select 0; - for "_i" from 0 to (count _map) - 1 do { - _map set [_i, _newMappingData select _i]; - }; - } else { - GVAR(Mapping) = GVAR(Mapping) - (_mapping); - }; - }; - - [ - SVAR(MappingSettings) - , str(GVAR(Mapping)) select [1, count str(GVAR(Mapping)) -2] - , 0 - , "server" - , true - ] call CBA_settings_fnc_set; - - private _draw = [ - parseText format ["%1", [_newMappingData select 0,"displayName","t"] call fnc_EJAM_gfc] - , lineBreak - , parseText format ["%1", LOCALIZE_FORMAT_STR("Config_SavedHint")] - , lineBreak - ]; - hint (composeText _draw); -}; - -fnc_EJAM_uiOnCopyClick = { - private _data = call fnc_EJAM_collectSliderData; - - GVAR(ConfigClipboard) = _data; - copyToClipboard str(_data); - - private _draw = [ - parseText format ["%1", [_data select 0,"displayName","t"] call fnc_EJAM_gfc] - , lineBreak - , parseText format ["%1", LOCALIZE_FORMAT_STR("Config_CopiedHint")] - , lineBreak - ]; - hint (composeText _draw); -}; - -fnc_EJAM_uiOnApplyClick = { - private _instantSave = if (isNil "_this") then { false } else { true }; - - if (isNil SVAR(ConfigClipboard)) exitWith { - hint parseText format [ - "%1" - , LOCALIZE_FORMAT_STR("Config_NoDataHint") - ]; - }; - - private _gun = call fnc_EJAM_uiGetSelected; - private _data = GVAR(ConfigClipboard); - - [_gun, true, _data select [1,6]] call fnc_EJAM_uiUpdateSliders; - - private _draw = [ - parseText format ["%1", [_gun,"displayName","t"] call fnc_EJAM_gfc] - , lineBreak - , parseText format ["APPLIED!", LOCALIZE_FORMAT_STR("Config_ApplidHint")] - , lineBreak - ]; - hint (composeText _draw); - - if (_instantSave) then { - call fnc_EJAM_uiOnSaveClick; - } else { - [] spawn { - sleep 0.5; - call fnc_EJAM_uiOnSaveClick; - }; - }; -}; - -fnc_EJAM_uiOnLBDblClick = { - params ["_control", "_selectedIndex"]; - true call fnc_EJAM_uiOnApplyClick; -}; - -fnc_EJAM_uiOnResetClick = { - private _gun = call fnc_EJAM_uiGetSelected; - [_gun, true, [0,0,0,0,0,0]] call fnc_EJAM_uiUpdateSliders; - call fnc_EJAM_uiOnSaveClick; -}; - -// Draw -// --- Dialog -createDialog "dzn_EJAM_Config_Group"; -private _display = (findDisplay 134802); -#define GET_CTRL(X) (_display displayCtrl X) - -// --- Title -GET_CTRL(6002) ctrlSetStructuredText parseText LOCALIZE_FORMAT_STR("Config_Title"); -GET_CTRL(6003) ctrlSetStructuredText parseText LOCALIZE_FORMAT_STR("Config_CloseBtn"); -GET_CTRL(6010) ctrlSetStructuredText parseText LOCALIZE_FORMAT_STR("Config_SectionLabel"); -GET_CTRL(6010) ctrlSetStructuredText parseText LOCALIZE_FORMAT_STR("Config_SectionLabel"); - -// --- Filter -GET_CTRL(6012) ctrlSetText LOCALIZE_FORMAT_STR("Config_FilterLabel"); -GET_CTRL(6012) ctrlSetTooltip LOCALIZE_FORMAT_STR("Config_FilterTooltip"); -GET_CTRL(6012) ctrlSetEventHandler ["KeyDown", "_this call fnc_EJAM_uiOnFilterKeyDown;"]; -GET_CTRL(6011) ctrlSetEventHandler ["LBSelChanged", "_this call fnc_EJAM_uiOnGunSelected"]; -GET_CTRL(6011) ctrlSetEventHandler ["LBDblClick", "_this call fnc_EJAM_uiOnLBDblClick"]; - -// --- Weapon data -GET_CTRL(6021) ctrlSetStructuredText parseText format [ - "%1" - , LOCALIZE_FORMAT_STR("Config_PlaceholderLabel") -]; - -// --- Sliders -{ - GET_CTRL(_x) sliderSetRange [0,100]; - GET_CTRL(_x) sliderSetSpeed (if (_forEachIndex == 0) then { [0.01,10] } else { [0.1,25] }); - GET_CTRL(_x) ctrlEnable false; - GET_CTRL(_x) ctrlSetEventHandler [ - "SliderPosChanged" - , format ["_this pushBack %1; _this pushBack %2; _this call fnc_EJAM_uiOnSliderChanged", _x - 10, if (_forEachIndex == 0) then { 100 } else { 10 }] - ]; -} forEach [6040, 6041, 6042, 6043, 6044, 6045]; - -// --- Buttons -false call fnc_EJAM_uiUpdateButtons; -GET_CTRL(6050) ctrlSetEventHandler ["ButtonClick", "_this call fnc_EJAM_uiOnSaveClick"]; -GET_CTRL(6050) ctrlSetStructuredText parseText LOCALIZE_FORMAT_STR("Config_SaveBtn"); - -GET_CTRL(6051) ctrlSetEventHandler ["ButtonClick", "_this call fnc_EJAM_uiOnCopyClick"]; -GET_CTRL(6051) ctrlSetStructuredText parseText LOCALIZE_FORMAT_STR("Config_CopyBtn"); - -GET_CTRL(6052) ctrlSetEventHandler ["ButtonClick", "_this call fnc_EJAM_uiOnApplyClick"]; -GET_CTRL(6052) ctrlSetStructuredText parseText LOCALIZE_FORMAT_STR("Config_PasteBtn"); -GET_CTRL(6052) ctrlSetTooltip LOCALIZE_FORMAT_STR("Config_PasteTooltip"); - -GET_CTRL(6053) ctrlSetEventHandler ["ButtonClick", "_this call fnc_EJAM_uiOnResetClick"]; -GET_CTRL(6053) ctrlSetStructuredText parseText LOCALIZE_FORMAT_STR("Config_ResetBtn"); -GET_CTRL(6053) ctrlSetTooltip LOCALIZE_FORMAT_STR("Config_ResetTooltip"); - diff --git a/Source/Script/functions/fnc_uiShowProgressBar.sqf b/Source/Script/functions/fnc_uiShowProgressBar.sqf deleted file mode 100644 index 36da41a..0000000 --- a/Source/Script/functions/fnc_uiShowProgressBar.sqf +++ /dev/null @@ -1,69 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_uiShowProgressBar - -Description: - Draw progress bar and execute given code when on finished - -Parameters: - _drawTime - Time to draw progress bar - _title - Title text on progress bar - _code - Code to execute on finish - _args - Arguments to use in code - -Returns: - nothing - -Examples: - (begin example) - [10, "In progress", { hint (_args) }, "Hint message on finish"] spawn dzn_EJAM_fnc_uiShowProgressBar; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -params ["_drawTime","_title","_code",["_args", []]]; - -// Prepare data -private _strCode = ((str(_code) splitString "") select [1, count str(_code) - 2]) joinString ""; -_code = compile format ["private _args = _this; %1", _strCode]; - -// Draw -private _dialog = createDialog "dzn_EJAM_ProgressBar_Group"; -private _display = (findDisplay 134804); -#define GET_CTRL(X) (_display displayCtrl X) - -GET_CTRL(6503) ctrlSetStructuredText (parseText format ["%1", _title]); - -// Animate -private _posX = ctrlPosition GET_CTRL(6502) select 0; -private _posY = ctrlPosition GET_CTRL(6502) select 1; -private _wMax = ctrlPosition GET_CTRL(6503) select 2; -private _h = ctrlPosition GET_CTRL(6502) select 3; - -[ - { - (_this select 0) params ["_drawTime","_startTime","_wMax","_posX","_posY","_h","_onFinish","_onFinishArgs"]; - private _timeSpent = CBA_missionTime - _startTime; - - if (_timeSpent >= _drawTime) then { - closeDialog 2; - (_this select 1) call CBA_fnc_removePerFrameHandler; - _onFinishArgs spawn _onFinish; - } else { - - if (isNull (findDisplay 134804) || !alive player) exitWith { - closeDialog 2; - (_this select 1) call CBA_fnc_removePerFrameHandler; - hint "Canceled"; - }; - - ((findDisplay 134804) displayCtrl 6502) ctrlSetPosition [_posX, _posY, (_wMax * _timeSpent / _drawTime), _h]; - ((findDisplay 134804) displayCtrl 6502) ctrlCommit 0; - }; - } - , 0 - , [_drawTime, CBA_missionTime, _wMax, _posX, _posY, _h, _code, _args] -] call CBA_fnc_addPerFrameHandler; diff --git a/Source/Script/functions/fnc_uiShowUnjamMenu.sqf b/Source/Script/functions/fnc_uiShowUnjamMenu.sqf deleted file mode 100644 index 3817078..0000000 --- a/Source/Script/functions/fnc_uiShowUnjamMenu.sqf +++ /dev/null @@ -1,144 +0,0 @@ -/* ---------------------------------------------------------------------------- -Function: dzn_EJAM_fnc_uiShowUnjamMenu - -Description: - Draw Unjam UI menu. - -Parameters: - nothing - -Returns: - nothing - -Examples: - (begin example) - [] spawn dzn_EJAM_fnc_uiShowUnjamMenu; - (end) - -Author: - 10Dozen ----------------------------------------------------------------------------- */ - -#include "..\macro.hpp" - -closeDialog 2; -hintSilent ""; -sleep 0.001; - -// ** -// Get weapon state -[ - nil, nil, nil - , if (call GVAR(fnc_isMagAttached)) then { "mag_attached" } else { "mag_detached" } -] call GVAR(fnc_setWeaponState); - -(call GVAR(fnc_getWeaponState)) params ["_bolt","_chamber","_case","_mag"]; - -// ** -// Prepare data -private _parseAndFormatLeft = { - parseText format ["%1", _this] -}; -private _parseAndFormatCenter = { - parseText format ["%1", _this] -}; - -private _titleText = (LOCALIZE_FORMAT_STR("Menu_Title")) call _parseAndFormatLeft; -private _closeBtnText = LOCALIZE_FORMAT_STR("Menu_Close"); - -private _gunText = (getText (configFile >> "CfgWeapons" >> primaryWeapon player >> "displayName")) call _parseAndFormatCenter; -private _img = parseText format [ - "" - , getText (configFile >> "CfgWeapons" >> primaryWeapon player >> "picture") -]; -private _boltText = [_bolt, "state"] call GVAR(fnc_getEnumText) call _parseAndFormatCenter; -private _chamberText = ([_chamber, "state"] call GVAR(fnc_getEnumText)) call _parseAndFormatCenter; -private _caseText = ([_case, "state"] call GVAR(fnc_getEnumText)) call _parseAndFormatCenter; -private _magText = ([_mag, "state"] call GVAR(fnc_getEnumText)) call _parseAndFormatCenter; - -private _pullBoltActionText = ["pull_bolt", "action"] call GVAR(fnc_getEnumText) call _parseAndFormatLeft; -private _clearChamberActionText = ["clear_chamber", "action"] call GVAR(fnc_getEnumText) call _parseAndFormatLeft; -private _openBoltActionText = ["open_bolt", "action"] call GVAR(fnc_getEnumText) call _parseAndFormatLeft; -private _clearCaseActionText = ["remove_case", "action"] call GVAR(fnc_getEnumText) call _parseAndFormatLeft; -private _magActionText = [ - if (_mag == "mag_attached") then { "detach_mag" } else { "attach_mag" } - , "action" -] call GVAR(fnc_getEnumText) call _parseAndFormatLeft; - - -// ** -// Show menu -createDialog "dzn_EJAM_Menu_Group"; - -private _display = (findDisplay 134802); -#define GET_CTRL(X) (_display displayCtrl X) - -// --- Title and Image -GET_CTRL(6002) ctrlSetStructuredText _titleText; -GET_CTRL(6003) ctrlSetText _closeBtnText; - -GET_CTRL(6010) ctrlSetStructuredText _img; -GET_CTRL(6011) ctrlSetStructuredText _gunText; - -// --- State labels -GET_CTRL(6012) ctrlSetStructuredText _boltText; -GET_CTRL(6013) ctrlSetStructuredText _chamberText; -GET_CTRL(6014) ctrlSetStructuredText _magText; -GET_CTRL(6015) ctrlSetStructuredText _caseText; - -// --- Buttons -GET_CTRL(6020) ctrlSetStructuredText _pullBoltActionText; -GET_CTRL(6021) ctrlSetStructuredText _clearChamberActionText; -GET_CTRL(6022) ctrlSetStructuredText _magActionText; -GET_CTRL(6023) ctrlSetStructuredText _openBoltActionText; -GET_CTRL(6024) ctrlSetStructuredText _clearCaseActionText; - -// --- Set button states & onclick -private _generateActionCode = { - compile format ["closeDialog 2; ""%1"" spawn %2", _this, SVAR(fnc_doAction)] -}; -private _isActive = false; - -// --- --- Close -GET_CTRL(6003) ctrlAddEventHandler ["ButtonClick", { closeDialog 2; }]; - -// --- --- Bolt pull -GET_CTRL(6020) ctrlAddEventHandler ["ButtonClick", "pull_bolt" call _generateActionCode]; -GET_CTRL(6020) ctrlSetFont "PuristaLight"; - -// --- --- Bolt open -if (_bolt != "bolt_opened") then { - _isActive = true; - GET_CTRL(6023) ctrlAddEventHandler ["ButtonClick", "open_bolt" call _generateActionCode]; -} else { - _isActive = false; -}; - -GET_CTRL(6023) ctrlEnable _isActive; - -// --- --- Chamber -if (_bolt == "bolt_opened" && _mag == "mag_detached" && _chamber == "chamber_stucked" && _case == "case_ejected") then { - _isActive = true; - GET_CTRL(6021) ctrlAddEventHandler ["ButtonClick", "clear_chamber" call _generateActionCode]; -} else { - _isActive = false; -}; - -GET_CTRL(6021) ctrlEnable _isActive; - -// --- --- Case -if (_bolt == "bolt_opened" && _case == "case_not_ejected") then { - _isActive = true; - GET_CTRL(6024) ctrlAddEventHandler ["ButtonClick", "remove_case" call _generateActionCode]; -} else { - _isActive = false; -}; - -GET_CTRL(6024) ctrlEnable _isActive; - -// --- --- Magazine detach -if (_mag == "mag_attached") then { - GET_CTRL(6022) ctrlAddEventHandler ["ButtonClick", "detach_mag" call _generateActionCode]; -} else { - GET_CTRL(6022) ctrlAddEventHandler ["ButtonClick", "attach_mag" call _generateActionCode]; -}; \ No newline at end of file diff --git a/Source/Script/sounds/BoltOpen.ogg b/Source/Script/sounds/BoltOpen.ogg deleted file mode 100644 index 92c92f82c514a41e65922d52d8814d82c4b61441..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15529 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

&{nOU|!Z0)Q?rk zuGqoVq&C7b8JG0tVP*E`?aH*x)Ijb1Y|9ot!Xl?9RR%u^?K|in!Va~}^$eT|A&94M z!1Bh+aKinNKHrB*h79dG!L8HE&?_yVos@NSWrQ`O*haGbjJWM)UDA=SOJ{--tTM@d zI;Yo^ro{wP-1xvFg+|8({T>o4Oz(4fKOx#tP%=CfvgR9p=|0xYasN4TIBdq2O2HJe(NKI3k_LBLuoE|z~9?CKe4E{H}) z)Ak+dha5&-`{^6yhe0TZc)DmDA^7$EBBMU<-TYLj=txrryUwMPG-A&au(%c-so_J8 zY6d8PCDrMqU{2%n2>0t?)!p8l0+5}EPi_64&h0bD5gY`=Zd3n@1?de#MQr_ zh2iP7Z*P7=>4=Mc(oC{fc)K$HYD5cW{->6aB@5=8&ku$9(%C4@EgmaBID`W-4_hWo zOv+T5VNwqcRAT19;$g*<9SW&R!qO-{VJ!+HU*(@Aj%1tbeo8!)iShHBya?rnRQyR9 z!WR%!;_2Ugp75~BcpHk9l*S}UL|PG^k90khj#3vt<^K9oFo11LHf$a<>(BS>T1iJr zM+~LR=f2cH&}RRWgRDHES(RQ{J&5G^mfF~sy7;TsCM#j2YBRTJ?f_dnVDc~=L7E}v+1<=ly~`Kw z-wz4ace_xm>5B9LTc*o!xrKR{ek;-HhT9Le+#kfOno(V;9aFnDyWrVdvK#Hl;SNH_ z>+2Pim%^}(_0aht$eA+W4P9XBHF`lZDjk(ttxI$n24zX1Cn|L$M5Qn!WO~+&@CFSi zLIRK_W%u!c@3*=F9Fz9nK3ouKqlwMbgjzoH+;`k+IISBR8i=hZOMjM-+CITGR1kB1 z&=oM#=6CYT)pZVvmwE1UQ+)iz;!?s#ZWIEe1Q{8!M}z8GwuE1G+M((v0$;!}^|lo@ z$HA?LPUVQ7%`KU}cMwS~P1ia7;Jbe*(T`pk5r@s<%ajaln)mTKdwq-!^p?={Kq4Nv z{66pa1k>J;Y$U=Uv{S}k2ELD_G#%*|WG9VZNq|HEyM^QTrwBRj0N|@;aeS*r8xVcU zsOs-FWv+X1QnY-kE6;N1FEtdhwWT^1?!}}m!m8_iRO3z zw!zjFoZN8f#<9Cd)MROh&%DX24zM>nFUt^z%(Z#xPZ zpdn?=_{K(eBTvrYOz(2qP+}9gk$`c4OP~pm!08>h?s?6a?y$02)^S-{J9h^wy}ubc zJ}@;CG)+q=rKc+DCpE=4?f#5s{4GO759d=Ig9Rx(qDOxAT_-2`U_sR9qIGt(yrTp* z$)uAm#;DQW@ufliY57pX$5Y&siKScJR7Kx1*NQCV@X5{Eurq6YtM(*%T2s3KOs*rD zxv!R~BKhqrUQsoPGbIxhI_d2tT^k?v>Zl`jEAx_j(J{`&jm+t-r)lT6)RyGeF{EPi zJQLj!=Cd}Dy6vn>xak8gV>%2Ml+<2fwG(dC!J<6Al~aezU&J7#?WM5VMI%1n>5p(J z#{143ZU|&8Eqb|d`F%0iJ{{rR+{5tm<#X^ovSJAF!ge#$Cw?*g!L8=@-YdWA8_(=w zP#qBX=NOh7?P6pr6#3!u=ks6g-Nn))&|by*)#}3G-sZqw3!F%ETP@_*{(6wU8oPvE zN1Z-D$UNdvBrk%(nJ?eh!1U;;tN^#r;Gg)J`slw@DuXy(uva9f@ltCPw0%YDX*O%T zzR9lM(Q_rVpK1hi%g#<#_UowpVvnKeVuA!iI0}^wYHfoS8m4z4KW{ovHBtO|@BE@D z-zZNY)3o9jA-rMW#$AMmmm;9nvsw@Q2fM56C z5n(^M5rI+RO2+C`mDS!OL2?r<}xW8^%8zyY@3dmkL@8=90D>Mlm zQyE4x{50pmqwvvLAUrLbQI~sXaJwd7afk$H%VZoHNytnh^e|p?Ht(3(KKHR<_+NDs B&ustz diff --git a/Source/Script/sounds/BoltPull.ogg b/Source/Script/sounds/BoltPull.ogg deleted file mode 100644 index 4572cd3980970470e919ca8c78269d16493b99bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24853 zcmb4q1ymf()?nj=5G+^-?gS^e26qTDI1KLYP6P>_5Znpw?lK`*aCZn0+=C1bvqQf3 z{(a})v;Us0Q(dRJSmE_LHqO>;s;*X)_BN(kf5B7A zQ*v=|a&W>UC8LI!wTXwNg`QqULU^&0qaY8jL3s(^(6HhZ9J~mE{$A{yQoPUVKfwyrmv2}6JS|+^ z;Dm^9kid(~oE)6tbeY;){L|J=#Kz6Z;jzPGt+a}ys+6?4h^Ci~8+@x@e;OLEMnXtZE$}{E1=P>#t$ICtDdN{(9^5e{So{prh;Tw zIH-Tfq6FT-$pmD-;LBIz4_1>7kJGB2vZy`h8GkLUp{Wdl2MwA4+s_p_Nvr?Q>;8`^({<09>YT)LD95xnXTt(mshiow_-T`!;hJd-&Be)SeOQwO8p6rydRJRd% z%+&mUaz1!zXywHd@Uj=%=~%rlOyKQoCQ{Lg=XKzHb;nY-ikk7^x$yWjhWcjBf8hN~ zEsBlOM>+-8;61_@((Ia_7{YVc=IKYnPaezuyZXF=%gtntxHsbiWk3w7DLz#J)mL)& zSgfzvoIjcJ$fILq6pBB-Re!;d@BZO0<&*#rjPqBE|DF6*<$ts|FD~NM0AuYC*C5Md zQr0yhxL?(UBZeq(@c!@msXAG2AR_4p6Vc{CAf zftYoH6(h;= z@yx=@;hg|9`13Sp>@xwv8+-sT#Z<>&3W--AVcPnvKESz2s;(eVkghQzfKC=Xz=@ji z5r-+CRAYo`n>2Vxd^7#ym^dQRTqXp88Z8zt z0<;@KR$eRX5`v~@l&9-GW)lOz4IYNc+{4_Dpp@}J)9#>UUeIgC74(}aMUs26$&=2^@Mf`ti4zg3OVucit_wKQ>F4A9Zpm#HzkGM z^!T?5iaGH!a8T}8>U)%Vn(DUY@l&Qf$?=$iuQEQyDZJuLh}V0XU#F!IQJsgcZ^t<^ zV_FXH0SA>3Z>q#PJ!4u{4@bV093KTo{)nR(6eYi#of{{>SPbvM#MA>H6wC1!-~_%^u!G}Jx8o_8F~x)=_yrD&*_!%)DxQ7R?iTcm2=K4n3cB|{v8#(LSSabteofaFXfNJ&7ZM_ zQ%>@T98aII_z^jr5r2{E{TsQCoh@tc-%;t9RfzOynW>h;M^#o|uVq)pv#n!R3HO>X z`QhtR@>^7lXSz=SDFgr~n6W249+j#uJvW}RJNaY$t3Jy33B4ZDcy+z~^sf`@Q5hfA z9|@S!i>gnI*Mn05_tG&);r^HXSiBBt_TwD%kKIc|iCceG8{kBb7FU2vNIimcJ5Nf1 zb1OZ5h;y4ZFP?LoG(KJeJwI zeZ>>_neC24f=-p7q9BtWucbGb7oVtLha0S-Ajg!euE$(#5vO36pMVH_$0CJ4EWz-Z z3=!~wdkUP7c->H`@=4(<^vBQYL-1wV6h0uz;I~Y@$!<6jKS|xN;A@rnkN_H0Fpl73 zg#>yAyaJsn9zIu5!Bq=BL*Ym;<-941p_qd?;CO;;`ZYqDhXMsLq zGdOG0ADwBqC-PVUcSqoE^`lP`1+Rd=!ijx!QT{JP;7~t03^sXxy$0?_*WqvO|0kh? zGYP)t<6r*0$>RQ=Y1+Za_oq1`Z?Ns4yWaEW4zCeN9cw_j%Zz2%%S z_;@6ao?}`j0GAYY2LOCUM+3T1UTVqmGm$)HdE8atAORf6fH-3+0`Tq$7JU1tRmEIe zXPetp{IzZ8<97!4ZcFo@`IJutIRs0qD8@Nd%m@G%+)!+X>icwP;AWwz z$3~!zp%C7#slbGmvzZEC;an3H`{3eGE2DFldx2aYJjN9A>06>6bB^Rs`2o(}875RX z^_0N(H^D>5h$wH3DUkpy9K1Z>-48^`K4)B<&x$`8IT%TwkH{B31K!|Jzm}pl<&;w@ zLXC*n1&m$ZQ&9k1+`JQPY}tbVk-N+6dz=qA!IXq(Z{HwdsWh#H^9iq^GVI_d2>#=N zBLm(5AjkXe(E0iAROs=LDtW!j+may)g z&){a%Wk2BxkHah;YT8{4+RwDF?6rL;P_z578bqfSy`PYD@Us3EC@4SuwAh}|<>lxx z$<;5tu-GTLfC@-0D_};d3wQfLxl=H!5Q8nO6fgg1UUgvnsQuBuGkJ(-jQ4EzYs$(D z%tdsM1VIzU0`bS>of6t&X_4n`YT@YDu-U~I&_)l{8y6iYr_7|4QH+|4=XJpClF&f- zs@ky0`Ua=hI#wR_H%kg1JN%;zRO+5C5Qh`*cdzq7-mwH^=75BBtNLaBC)_AsFs3{M zoqd8zynp{0@f8w<3TUbwt*91yaFQ+im519&`^ zjn(M)=rTR439zcH7nJq#cWaQ<4yN*z?3Q3pJV$(*x;Z#?PA;(XS+cx$^4w*F6S9$e zd;f*tH{U?mSPaq)f+l&BBESKlR$_r%1U|e3H0P~P1o#2ZtzX$2KU0hz+>R?;DsqoY zgIZy?XLpc?93P*R+mpz?tZ(}(^XEUc{l7Ftx9SP#It8c6o=J>6C~xkZh#T$%fiX&9 zmp<*u+%9iL$$Doh-K38ora~^v9!sxxZO`0rj_zH|g8TYB>TBi4lqcoOU!;!MW?W^* ze69#FxlLRc6Tf_Mxt&P&{sCk1`E*m;Eg_2!MWsOC1t4Fu&vPRvGAb7CiGX2q)#kjC za@rDP#KUW;ygcnUBhI^wcj4UL%GIrkZYaRy%C_G^k95NLwwXKca`jgU$7n)U4(_7d zIi|tK1#WS)D)b+(l@V9JI5UUiSHziOwU{t#T(e>*g}N2RFl<>P1a1wgr*!v(V0gZ% zY`MTEl4Pb4Lj8_FI)*p}IIE3dpxXkg_a9-eeydtcpS-XIo9DTTMq-z^K@`IRCpOm- zZyy@b5bIINte-<#KeACS_0qkV_^<-XG09rKa>}>u`grF-S2^RgC*Wr0W@gJ!v*pco zW(kgsnb60uVxkPIBAL;W5$k7<_X!`ai{Gg-3?C@Mw1u(LDQfQN#-a+53EX^d zpui#XB~A<~EvBuldj46^_V)&EeOn=91-3Y>-bJFDrTmKi_T@YLP*J0(lV~aK!3;Gc z_0Im99<}~G{q{o6PcGMK%HUlDq>b{voRQvPN4AvbrZrVHQMMQAl;3Z66o!3;mG+fu^NAc3 z2b{Z;T~boWD_eYs ze5J=6j-`Z7Utz0+x89~vIpL4~?9Z03sT~TVZ79jEPq$x_TNHDNgl+GaYY$TyG!ahSJGZwsSAuprxn5T7ikN^=-#QX}BgWyIZrcpu zuCRx67^*lWT-GD(d^Rx!NZm;&zoxz6@5dB|o6pc->!ybjBwDLu54QEY6}Da?iw_G= zNWkW4&A801ZHBd4F@U8bm-GdR+2Y9eS#>VlOD;*$NSqW0!|7wOphAqzDW2M+rD#sy zenr5}oJVL)x^wMV=%;r%E;E=;_X%{d-Py?!q~&*(tXj-NpUV#J?MpJ*n9i))oeU_0 zinYq0jE;;O1xf7Y94x$W>m;0Q+Y!X0zMC}IQEcIEP%^=B&v*21?^0MFXJ0&ftx=0V zSvo$47k~PJrx;++KZEH!1EvAAI<6A8iiW=7~o>r}gl z6v9U7SNQ#|eYio(ZtTKr;9a@VK#h89X1>&5y|=jpTA9|~A_K~O&{rSqC�)l3)`^ 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 Bdx!u4 diff --git a/Source/Script/sounds/MagAttach.ogg b/Source/Script/sounds/MagAttach.ogg deleted file mode 100644 index 852649d98d6a2a15fdce800655c8254e8a951b99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22564 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

~bT0 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

|WrD=|5*`3enjM>iVk9aw} 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 Date: Fri, 24 Apr 2020 01:12:10 +0300 Subject: [PATCH 5/5] Remove unused files --- source/dzn_EJAM/ui/dialog__1.hpp | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 source/dzn_EJAM/ui/dialog__1.hpp diff --git a/source/dzn_EJAM/ui/dialog__1.hpp b/source/dzn_EJAM/ui/dialog__1.hpp deleted file mode 100644 index a4793e1..0000000 --- a/source/dzn_EJAM/ui/dialog__1.hpp +++ /dev/null @@ -1,9 +0,0 @@ - -class RscStructuredText; -class RscEdit; -class RscListBox; -class RscFrame; -class RscControlsGroup; -class RscXSliderH; -class IGUIBack; -class RscButtonMenu;