From 1eb15eec0413b40a59e1da8f2f1759b2d0241c6e Mon Sep 17 00:00:00 2001 From: Sotirios Pupakis Date: Mon, 10 Mar 2025 19:06:02 +0100 Subject: [PATCH] version bump + casing setting --- .hemtt/project.toml | 2 +- addons/m119/XEH_preInit.sqf | 8 ++++++++ addons/m119/functions/fnc_eject.sqf | 22 ++++++++++++++++++++++ addons/m119/script_component.hpp | 3 ++- addons/m119/stringtable.xml | 10 ++++++++++ 5 files changed, 43 insertions(+), 2 deletions(-) diff --git a/.hemtt/project.toml b/.hemtt/project.toml index c67c191..894d786 100644 --- a/.hemtt/project.toml +++ b/.hemtt/project.toml @@ -10,7 +10,7 @@ exclude=[".vscode/**/*"] [version] major=0 minor=1 -patch=7 +patch=8 git_hash=0 diff --git a/addons/m119/XEH_preInit.sqf b/addons/m119/XEH_preInit.sqf index d05a943..7f691ed 100644 --- a/addons/m119/XEH_preInit.sqf +++ b/addons/m119/XEH_preInit.sqf @@ -52,3 +52,11 @@ GVAR(LAST_ROT_LEFT) = 0; call FUNC(rotateLeft); }, {}, [0x1E, [false, false, false]], true] call CBA_fnc_addKeybind; + +[ + QGVAR(EJECT), + "CHECKBOX", + [LLSTRING(EJECT), LLSTRING(EJECT_DESC)], + QUOTE(ADDON_NICE), + true +] call CBA_fnc_addSetting; diff --git a/addons/m119/functions/fnc_eject.sqf b/addons/m119/functions/fnc_eject.sqf index 95ce769..1afa84b 100644 --- a/addons/m119/functions/fnc_eject.sqf +++ b/addons/m119/functions/fnc_eject.sqf @@ -22,4 +22,26 @@ No */ +#include "..\script_component.hpp" +if (!GVAR(EJECT)) exitWith {}; + +params ["_arty"]; + +// tbd_mortars_105mm_casing_spent +private _spawnPoint = _arty modelToWorldVisual (_arty selectionPosition ["casing_spawn", "Memory"]); +private _soundPos = _arty modelToWorldVisual (_arty selectionPosition ["casing_hit", "Memory"]); +private _dirAndUp = _arty selectionVectorDirAndUp ["casing_spawn", "Memory"]; + +_dirAndUp set [0, _arty vectorModelToWorld _dirAndUp#0]; +_dirAndUp set [1, _arty vectorModelToWorld _dirAndUp#1]; + +// Spawn a new magazine at this position +private _casing = createVehicle ["tbd_mortars_105mm_casing_spent", _spawnPoint, [], 0, "CAN_COLLIDE"]; +_casing setVectorDirAndUp _dirAndUp; + +_casing allowDamage false; + +// Add vertical force to the magazine +[{params ["_casing"]; _casing addForce [_casing vectorModelToWorld [0, -100, 0], [0, 0, 0]];}, [_casing]] call CBA_fnc_execNextFrame; +playsound3D [QPATHTO_R(TBD_M119\sounds\casing_drop.ogg), _casing, false, _soundPos , 5, 1, 30, 0.5]; diff --git a/addons/m119/script_component.hpp b/addons/m119/script_component.hpp index cb5d170..7c4cd33 100644 --- a/addons/m119/script_component.hpp +++ b/addons/m119/script_component.hpp @@ -15,7 +15,8 @@ #define PREP_SUB(subfolder,fncName) [QPATHTOF(functions\subfolder\DOUBLES(fnc,fncName).sqf), QUOTE(DFUNC(DOUBLES(subfolder,fncName)))] call CBA_fnc_compileFunction #define TBD_MORT(cmp,fncName) tbd_mortars##_##cmp##_##fnc##_##fncName -//#define TBD_MORT(cmp,fncName) tbd##_##cmp##_##fnc##_##fncName + +#define ADDON_NICE TBD M119 #define TBD_M119 tbd_m119 #define TBD_M119_WEAPON tbd_m119_weapon diff --git a/addons/m119/stringtable.xml b/addons/m119/stringtable.xml index fa6df91..6a7f832 100644 --- a/addons/m119/stringtable.xml +++ b/addons/m119/stringtable.xml @@ -86,5 +86,15 @@ Vybít Разрядить + + Eject casing + Vyhodit nábojnici + Выбросить гильщу + + + Should a casing be ejected when breech is opened after a shot was fired + Má se vyhodit nábojnice po otevření závodky po vystřelení + Должна гильза выброситься после открытия казенника после выстрела +