From 7cd2bc24c8252661f0219a34e0d9aca2b694edf6 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 16 Jan 2015 15:37:32 +0100 Subject: [PATCH] port magazinerepack --- TO_MERGE/agm/MagazineRepack/config.cpp | 48 -------- .../functions/fn_magazineRepack.sqf | 74 ------------ .../functions/fn_magazineRepackCallback.sqf | 104 ----------------- .../functions/fn_openSelectMagazineUI.sqf | 38 ------- addons/magazinerepack/$PBOPREFIX$ | 1 + addons/magazinerepack/CfgEventHandlers.hpp | 6 + addons/magazinerepack/CfgVehicles.hpp | 18 +++ .../magazinerepack}/UI/repack_ca.paa | Bin addons/magazinerepack/XEH_preInit.sqf | 5 + addons/magazinerepack/config.cpp | 21 ++++ .../functions/fnc_magazineRepack.sqf | 77 +++++++++++++ .../functions/fnc_magazineRepackCallback.sqf | 106 ++++++++++++++++++ .../functions/fnc_openSelectMagazineUI.sqf | 40 +++++++ .../functions/script_component.hpp | 1 + addons/magazinerepack/script_component.hpp | 12 ++ .../magazinerepack}/stringtable.xml | 14 +-- 16 files changed, 294 insertions(+), 271 deletions(-) delete mode 100644 TO_MERGE/agm/MagazineRepack/config.cpp delete mode 100644 TO_MERGE/agm/MagazineRepack/functions/fn_magazineRepack.sqf delete mode 100644 TO_MERGE/agm/MagazineRepack/functions/fn_magazineRepackCallback.sqf delete mode 100644 TO_MERGE/agm/MagazineRepack/functions/fn_openSelectMagazineUI.sqf create mode 100644 addons/magazinerepack/$PBOPREFIX$ create mode 100644 addons/magazinerepack/CfgEventHandlers.hpp create mode 100644 addons/magazinerepack/CfgVehicles.hpp rename {TO_MERGE/agm/MagazineRepack => addons/magazinerepack}/UI/repack_ca.paa (100%) create mode 100644 addons/magazinerepack/XEH_preInit.sqf create mode 100644 addons/magazinerepack/config.cpp create mode 100644 addons/magazinerepack/functions/fnc_magazineRepack.sqf create mode 100644 addons/magazinerepack/functions/fnc_magazineRepackCallback.sqf create mode 100644 addons/magazinerepack/functions/fnc_openSelectMagazineUI.sqf create mode 100644 addons/magazinerepack/functions/script_component.hpp create mode 100644 addons/magazinerepack/script_component.hpp rename {TO_MERGE/agm/MagazineRepack => addons/magazinerepack}/stringtable.xml (90%) diff --git a/TO_MERGE/agm/MagazineRepack/config.cpp b/TO_MERGE/agm/MagazineRepack/config.cpp deleted file mode 100644 index 25e98d625d..0000000000 --- a/TO_MERGE/agm/MagazineRepack/config.cpp +++ /dev/null @@ -1,48 +0,0 @@ -class CfgPatches { - class AGM_MagazineRepack { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"commy2", "CAA-Picard"}; - authorUrl = "https://github.com/commy2/"; - }; -}; - -class CfgFunctions { - class AGM_MagazineRepack { - class AGM_MagazineRepack { - file = "\AGM_MagazineRepack\functions"; - class magazineRepack; - class magazineRepackCallback; - class openSelectMagazineUI; - }; - }; -}; - -class CfgVehicles { - class Man; - - class CAManBase: Man { - class AGM_SelfActions { - class AGM_RepackMagazines { - displayName = "$STR_AGM_MagazineRepack_RepackMagazines"; - condition = "true"; - statement = "call AGM_MagazineRepack_fnc_magazineRepack"; - showDisabled = 0; - priority = -2; - icon = "AGM_MagazineRepack\UI\repack_ca.paa"; - hotkey = "R"; - enableInside = 1; - }; - }; - }; -}; - -class AGM_Parameters_Numeric { - AGM_MagazineRepack_TimePerAmmo = 1.5; - AGM_MagazineRepack_TimePerMagazine = 2.0; -}; diff --git a/TO_MERGE/agm/MagazineRepack/functions/fn_magazineRepack.sqf b/TO_MERGE/agm/MagazineRepack/functions/fn_magazineRepack.sqf deleted file mode 100644 index 94f448d1da..0000000000 --- a/TO_MERGE/agm/MagazineRepack/functions/fn_magazineRepack.sqf +++ /dev/null @@ -1,74 +0,0 @@ -// by commy2, esteldunedain - -private ["_magazines", "_ammos", "_repackTime", "_magazine", "_ammo", "_count", "_index", "_i", "_j", "_ammoToTransfer", "_ammoAvailable", "_ammoNeeded"]; - -_magazines = []; -_ammos = []; -_repackTime = []; - -// get all mags and ammo count -{ - _magazine = _x select 0; - _ammo = _x select 1; - - _count = getNumber (configfile >> "CfgMagazines" >> _magazine >> "count"); - - if (_ammo != _count && {_count > 1}) then { // additional checks here - if !(_magazine in _magazines) then { - _index = count _magazines; - _magazines set [_index, _magazine]; - _ammos set [_index, [_ammo]]; - } else { - _index = _magazines find _magazine; - _ammos set [_index, (_ammos select _index) + [_ammo]]; - }; - }; -} forEach magazinesAmmoFull AGM_player; - -// Remove invalid magazines -{ - if (count _x < 2) then { - _magazines set [_forEachIndex, -1]; - _ammos set [_forEachIndex, [-1]]; - }; -} forEach _ammos; -_magazines = _magazines - [-1]; -_ammos = _ammos - [[-1]]; - -{ - // Calculate actual ammo to transfer during repack - _count = getNumber (configfile >> "CfgMagazines" >> (_magazines select _forEachIndex) >> "count"); - - // Sort Ascending - _list = _x call BIS_fnc_sortNum; - - ["MagazineRepack", _list] call AGM_Debug_fnc_log; - - _i = 0; - _j = count _x - 1; - _ammoToTransfer = 0; - _ammoAvailable = 0; - while {_i < _j} do { - _ammoNeeded = _count - (_list select _j); - _exit = false; - while {_i < _j && {!_exit}} do { - _ammoAvailable = _list select _i; - if (_ammoAvailable >= _ammoNeeded) then { - _list set [_i, _ammoAvailable - _ammoNeeded]; - _ammoToTransfer = _ammoToTransfer + _ammoNeeded; - _exit = true; - } else { - _ammoNeeded = _ammoNeeded - _ammoAvailable; - _ammoToTransfer = _ammoToTransfer + _ammoAvailable; - _i = _i + 1; - }; - }; - _j = _j - 1; - }; - - _repackTime set [_forEachIndex, _ammoToTransfer * AGM_MagazineRepack_TimePerAmmo + (count _x) * AGM_MagazineRepack_TimePerMagazine]; -} forEach _ammos; - -["MagazineRepack", [_magazines, _repackTime]] call AGM_Debug_fnc_log; - -[_magazines, _repackTime] call AGM_MagazineRepack_fnc_openSelectMagazineUI; diff --git a/TO_MERGE/agm/MagazineRepack/functions/fn_magazineRepackCallback.sqf b/TO_MERGE/agm/MagazineRepack/functions/fn_magazineRepackCallback.sqf deleted file mode 100644 index 89358b28ec..0000000000 --- a/TO_MERGE/agm/MagazineRepack/functions/fn_magazineRepackCallback.sqf +++ /dev/null @@ -1,104 +0,0 @@ -// by commy2 - -private ["_magazine", "_ammo", "_ammoCount", "_fullMagazinesCount", "_restAmmo", "_isLoaded", "_weapon", "_reloadAction", "_text", "_picture"]; - -_magazine = _this select 0; - -// exit if the last magazine of this type was taken out of the backpack -if !(_magazine in magazines player) exitWith {}; - -// get current ammo count -_ammo = 0; -{ - if (_x select 0 == _magazine) then { - _ammo = _ammo + (_x select 1); - }; -} forEach magazinesAmmoFull player; - -// how many rounds fit in one mag -_ammoCount = getNumber (configFile >> "CfgMagazines" >> _magazine >> "count"); - -// calculate new vaules -_fullMagazinesCount = floor (_ammo / _ammoCount); -_restAmmo = _ammo - _fullMagazinesCount * _ammoCount; - -// remove old magazines -player removeMagazines _magazine; - -_isLoaded = false; -// reload rifle -if (_magazine in primaryWeaponMagazine player) then { - _weapon = primaryWeapon player; - - if (_fullMagazinesCount > 0) then { - player setAmmo [_weapon, _ammoCount]; - _fullMagazinesCount = _fullMagazinesCount - 1; - } else { - player setAmmo [_weapon, _restAmmo]; - _restAmmo = 0; - }; - - if (_weapon == currentWeapon player) then { - _reloadAction = getText (configFile >> "CfgWeapons" >> _weapon >> "reloadAction"); - player playActionNow _reloadAction; - }; - - _isLoaded = true; -}; - -// reload pistol -if (_magazine in handgunMagazine player) then { - _weapon = handgunWeapon player; - - if (_fullMagazinesCount > 0) then { - player setAmmo [_weapon, _ammoCount]; - _fullMagazinesCount = _fullMagazinesCount - 1; - } else { - player setAmmo [_weapon, _restAmmo]; - _restAmmo = 0; - }; - - if (_weapon == currentWeapon player) then { - _reloadAction = getText (configFile >> "CfgWeapons" >> _weapon >> "reloadAction"); - player playActionNow _reloadAction; - }; - - _isLoaded = true; -}; - -// reload rocket launcher (just in case ...) -if (_magazine in secondaryWeaponMagazine player) then { - _weapon = secondaryWeapon player; - - if (_fullMagazinesCount > 0) then { - player setAmmo [_weapon, _ammoCount]; - _fullMagazinesCount = _fullMagazinesCount - 1; - } else { - player setAmmo [_weapon, _restAmmo]; - _restAmmo = 0; - }; - - if (_weapon == currentWeapon player) then { - _reloadAction = getText (configFile >> "CfgWeapons" >> _weapon >> "reloadAction"); - player playActionNow _reloadAction; - }; - - _isLoaded = true; -}; - -// add new magazines -for "_a" from 1 to _fullMagazinesCount do { - player addMagazine _magazine; -}; - -if (_restAmmo > 0) then { - player addMagazine [_magazine, _restAmmo]; -}; - -// display text if successful -_text = format [localize "STR_AGM_MagazineRepack_RepackedMagazinesDetail", [_fullMagazinesCount, _fullMagazinesCount + 1] select _isLoaded, _restAmmo]; -_picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); - -_text = parseText format ["
%2
%3", _picture, localize "STR_AGM_MagazineRepack_RepackedMagazines", _text]; - -[_text] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/MagazineRepack/functions/fn_openSelectMagazineUI.sqf b/TO_MERGE/agm/MagazineRepack/functions/fn_openSelectMagazineUI.sqf deleted file mode 100644 index c86f6f1f22..0000000000 --- a/TO_MERGE/agm/MagazineRepack/functions/fn_openSelectMagazineUI.sqf +++ /dev/null @@ -1,38 +0,0 @@ -// by commy2 - -private ["_magazines", "_repackTime", "_listIDC", "_count", "_index", "_magazine", "_time", "_displayName", "_picture"]; - -_magazines = _this select 0; -_repackTime = _this select 1; - -_count = count _magazines; - -_actions = [localize "STR_AGM_MagazineRepack_SelectMagazineMenu", localize "STR_AGM_MagazineRepack_SelectMagazine"] call AGM_Interaction_fnc_prepareSelectMenu; -for "_index" from 0 to (_count - 1) do { - _magazine = _magazines select _index; - _time = _repackTime select _index; - _displayName = getText (configFile >> "CfgMagazines" >> _magazine >> "displayName"); - _picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); - _actions = [ - _actions, - _displayName, - _picture, - [_magazine, _time] - ] call AGM_Interaction_fnc_AddSelectableItem; -}; - -[ - _actions, - { - _data = _this; - call AGM_Interaction_fnc_hideMenu; - if (isNil "_data") exitWith {}; - _data set [1, [_data select 1] call AGM_Core_fnc_toNumber]; - [_data select 1, _data, "AGM_MagazineRepack_fnc_magazineRepackCallback", localize "STR_AGM_MagazineRepack_RepackingMagazine"] call AGM_Core_fnc_progressBar; - [player] call AGM_core_fnc_goKneeling; - }, - { - call AGM_Interaction_fnc_hideMenu; - if !(profileNamespace getVariable ["AGM_Interaction_AutoCloseMenu", false]) then {"Default" call AGM_Interaction_fnc_openMenuSelf}; - } -] call AGM_Interaction_fnc_openSelectMenu; diff --git a/addons/magazinerepack/$PBOPREFIX$ b/addons/magazinerepack/$PBOPREFIX$ new file mode 100644 index 0000000000..20a3dc50e4 --- /dev/null +++ b/addons/magazinerepack/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\magazinerepack \ No newline at end of file diff --git a/addons/magazinerepack/CfgEventHandlers.hpp b/addons/magazinerepack/CfgEventHandlers.hpp new file mode 100644 index 0000000000..f0a9f14d91 --- /dev/null +++ b/addons/magazinerepack/CfgEventHandlers.hpp @@ -0,0 +1,6 @@ + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; diff --git a/addons/magazinerepack/CfgVehicles.hpp b/addons/magazinerepack/CfgVehicles.hpp new file mode 100644 index 0000000000..ecb732f8fd --- /dev/null +++ b/addons/magazinerepack/CfgVehicles.hpp @@ -0,0 +1,18 @@ + +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_RepackMagazines { + displayName = "$STR_ACE_MagazineRepack_RepackMagazines"; + condition = QUOTE(true); + statement = QUOTE([_player] call FUNC(magazineRepack)); + showDisabled = 0; + priority = -2; + icon = PATHTOF(UI\repack_ca.paa); + hotkey = "R"; + enableInside = 1; + }; + }; + }; +}; diff --git a/TO_MERGE/agm/MagazineRepack/UI/repack_ca.paa b/addons/magazinerepack/UI/repack_ca.paa similarity index 100% rename from TO_MERGE/agm/MagazineRepack/UI/repack_ca.paa rename to addons/magazinerepack/UI/repack_ca.paa diff --git a/addons/magazinerepack/XEH_preInit.sqf b/addons/magazinerepack/XEH_preInit.sqf new file mode 100644 index 0000000000..e811ff60c6 --- /dev/null +++ b/addons/magazinerepack/XEH_preInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +PREP(magazineRepack); +PREP(magazineRepackCallback); +PREP(openSelectMagazineUI); diff --git a/addons/magazinerepack/config.cpp b/addons/magazinerepack/config.cpp new file mode 100644 index 0000000000..5f2c6edc7d --- /dev/null +++ b/addons/magazinerepack/config.cpp @@ -0,0 +1,21 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common","ace_interaction"}; + author[] = {"commy2","CAA-Picard"}; + authorUrl = "https://github.com/commy2/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" + +class ACE_Parameters_Numeric { + GVAR(TimePerAmmo) = 1.5; + GVAR(TimePerMagazine) = 2.0; +}; diff --git a/addons/magazinerepack/functions/fnc_magazineRepack.sqf b/addons/magazinerepack/functions/fnc_magazineRepack.sqf new file mode 100644 index 0000000000..472b80e2bd --- /dev/null +++ b/addons/magazinerepack/functions/fnc_magazineRepack.sqf @@ -0,0 +1,77 @@ +// by commy2, esteldunedain +#include "script_component.hpp" + +private ["_unit", "_magazines", "_ammos", "_repackTime", "_magazine", "_ammo", "_count", "_index", "_i", "_j", "_ammoToTransfer", "_ammoAvailable", "_ammoNeeded"]; + +_unit = _this select 0; + +_magazines = []; +_ammos = []; +_repackTime = []; + +// get all mags and ammo count +{ + _magazine = _x select 0; + _ammo = _x select 1; + + _count = getNumber (configfile >> "CfgMagazines" >> _magazine >> "count"); + + if (_ammo != _count && {_count > 1}) then { // additional checks here + if !(_magazine in _magazines) then { + _index = count _magazines; + _magazines set [_index, _magazine]; + _ammos set [_index, [_ammo]]; + } else { + _index = _magazines find _magazine; + _ammos set [_index, (_ammos select _index) + [_ammo]]; + }; + }; +} forEach magazinesAmmoFull _unit; + +// Remove invalid magazines +{ + if (count _x < 2) then { + _magazines set [_forEachIndex, -1]; + _ammos set [_forEachIndex, [-1]]; + }; +} forEach _ammos; +_magazines = _magazines - [-1]; +_ammos = _ammos - [[-1]]; + +{ + // Calculate actual ammo to transfer during repack + _count = getNumber (configfile >> "CfgMagazines" >> (_magazines select _forEachIndex) >> "count"); + + // Sort Ascending + _list = _x call BIS_fnc_sortNum; + + ["MagazineRepack", _list] call EFUNC(common,log); + + _i = 0; + _j = count _x - 1; + _ammoToTransfer = 0; + _ammoAvailable = 0; + while {_i < _j} do { + _ammoNeeded = _count - (_list select _j); + _exit = false; + while {_i < _j && {!_exit}} do { + _ammoAvailable = _list select _i; + if (_ammoAvailable >= _ammoNeeded) then { + _list set [_i, _ammoAvailable - _ammoNeeded]; + _ammoToTransfer = _ammoToTransfer + _ammoNeeded; + _exit = true; + } else { + _ammoNeeded = _ammoNeeded - _ammoAvailable; + _ammoToTransfer = _ammoToTransfer + _ammoAvailable; + _i = _i + 1; + }; + }; + _j = _j - 1; + }; + + _repackTime set [_forEachIndex, _ammoToTransfer * GVAR(TimePerAmmo) + (count _x) * GVAR(TimePerMagazine)]; +} forEach _ammos; + +["MagazineRepack", [_magazines, _repackTime]] call EFUNC(common,log); + +[_unit, _magazines, _repackTime] call FUNC(openSelectMagazineUI); diff --git a/addons/magazinerepack/functions/fnc_magazineRepackCallback.sqf b/addons/magazinerepack/functions/fnc_magazineRepackCallback.sqf new file mode 100644 index 0000000000..f209806f9c --- /dev/null +++ b/addons/magazinerepack/functions/fnc_magazineRepackCallback.sqf @@ -0,0 +1,106 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_magazine", "_ammo", "_ammoCount", "_fullMagazinesCount", "_restAmmo", "_isLoaded", "_weapon", "_reloadAction", "_text", "_picture"]; + +_unit = ACE_player; //_this select 0; +_magazine = _this select 1; + +// exit if the last magazine of this type was taken out of the backpack +if !(_magazine in magazines _unit) exitWith {}; + +// get current ammo count +_ammo = 0; +{ + if (_x select 0 == _magazine) then { + _ammo = _ammo + (_x select 1); + }; +} forEach magazinesAmmoFull _unit; + +// how many rounds fit in one mag +_ammoCount = getNumber (configFile >> "CfgMagazines" >> _magazine >> "count"); + +// calculate new vaules +_fullMagazinesCount = floor (_ammo / _ammoCount); +_restAmmo = _ammo - _fullMagazinesCount * _ammoCount; + +// remove old magazines +_unit removeMagazines _magazine; + +_isLoaded = false; +// reload rifle +if (_magazine in primaryWeaponMagazine _unit) then { + _weapon = primaryWeapon _unit; + + if (_fullMagazinesCount > 0) then { + _unit setAmmo [_weapon, _ammoCount]; + _fullMagazinesCount = _fullMagazinesCount - 1; + } else { + _unit setAmmo [_weapon, _restAmmo]; + _restAmmo = 0; + }; + + if (_weapon == currentWeapon _unit) then { + _reloadAction = getText (configFile >> "CfgWeapons" >> _weapon >> "reloadAction"); + _unit playActionNow _reloadAction; + }; + + _isLoaded = true; +}; + +// reload pistol +if (_magazine in handgunMagazine _unit) then { + _weapon = handgunWeapon _unit; + + if (_fullMagazinesCount > 0) then { + _unit setAmmo [_weapon, _ammoCount]; + _fullMagazinesCount = _fullMagazinesCount - 1; + } else { + _unit setAmmo [_weapon, _restAmmo]; + _restAmmo = 0; + }; + + if (_weapon == currentWeapon _unit) then { + _reloadAction = getText (configFile >> "CfgWeapons" >> _weapon >> "reloadAction"); + _unit playActionNow _reloadAction; + }; + + _isLoaded = true; +}; + +// reload rocket launcher (just in case ...) +if (_magazine in secondaryWeaponMagazine _unit) then { + _weapon = secondaryWeapon _unit; + + if (_fullMagazinesCount > 0) then { + _unit setAmmo [_weapon, _ammoCount]; + _fullMagazinesCount = _fullMagazinesCount - 1; + } else { + _unit setAmmo [_weapon, _restAmmo]; + _restAmmo = 0; + }; + + if (_weapon == currentWeapon _unit) then { + _reloadAction = getText (configFile >> "CfgWeapons" >> _weapon >> "reloadAction"); + _unit playActionNow _reloadAction; + }; + + _isLoaded = true; +}; + +// add new magazines +for "_a" from 1 to _fullMagazinesCount do { + _unit addMagazine _magazine; +}; + +if (_restAmmo > 0) then { + _unit addMagazine [_magazine, _restAmmo]; +}; + +// display text if successful +_text = format [localize "STR_ACE_MagazineRepack_RepackedMagazinesDetail", [_fullMagazinesCount, _fullMagazinesCount + 1] select _isLoaded, _restAmmo]; +_picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); + +_text = parseText format ["
%2
%3", _picture, localize "STR_ACE_MagazineRepack_RepackedMagazines", _text]; + +[_text] call EFUNC(common,displayTextStructured); diff --git a/addons/magazinerepack/functions/fnc_openSelectMagazineUI.sqf b/addons/magazinerepack/functions/fnc_openSelectMagazineUI.sqf new file mode 100644 index 0000000000..362be7476b --- /dev/null +++ b/addons/magazinerepack/functions/fnc_openSelectMagazineUI.sqf @@ -0,0 +1,40 @@ +// by commy2 +#include "script_component.hpp" + +private ["_unit", "_magazines", "_repackTime", "_listIDC", "_count", "_index", "_magazine", "_time", "_displayName", "_picture"]; + +_unit = _this select 0; +_magazines = _this select 1; +_repackTime = _this select 2; + +_count = count _magazines; + +_actions = [localize "STR_ACE_MagazineRepack_SelectMagazineMenu", localize "STR_ACE_MagazineRepack_SelectMagazine"] call EFUNC(interaction,prepareSelectMenu); +for "_index" from 0 to (_count - 1) do { + _magazine = _magazines select _index; + _time = _repackTime select _index; + _displayName = getText (configFile >> "CfgMagazines" >> _magazine >> "displayName"); + _picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); + _actions = [ + _actions, + _displayName, + _picture, + [str _unit, _magazine, _time] + ] call EFUNC(interaction,addSelectableItem); +}; + +[ + _actions, + { + _data = _this; + call EFUNC(interaction,hideMenu); + if (isNil "_data") exitWith {}; + _data set [2, [_data select 2] call EFUNC(common,toNumber)]; + [_data select 2, _data, QFUNC(magazineRepackCallback), localize "STR_ACE_MagazineRepack_RepackingMagazine"] call EFUNC(common,progressBar); + [ACE_player] call EFUNC(common,goKneeling); + }, + { + call EFUNC(interaction,hideMenu); + if !(profileNamespace getVariable [QGVAR(AutoCloseMenu), false]) then {"Default" call EFUNC(interaction,openMenuSelf)}; + } +] call EFUNC(interaction,openSelectMenu); diff --git a/addons/magazinerepack/functions/script_component.hpp b/addons/magazinerepack/functions/script_component.hpp new file mode 100644 index 0000000000..d43593994d --- /dev/null +++ b/addons/magazinerepack/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\magazinerepack\script_component.hpp" \ No newline at end of file diff --git a/addons/magazinerepack/script_component.hpp b/addons/magazinerepack/script_component.hpp new file mode 100644 index 0000000000..7b390f7126 --- /dev/null +++ b/addons/magazinerepack/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT magazinerepack +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_MAGAZINEREPACK + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_MAGAZINEREPACK + #define DEBUG_SETTINGS DEBUG_ENABLED_MAGAZINEREPACK +#endif + +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/agm/MagazineRepack/stringtable.xml b/addons/magazinerepack/stringtable.xml similarity index 90% rename from TO_MERGE/agm/MagazineRepack/stringtable.xml rename to addons/magazinerepack/stringtable.xml index 5fec9cf2a8..5ea62e3a18 100644 --- a/TO_MERGE/agm/MagazineRepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -1,8 +1,8 @@  - + - + Repack Magazines Magazine umpacken Reorganizar cargadores @@ -14,7 +14,7 @@ Újratárazás Перепаковать магазины - + Select Magazine Menu Magazinauswahlmenü Menú de selección de cargador @@ -26,7 +26,7 @@ Fegyvertár menü kiválasztás Меню выбора магазинов - + Select Mag Magazin auswählen Seleccionar cargador @@ -38,7 +38,7 @@ Tár kiválasztása Выбрать магазин - + Repacking Magazines ... Magazine umpacken ... Reorganizando cargadores ... @@ -50,7 +50,7 @@ Újratárazás ... Перепаковка магазинов ... - + Repacked Magazines Magazine umgepackt Cargadores reorganizados @@ -62,7 +62,7 @@ Újratárazott tárak Магазины перепакованы - + %1 full mag(s) and %2 extra round(s) %1 volle(s) Magazin(e) und %2 übrig gebliebene Patrone(n) %1 cargador(es) completo(s) y %2 bala(s) extra(s)