From 18c9c589c812d84e792b532dac80f00516569210 Mon Sep 17 00:00:00 2001 From: commy2 Date: Fri, 16 Jan 2015 02:25:41 +0100 Subject: [PATCH] port reload --- TO_MERGE/agm/Reload/config.cpp | 73 ------------------- addons/reload/$PBOPREFIX$ | 1 + addons/reload/CfgActions.hpp | 8 ++ addons/reload/CfgEventHandlers.hpp | 14 ++++ addons/reload/RscInGameUI.hpp | 24 ++++++ addons/reload/XEH_preInit.sqf | 3 + addons/reload/config.cpp | 30 ++++++++ .../reload/functions/fnc_checkAmmo.sqf | 8 +- addons/reload/functions/script_component.hpp | 1 + addons/reload/script_component.hpp | 12 +++ .../Reload => addons/reload}/stringtable.xml | 6 +- 11 files changed, 100 insertions(+), 80 deletions(-) delete mode 100644 TO_MERGE/agm/Reload/config.cpp create mode 100644 addons/reload/$PBOPREFIX$ create mode 100644 addons/reload/CfgActions.hpp create mode 100644 addons/reload/CfgEventHandlers.hpp create mode 100644 addons/reload/RscInGameUI.hpp create mode 100644 addons/reload/XEH_preInit.sqf create mode 100644 addons/reload/config.cpp rename TO_MERGE/agm/Reload/functions/fn_checkAmmo.sqf => addons/reload/functions/fnc_checkAmmo.sqf (90%) create mode 100644 addons/reload/functions/script_component.hpp create mode 100644 addons/reload/script_component.hpp rename {TO_MERGE/agm/Reload => addons/reload}/stringtable.xml (90%) diff --git a/TO_MERGE/agm/Reload/config.cpp b/TO_MERGE/agm/Reload/config.cpp deleted file mode 100644 index ea7793ff6a..0000000000 --- a/TO_MERGE/agm/Reload/config.cpp +++ /dev/null @@ -1,73 +0,0 @@ -class CfgPatches { - class AGM_Reload { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"commy2", "KoffeinFlummi"}; - authorUrl = "https://github.com/commy2/"; - }; -}; - -class CfgFunctions { - class AGM_Reload { - class AGM_Reload { - file = "\AGM_Reload\functions"; - class checkAmmo; - }; - }; -}; - -class Extended_Take_EventHandlers { - class CAManBase { - class AGM_AmmoIndicatorReload { - clientTake = "if (_this select 0 == AGM_player && {(_this select 1) in [uniformContainer (_this select 0), vestContainer (_this select 0), backpackContainer (_this select 0)]} && {_this select 2 == currentMagazine (_this select 0)}) then {[_this select 0, vehicle (_this select 0), true] call AGM_Reload_fnc_checkAmmo};"; - }; - }; -}; - -class AGM_Core_Default_Keys { - class checkAmmo { - displayName = "$STR_AGM_Reload_checkAmmo"; - condition = "[_player] call AGM_Core_fnc_canUseWeapon || {_vehicle isKindOf 'StaticWeapon'}"; - statement = "[_player, _vehicle, false] call AGM_Reload_fnc_checkAmmo"; - key = 19; - shift = 0; - control = 1; - alt = 0; - }; -}; - -class CfgActions { - class LoadMagazine; - class LoadEmptyMagazine : LoadMagazine { - showWindow = 0; - textDefault = ""; - }; -}; - -class RscControlsGroup; -class RscText; -class RscInGameUI { - class RscUnitInfo { - // Soldier only - class WeaponInfoControlsGroupLeft: RscControlsGroup { - class controls { - class CA_AmmoCount: RscText { - sizeEx = 0; - }; - }; - }; - // Vehicles only - /*class WeaponInfoControlsGroupRight: RscControlsGroup { - class controls { - class CA_AmmoCount: RscText { - sizeEx = 0; - }; - }; - };*/ - }; -}; diff --git a/addons/reload/$PBOPREFIX$ b/addons/reload/$PBOPREFIX$ new file mode 100644 index 0000000000..d63abde0e3 --- /dev/null +++ b/addons/reload/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\reload \ No newline at end of file diff --git a/addons/reload/CfgActions.hpp b/addons/reload/CfgActions.hpp new file mode 100644 index 0000000000..bdef8adf28 --- /dev/null +++ b/addons/reload/CfgActions.hpp @@ -0,0 +1,8 @@ + +class CfgActions { + class LoadMagazine; + class LoadEmptyMagazine : LoadMagazine { + showWindow = 0; + textDefault = ""; + }; +}; diff --git a/addons/reload/CfgEventHandlers.hpp b/addons/reload/CfgEventHandlers.hpp new file mode 100644 index 0000000000..89ea677db4 --- /dev/null +++ b/addons/reload/CfgEventHandlers.hpp @@ -0,0 +1,14 @@ + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; + +class Extended_Take_EventHandlers { + class CAManBase { + class ACE_AmmoIndicatorReload { + clientTake = QUOTE(if (_this select 0 == ACE_player && {(_this select 1) in [ARR_3(uniformContainer (_this select 0), vestContainer (_this select 0), backpackContainer (_this select 0))]} && {_this select 2 == currentMagazine (_this select 0)}) then {[ARR_3(_this select 0, vehicle (_this select 0), true)] call FUNC(checkAmmo)};); + }; + }; +}; diff --git a/addons/reload/RscInGameUI.hpp b/addons/reload/RscInGameUI.hpp new file mode 100644 index 0000000000..7310690f16 --- /dev/null +++ b/addons/reload/RscInGameUI.hpp @@ -0,0 +1,24 @@ + +class RscControlsGroup; +class RscText; + +class RscInGameUI { + class RscUnitInfo { + // Soldiers + class WeaponInfoControlsGroupLeft: RscControlsGroup { + class controls { + class CA_AmmoCount: RscText { + sizeEx = 0; + }; + }; + }; + // Vehicles + /*class WeaponInfoControlsGroupRight: RscControlsGroup { + class controls { + class CA_AmmoCount: RscText { + sizeEx = 0; + }; + }; + };*/ + }; +}; diff --git a/addons/reload/XEH_preInit.sqf b/addons/reload/XEH_preInit.sqf new file mode 100644 index 0000000000..9a7373b2dc --- /dev/null +++ b/addons/reload/XEH_preInit.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +PREP(checkAmmo); diff --git a/addons/reload/config.cpp b/addons/reload/config.cpp new file mode 100644 index 0000000000..2d6c933742 --- /dev/null +++ b/addons/reload/config.cpp @@ -0,0 +1,30 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"commy2","KoffeinFlummi"}; + authorUrl = "https://github.com/commy2/"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgActions.hpp" + +class ACE_Default_Keys { + class checkAmmo { + displayName = "$STR_ACE_Reload_checkAmmo"; + condition = QUOTE([_player] call EFUNC(common,canUseWeapon) || {_vehicle isKindOf 'StaticWeapon'}); + statement = QUOTE([ARR_3(_player, _vehicle, false)] call FUNC(checkAmmo);); + key = 19; + shift = 0; + control = 1; + alt = 0; + }; +}; + +#include "RscInGameUI.hpp" diff --git a/TO_MERGE/agm/Reload/functions/fn_checkAmmo.sqf b/addons/reload/functions/fnc_checkAmmo.sqf similarity index 90% rename from TO_MERGE/agm/Reload/functions/fn_checkAmmo.sqf rename to addons/reload/functions/fnc_checkAmmo.sqf index 5bd6de270c..fab1ebf333 100644 --- a/TO_MERGE/agm/Reload/functions/fn_checkAmmo.sqf +++ b/addons/reload/functions/fnc_checkAmmo.sqf @@ -11,10 +11,10 @@ * Return value: * Nothing */ +#include "script_component.hpp" #define COUNT_BARS 12 - private ["_unit", "_vehicle"]; _unit = _this select 0; @@ -82,7 +82,7 @@ if (_unit != _vehicle && !(_vehicle isKindOf "StaticWeapon")) then { for "_a" from 1 to _count do { _string = _string + "|"; }; - _text = [_string, _color] call AGM_Core_fnc_stringToColoredText; + _text = [_string, _color] call EFUNC(common,stringToColoredText); _string = ""; for "_a" from (_count + 1) to (_maxRounds min COUNT_BARS) do { @@ -91,11 +91,11 @@ if (_unit != _vehicle && !(_vehicle isKindOf "StaticWeapon")) then { composeText [ _text, - [_string, [0.5, 0.5, 0.5]] call AGM_Core_fnc_stringToColoredText + [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredText) ] }; _picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); - [_text, _picture] call AGM_Core_fnc_displayTextPicture; + [_text, _picture] call EFUNC(common,displayTextPicture); }; diff --git a/addons/reload/functions/script_component.hpp b/addons/reload/functions/script_component.hpp new file mode 100644 index 0000000000..572f1fca84 --- /dev/null +++ b/addons/reload/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\reload\script_component.hpp" \ No newline at end of file diff --git a/addons/reload/script_component.hpp b/addons/reload/script_component.hpp new file mode 100644 index 0000000000..8a1c097ab0 --- /dev/null +++ b/addons/reload/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT reload +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_RELOAD + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_RELOAD + #define DEBUG_SETTINGS DEBUG_ENABLED_RELOAD +#endif + +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/agm/Reload/stringtable.xml b/addons/reload/stringtable.xml similarity index 90% rename from TO_MERGE/agm/Reload/stringtable.xml rename to addons/reload/stringtable.xml index a596796bdc..1f39b0e743 100644 --- a/TO_MERGE/agm/Reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -1,8 +1,8 @@ - + - + Check Ammo Munition prüfen Verificar munición @@ -14,7 +14,7 @@ Conferir munições Kонтроль Боеприпасы - + Ammo Munition Munición