diff --git a/addons/gestures/CfgEventHandlers.hpp b/addons/gestures/CfgEventHandlers.hpp new file mode 100644 index 0000000000..7b003bbe8c --- /dev/null +++ b/addons/gestures/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; diff --git a/addons/gestures/CfgVehicles.hpp b/addons/gestures/CfgVehicles.hpp new file mode 100644 index 0000000000..6a34d8119e --- /dev/null +++ b/addons/gestures/CfgVehicles.hpp @@ -0,0 +1,158 @@ +class CfgVehicles { + + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Gestures { + displayName = CSTRING(Gestures); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = ""; + showDisabled = 1; + priority = 3.5; + icon = PATHTOF(UI\gestures_ca.paa); + class ACE_Gesture_Advance { + displayName = CSTRING(BIgestureAdvance); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureAdvance';); + showDisabled = 1; + priority = 1.9; + }; + + class ACE_Gesture_Go { + displayName = CSTRING(BIgestureGo); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow ([ARR_2('gestureGo','gestureGoB')] select floor random 2);); + showDisabled = 1; + priority = 1.8; + }; + + class ACE_Gesture_Follow { + displayName = CSTRING(BIgestureFollow); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureFollow';); + showDisabled = 1; + priority = 1.7; + }; + + class ACE_Gesture_Up { + displayName = CSTRING(BIgestureUp); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureUp';); + showDisabled = 1; + priority = 1.5; + }; + + class ACE_Gesture_CeaseFire { + displayName = CSTRING(BIgestureCeaseFire); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureCeaseFire';); + showDisabled = 1; + priority = 1.3; + }; + + class ACE_Gesture_Freeze { + displayName = CSTRING(BIgestureFreeze); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureFreeze';); + showDisabled = 1; + priority = 1.2; + }; + + class ACE_Gesture_Forward { + displayName = CSTRING(forward); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = QUOTE(QUOTE(QGVAR(forward)) call FUNC(playSignal)); + showDisabled = 1; + priority = 1.9; + }; + + class ACE_Gesture_Regroup { + displayName = CSTRING(regroup); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = QUOTE(QUOTE(QGVAR(regroup)) call FUNC(playSignal)); + showDisabled = 1; + priority = 1.8; + }; + + class ACE_Gesture_Stop { + displayName = CSTRING(stop); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = QUOTE(QUOTE(QGVAR(stop)) call FUNC(playSignal)); + showDisabled = 1; + priority = 1.7; + }; + + class ACE_Gesture_Cover { + displayName = CSTRING(cover); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = QUOTE(QUOTE(QGVAR(cover)) call FUNC(playSignal)); + showDisabled = 1; + priority = 1.6; + }; + + class ACE_Gesture_Point { + displayName = CSTRING(point); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = QUOTE(QUOTE(QGVAR(point)) call FUNC(playSignal)); + showDisabled = 1; + priority = 1.5; + }; + + class ACE_Gesture_Engage { + displayName = CSTRING(engage); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = QUOTE(QUOTE(QGVAR(engage)) call FUNC(playSignal)); + showDisabled = 1; + priority = 1.4; + }; + + class ACE_Gesture_Hold { + displayName = CSTRING(hold); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = QUOTE(QUOTE(QGVAR(hold)) call FUNC(playSignal)); + showDisabled = 1; + priority = 1.3; + }; + + class ACE_Gesture_Warning { + displayName = CSTRING(warning); + condition = QUOTE(canStand _target && GVAR(ReloadMutex)); + statement = QUOTE(QUOTE(QGVAR(warning)) call FUNC(playSignal)); + showDisabled = 1; + priority = 1.2; + }; + + /* + class ACE_Gesture_Yes { + displayName = ECSTRING(common,Yes); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow ([ARR_2('gestureYes','gestureNod')] select floor random 2);); + showDisabled = 1; + priority = 1.1; + hotkey = "8"; + }; + + class ACE_Gesture_No { + displayName = ECSTRING(common,No); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureNo';); + showDisabled = 1; + priority = 1.0; + hotkey = "9"; + }; + + class ACE_Gesture_Hi { + displayName = CSTRING(Gestures_Hi); + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3);); + showDisabled = 1; + priority = 0.9; + hotkey = "0"; + }; + */ + + }; + + }; + }; +}; diff --git a/addons/gestures/UI/gestures_ca.paa b/addons/gestures/UI/gestures_ca.paa new file mode 100644 index 0000000000..b237d73edf Binary files /dev/null and b/addons/gestures/UI/gestures_ca.paa differ diff --git a/addons/gestures/XEH_postInit.sqf b/addons/gestures/XEH_postInit.sqf new file mode 100644 index 0000000000..a1a7a4ef73 --- /dev/null +++ b/addons/gestures/XEH_postInit.sqf @@ -0,0 +1,36 @@ +#include "script_component.hpp" + +#include "key.sqf" + +// reload mutex, you can't play signal while reloading +GVAR(ReloadMutex) = true; + +// PFH for Reloading +[{ + if (isNull (findDisplay 46)) exitWith {}; + // handle reloading + (findDisplay 46) displayAddEventHandler ["KeyDown", { + if ((_this select 1) in actionKeys "ReloadMagazine") then { + _weapon = currentWeapon ACE_player; + + if (_weapon != "") then { + GVAR(ReloadMutex) = false; + + _gesture = getText (configfile >> "CfgWeapons" >> _this >> "reloadAction"); + _isLauncher = "Launcher" in ([configFile >> "CfgWeapons" >> _this, true] call BIS_fnc_returnParents); + _config = ["CfgGesturesMale", "CfgMovesMaleSdr"] select _isLauncher; + _duration = getNumber (configfile >> _config >> "States" >> _gesture >> "speed"); + + if (_duration != 0) then { + _duration = if (_duration < 0) then { abs _duration } else { 1 / _duration }; + } else { + _duration = 3; + }; + + [{GVAR(ReloadMutex) = true;}, [], _duration] call EFUNC(common,waitAndExecute); + }; + }; + false + }]; + [_this select 1] call CBA_fnc_removePerFrameHandler; +}, 0,[]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/gestures/XEH_preInit.sqf b/addons/gestures/XEH_preInit.sqf new file mode 100644 index 0000000000..7fd2bb47f2 --- /dev/null +++ b/addons/gestures/XEH_preInit.sqf @@ -0,0 +1,7 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP(playSignal); + +ADDON = true; diff --git a/addons/gestures/anim/ace_cover.rtm b/addons/gestures/anim/ace_cover.rtm new file mode 100644 index 0000000000..ce15001076 Binary files /dev/null and b/addons/gestures/anim/ace_cover.rtm differ diff --git a/addons/gestures/anim/ace_cover_stand_lowered.rtm b/addons/gestures/anim/ace_cover_stand_lowered.rtm new file mode 100644 index 0000000000..b6838579ba Binary files /dev/null and b/addons/gestures/anim/ace_cover_stand_lowered.rtm differ diff --git a/addons/gestures/anim/ace_engage.rtm b/addons/gestures/anim/ace_engage.rtm new file mode 100644 index 0000000000..7dd573fb8f Binary files /dev/null and b/addons/gestures/anim/ace_engage.rtm differ diff --git a/addons/gestures/anim/ace_engage_stand_lowered.rtm b/addons/gestures/anim/ace_engage_stand_lowered.rtm new file mode 100644 index 0000000000..e4dee60e60 Binary files /dev/null and b/addons/gestures/anim/ace_engage_stand_lowered.rtm differ diff --git a/addons/gestures/anim/ace_forward.rtm b/addons/gestures/anim/ace_forward.rtm new file mode 100644 index 0000000000..3715c4f7fc Binary files /dev/null and b/addons/gestures/anim/ace_forward.rtm differ diff --git a/addons/gestures/anim/ace_forward_stand_lowered.rtm b/addons/gestures/anim/ace_forward_stand_lowered.rtm new file mode 100644 index 0000000000..40ca7465aa Binary files /dev/null and b/addons/gestures/anim/ace_forward_stand_lowered.rtm differ diff --git a/addons/gestures/anim/ace_hold.rtm b/addons/gestures/anim/ace_hold.rtm new file mode 100644 index 0000000000..e6fcb3e742 Binary files /dev/null and b/addons/gestures/anim/ace_hold.rtm differ diff --git a/addons/gestures/anim/ace_hold_stand_lowered.rtm b/addons/gestures/anim/ace_hold_stand_lowered.rtm new file mode 100644 index 0000000000..9ab8bca0cc Binary files /dev/null and b/addons/gestures/anim/ace_hold_stand_lowered.rtm differ diff --git a/addons/gestures/anim/ace_point.rtm b/addons/gestures/anim/ace_point.rtm new file mode 100644 index 0000000000..9e64cc630d Binary files /dev/null and b/addons/gestures/anim/ace_point.rtm differ diff --git a/addons/gestures/anim/ace_point_stand_lowered.rtm b/addons/gestures/anim/ace_point_stand_lowered.rtm new file mode 100644 index 0000000000..4d0fc5c1d2 Binary files /dev/null and b/addons/gestures/anim/ace_point_stand_lowered.rtm differ diff --git a/addons/gestures/anim/ace_regroup.rtm b/addons/gestures/anim/ace_regroup.rtm new file mode 100644 index 0000000000..2c40118e7c Binary files /dev/null and b/addons/gestures/anim/ace_regroup.rtm differ diff --git a/addons/gestures/anim/ace_regroup_stand_lowered.rtm b/addons/gestures/anim/ace_regroup_stand_lowered.rtm new file mode 100644 index 0000000000..9cd871f218 Binary files /dev/null and b/addons/gestures/anim/ace_regroup_stand_lowered.rtm differ diff --git a/addons/gestures/anim/ace_stop.rtm b/addons/gestures/anim/ace_stop.rtm new file mode 100644 index 0000000000..af1d8465be Binary files /dev/null and b/addons/gestures/anim/ace_stop.rtm differ diff --git a/addons/gestures/anim/ace_stop_stand_lowered.rtm b/addons/gestures/anim/ace_stop_stand_lowered.rtm new file mode 100644 index 0000000000..8b6d9270b6 Binary files /dev/null and b/addons/gestures/anim/ace_stop_stand_lowered.rtm differ diff --git a/addons/gestures/anim/ace_warning.rtm b/addons/gestures/anim/ace_warning.rtm new file mode 100644 index 0000000000..ff42d81727 Binary files /dev/null and b/addons/gestures/anim/ace_warning.rtm differ diff --git a/addons/gestures/anim/ace_warning_stand_lowered.rtm b/addons/gestures/anim/ace_warning_stand_lowered.rtm new file mode 100644 index 0000000000..9c9e86ec79 Binary files /dev/null and b/addons/gestures/anim/ace_warning_stand_lowered.rtm differ diff --git a/addons/gestures/cfgMovesBasic.hpp b/addons/gestures/cfgMovesBasic.hpp new file mode 100644 index 0000000000..64fae1b4df --- /dev/null +++ b/addons/gestures/cfgMovesBasic.hpp @@ -0,0 +1,200 @@ +class CfgMovesBasic { + class ManActions { + GVAR(forward) = QGVAR(forward); + GVAR(stop) = QGVAR(stop); + GVAR(cover) = QGVAR(cover); + GVAR(regroup) = QGVAR(regroup); + GVAR(engage) = QGVAR(engage); + GVAR(point) = QGVAR(point); + GVAR(hold) = QGVAR(hold); + GVAR(warning) = QGVAR(warningS); + + GVAR(forwardStandLowered) = QGVAR(forwardStandLowered); + GVAR(stopStandLowered) = QGVAR(stopStandLowered); + GVAR(covertandLowered) = QGVAR(covertandLowered); + GVAR(regroupStandLowered) = QGVAR(regroupStandLowered); + GVAR(engageStandLowered) = QGVAR(engageStandLowered); + GVAR(pointStandLowered) = QGVAR(pointStandLowered); + GVAR(holdStandLowered) = QGVAR(holdStandLowered); + GVAR(warningtandLowered) = QGVAR(warningtandLowered); + }; + + class Actions { + class NoActions: ManActions { + GVAR(forward)[] = {QGVAR(forward), "Gesture"}; + GVAR(stop)[] = {QGVAR(stop), "Gesture"}; + GVAR(cover)[] = {QGVAR(cover), "Gesture"}; + GVAR(regroup)[] = {QGVAR(regroup), "Gesture"}; + GVAR(engage)[] = {QGVAR(engage), "Gesture"}; + GVAR(point)[] = {QGVAR(point), "Gesture"}; + GVAR(hold)[] = {QGVAR(hold), "Gesture"}; + GVAR(warning)[] = {QGVAR(warning), "Gesture"}; + + GVAR(forwardStandLowered)[] = {QGVAR(forwardStandLowered), "Gesture"}; + GVAR(stopStandLowered)[] = {QGVAR(stopStandLowered), "Gesture"}; + GVAR(covertandLowered)[] = {QGVAR(covertandLowered), "Gesture"}; + GVAR(regroupStandLowered)[] = {QGVAR(regroupStandLowered), "Gesture"}; + GVAR(engageStandLowered)[] = {QGVAR(engageStandLowered), "Gesture"}; + GVAR(pointStandLowered)[] = {QGVAR(pointStandLowered), "Gesture"}; + GVAR(holdStandLowered)[] = {QGVAR(holdStandLowered), "Gesture"}; + GVAR(warningStandLowered)[] = {QGVAR(warningStandLowered), "Gesture"}; + }; + }; +}; + +class CfgGesturesMale { + class Default; + + class BlendAnims { + GVAR(LeftArm)[] = { + "LeftShoulder", 1, + "LeftArm", 1, + "LeftArmRoll", 1, + "LeftForeArm", 1, + "LeftForeArmRoll", 1, + "LeftHand", 1, + "LeftHandIndex1", 1, + "LeftHandIndex2", 1, + "LeftHandIndex3", 1, + "LeftHandMiddle1", 1, + "LeftHandMiddle2", 1, + "LeftHandMiddle3", 1, + "LeftHandPinky1", 1, + "LeftHandMiddle2", 1, + "LeftHandMiddle3", 1, + "LeftHandPinky1", 1, + "LeftHandPinky2", 1, + "LeftHandPinky3", 1, + "LeftHandRing", 1, + "LeftHandRing1", 1, + "LeftHandRing2", 1, + "LeftHandRing3", 1, + "LeftHandThumb1", 1, + "LeftHandThumb2", 1, + "LeftHandThumb3", 1 + }; + }; + + class States { + class GVAR(Base): Default { + actions = "NoActions"; + canPullTrigger = 0; + connectAs = ""; + connectFrom[] = {}; + connectTo[] = {}; + disableWeapons = 0; + enableBinocular = 1; + enableMissile = 1; + enableOptics = 0; + equivalentTo = ""; + file = "\A3\anims_f\Dataanim\Sdr\gst\GestureHi.rtm"; + forceAim = 0; + headBobMode = 0; + headBobStrength = 0; + interpolateFrom[] = {}; + interpolateTo[] = {}; + interpolateWith[] = {}; + interpolationRestart = 0; + interpolationSpeed = 6; + looped = 0; + mask = QGVAR(LeftArm); + minPlayTime = 0.5; + preload = 0; + ragdoll = 0; + relSpeedMax = 1; + relSpeedMin = 1; + showHandGun = 0; + showItemInHand = 0; + showItemInRightHand = 0; + showWeaponAim = 1; + soundEdge[] = {0.5,1}; + soundEnabled = 1; + soundOverride = ""; + speed = -2; + static = 0; + terminal = 0; + Walkcycles = 1; + weaponIK = 1; + + leftHandIKBeg = 1; + leftHandIKCurve[] = {0, 1, 0.1, 0, 0.8, 0, 1, 1}; + leftHandIKEnd = 1; + + rightHandIKBeg = 1; + rightHandIKCurve[] = {1}; + rightHandIKEnd = 1; + }; + + class GVAR(forward): GVAR(Base) { + file = QUOTE(PATHTOF(anim\ace_forward.rtm)); + speed = 1; + }; + + class GVAR(forwardStandLowered): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_forward_stand_lowered.rtm)); + }; + + class GVAR(stop): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_stop.rtm)); + speed = 0.6; + }; + + class GVAR(stopStandLowered): GVAR(stop) { + file = QUOTE(PATHTOF(anim\ace_stop_stand_lowered.rtm)); + }; + + class GVAR(cover): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_cover.rtm)); + speed = 0.8; + }; + + class GVAR(covertandLowered): GVAR(cover) { + file = QUOTE(PATHTOF(anim\ace_cover_stand_lowered.rtm)); + }; + + class GVAR(regroup): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_regroup.rtm)); + speed = 0.8; + }; + + class GVAR(regroupStandLowered): GVAR(regroup) { + file = QUOTE(PATHTOF(anim\ace_regroup_stand_lowered.rtm)); + }; + + class GVAR(engage): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_engage.rtm)); + speed = 0.9; + }; + + class GVAR(engageStandLowered): GVAR(engage) { + file = QUOTE(PATHTOF(anim\ace_engage_stand_lowered.rtm)); + }; + + class GVAR(point): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_point.rtm)); + speed = 0.8; + }; + + class GVAR(pointStandLowered): GVAR(point) { + file = QUOTE(PATHTOF(anim\ace_point_stand_lowered.rtm)); + }; + + class GVAR(hold): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_hold.rtm)); + speed = 0.8; + }; + + class GVAR(holdStandLowered): GVAR(hold) { + file = QUOTE(PATHTOF(anim\ace_hold_stand_lowered.rtm)); + }; + + class GVAR(warning): GVAR(forward) { + file = QUOTE(PATHTOF(anim\ace_warning.rtm)); + speed = 0.8; + }; + + class GVAR(warningtandLowered): GVAR(warning) { + file = QUOTE(PATHTOF(anim\ace_warning_stand_lowered.rtm)); + }; + }; +}; diff --git a/addons/gestures/config.cpp b/addons/gestures/config.cpp new file mode 100644 index 0000000000..6a3fa402d0 --- /dev/null +++ b/addons/gestures/config.cpp @@ -0,0 +1,17 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_interact_menu"}; + author[] = {"joko // Jonas", "Emperias", "Zigomarvin"}; + authorUrl = "https://github.com/commy2/"; + VERSION_CONFIG; + }; +}; + +#include "CfgMovesBasic.hpp" +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" diff --git a/addons/gestures/functions/fnc_playSignal.sqf b/addons/gestures/functions/fnc_playSignal.sqf new file mode 100644 index 0000000000..c98176ad3b --- /dev/null +++ b/addons/gestures/functions/fnc_playSignal.sqf @@ -0,0 +1,30 @@ +#include "script_component.hpp" +/* + * Author: joko // Jonas, Emperias, Zigomarvin + * Detect if the player and play the Gesture Animation + * + * Arguments: + * Animation + * + * Return Value: + * + * + * Example: + * "GeniusAnimation" call ace_handSignals_fnc_playSignal + * + * Public: No + */ + +if (!GVAR(ReloadMutex)) exitWith {false}; +private "_gesture"; +_gesture = if (_this select [0,2] == "BI") then { + _this select [2] +} else { + if (((animationState ACE_player) select [0, 12]) in ["amovpercmstp", "amovpercmwlk", "amovpercmtac"] && weaponLowered ACE_player) then { + format ["%1StandLowered", _this] + } else { + _this + }; +}; +ACE_player playAction _gesture; +true diff --git a/addons/gestures/functions/script_component.hpp b/addons/gestures/functions/script_component.hpp new file mode 100644 index 0000000000..53f6849ebc --- /dev/null +++ b/addons/gestures/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\gestures\script_component.hpp" diff --git a/addons/gestures/key.sqf b/addons/gestures/key.sqf new file mode 100644 index 0000000000..208a602938 --- /dev/null +++ b/addons/gestures/key.sqf @@ -0,0 +1,52 @@ +#include "\a3\editor_f\Data\Scripts\dikCodes.h" + +{ + _x params ["_currentName","_key"]; + + if (_currentName select [0,1] == "BI") then { + _currentName = _currentName select [2]; + }; + + _code = (compile format [QUOTE(QUOTE(QGVAR(_%1)) call FUNC(playSignal); hint 'KeyDown'), _currentName]); + + [ + "ACE3 Gestures", + _currentName, + localize format[LSTRING(%1), _currentName], + _code, + {hint "key Up"}, + [_key, [false, (_key != -1), false]], + false + ] call CBA_fnc_addKeybind; + + /* + if (56 in (actionKeys "LookAround")) then { + [ + "ACE3 Gestures", + _currentName + "ALT", + localize format[LSTRING(%1), _currentName], + _code, + {}, + [_key, if (_key == 0) then {[false, false, false]} else { [false, true, true] }], + false + ] call CBA_fnc_addKeybind; + }; + */ + + false +} count [ + ["stop", DIK_NUMPAD2], + ["cover", DIK_NUMPAD3], + ["forward", DIK_NUMPAD4], + ["regroup", DIK_NUMPAD5], + ["engage", DIK_NUMPAD6], + ["point", DIK_NUMPAD7], + ["hold", DIK_NUMPAD8], + ["warning", DIK_NUMPAD9], + ["BIgestureGo", -1], + ["BIgestureAdvance", -1], + ["BIgestureFollow", -1], + ["BIgestureUp", -1], + ["BIgestureFreeze", -1], + ["BIgestureCeaseFire", -1] +]; diff --git a/addons/gestures/script_component.hpp b/addons/gestures/script_component.hpp new file mode 100644 index 0000000000..06650c6ba8 --- /dev/null +++ b/addons/gestures/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT Gestures +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_GESTURES + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_GESTURES + #define DEBUG_SETTINGS DEBUG_SETTINGS_GESTURES +#endif + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml new file mode 100644 index 0000000000..6c0cc5d270 --- /dev/null +++ b/addons/gestures/stringtable.xml @@ -0,0 +1,191 @@ + + + + + ACE Gestures + ACE Gesten + ACE Gesty + + + + Gestures + Gesten + Gestos + Gesty + Posunky + Signaux + Жесты + Kézjelek + Gestos + Gesti + + + + Advance + Vordringen + Avanzar + Naprzód + Postoupit + Avancer + Продвигаться + Előre + Avançar + Avanzare + + + + Go + Los + Adelante + Szybko + Jít + Aller + Идти + Mozgás + Mover-se + Muoversi + + + + Follow + Folgen + Seguirme + Za mną + Následovat + Suivre + Следовать + Utánam + Seguir + Seguire + + + + Up + Aufstehen + Arriba + Do góry + Vztyk + Debout + Вверх + Fel + Acima + Alzarsi + + + + Cease Fire + Feuer einstellen + Alto el fuego + Wstrzymać ogień + Zastavit palbu + Halte au feu + Прекратить огонь + Tüzet szüntess + Cessar Fogo + Cessare il Fuoco + + + + Point + Zeigen + Señalar + Wskazać + Ukázat + Pointer + Точка + Mutat + Apontar + Puntare a + + + + Freeze + Keine Bewegung + Alto + Stać + Stát + Halte + Замереть + Állj + Alto + Fermi + + + + + Stop + Stop + Stop + Stop + + + + + Cover + Deckung + Cubrirse + Do osłony + Krýt se + A couvert + Укрыться + Fedezékbe + Proteger-se + Copertura + + + + + Rally up + Regroupement + Sammeln + Zbiórka + + + + + Move forward + En avant + Vorwärts Bewegen + Naprzód + + + + + Engage + Engager + Atak + + + + + Point + Pointer + Zeigen + Wskaż + + + + + Hold + Tenir + Anhalten + Wstrzymać + + + + + Warning + Attention + Achtung + Uwaga + + + + + + freelook + + vue libre + + Frei Blick + + rozglądanie się + + +