diff --git a/addons/common/fnc_getVolume.sqf b/addons/common/fnc_getVolume.sqf index 392d28569..fad8c1016 100644 --- a/addons/common/fnc_getVolume.sqf +++ b/addons/common/fnc_getVolume.sqf @@ -4,7 +4,8 @@ Function: CBA_fnc_getVolume Description: Return the volume of the bounding box of an object's model. - The bounding box is retrieved using boundingBoxReal instead of boundingBox for more precise measurements. + The bounding box is retrieved using boundingBoxReal instead of boundingBox + with visual clipping type for more precise measurements. Parameters: _object - Object to calculate the volume of @@ -24,6 +25,6 @@ SCRIPT(getVolume); params [["_object", objNull, [objNull]]]; -(boundingBoxReal _object) params ["_leftBackBottom", "_rightFrontTop"]; +(0 boundingBoxReal _object) params ["_leftBackBottom", "_rightFrontTop"]; (_rightFrontTop vectorDiff _leftBackBottom) params ["_width", "_length", "_height"]; _width * _length * _height diff --git a/addons/common/fnc_headDir.sqf b/addons/common/fnc_headDir.sqf index c640313c1..2fbfa8cbb 100644 --- a/addons/common/fnc_headDir.sqf +++ b/addons/common/fnc_headDir.sqf @@ -65,7 +65,7 @@ if (_unit != call CBA_fnc_currentUnit) then { } else { private _camPos = AGLToASL positionCameraToWorld [0, 0, 0]; _isExternalCam = (_camPos vectorDistance getPosASL _unit) > 2; - private _viewPos = AGLToASL positionCameraToWorld [0, 0, 99999999]; + private _viewPos = AGLToASL positionCameraToWorld [0, 0, 10000]; private _vector = _viewPos vectorDiff _camPos; _vector = _vector vectorMultiply (1 / vectorMagnitude _vector); _azimuth = (_vector select 0) atan2 (_vector select 1); diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index b4ce351b8..49c3f8266 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -27,6 +27,7 @@ CBA Waffen CBA Bronie Armi CBA + CBA 武器 diff --git a/addons/disposable/XEH_preInit.sqf b/addons/disposable/XEH_preInit.sqf index 52d330e4d..069405edc 100644 --- a/addons/disposable/XEH_preInit.sqf +++ b/addons/disposable/XEH_preInit.sqf @@ -49,6 +49,8 @@ private _cfgMagazines = configFile >> "CfgMagazines"; }; } forEach configProperties [configFile >> "CBA_DisposableLaunchers", "isArray _x"]; -["All", "InitPost", FUNC(replaceMagazineCargo)] call CBA_fnc_addClassEventHandler; +["CBA_settingsInitialized", { + ["All", "InitPost", FUNC(replaceMagazineCargo), nil, nil, true] call CBA_fnc_addClassEventHandler; +}] call CBA_fnc_addEventHandler; ADDON = true; diff --git a/addons/disposable/fnc_firedDisposable.sqf b/addons/disposable/fnc_firedDisposable.sqf index dd69b3dc3..9e0cf2f44 100644 --- a/addons/disposable/fnc_firedDisposable.sqf +++ b/addons/disposable/fnc_firedDisposable.sqf @@ -29,6 +29,8 @@ Author: commy2 ---------------------------------------------------------------------------- */ +if (!GVAR(replaceDisposableLauncher)) exitWith {}; + params ["_unit", "_launcher", "_muzzle", "", "", "", "_projectile"]; private _usedLauncher = GVAR(UsedLaunchers) getVariable _launcher; diff --git a/addons/disposable/fnc_initDisplayInventory.sqf b/addons/disposable/fnc_initDisplayInventory.sqf index ef8c017aa..6a856f0ae 100644 --- a/addons/disposable/fnc_initDisplayInventory.sqf +++ b/addons/disposable/fnc_initDisplayInventory.sqf @@ -6,8 +6,7 @@ private _fnc_update = { params ["_display"]; private _control = _display displayCtrl IDC_FG_SW_MAGAZINE; - private _unit = call CBA_fnc_currentUnit; - _control ctrlEnable isNil {GVAR(LoadedLaunchers) getVariable secondaryWeapon _unit}; + _control ctrlEnable (!GVAR(replaceDisposableLauncher) || {isNil {GVAR(LoadedLaunchers) getVariable secondaryWeapon call CBA_fnc_currentUnit}}); }; _display displayAddEventHandler ["MouseMoving", _fnc_update]; diff --git a/addons/disposable/fnc_replaceMagazineCargo.sqf b/addons/disposable/fnc_replaceMagazineCargo.sqf index cc56439fe..7e9e2ce55 100644 --- a/addons/disposable/fnc_replaceMagazineCargo.sqf +++ b/addons/disposable/fnc_replaceMagazineCargo.sqf @@ -20,6 +20,8 @@ Author: commy2 ---------------------------------------------------------------------------- */ +if (!GVAR(replaceDisposableLauncher)) exitWith {}; + params ["_box"]; if (!local _box) exitWith {}; if (missionNamespace getVariable [QGVAR(disableMagazineReplacement), false]) exitWith {}; diff --git a/addons/disposable/initSettings.sqf b/addons/disposable/initSettings.sqf index 5a02aa491..501cfcea0 100644 --- a/addons/disposable/initSettings.sqf +++ b/addons/disposable/initSettings.sqf @@ -1,3 +1,12 @@ +[ + QGVAR(replaceDisposableLauncher), + "CHECKBOX", + [LLSTRING(ReplaceDisposableLauncher), LLSTRING(ReplaceDisposableLauncherTooltip)], + ELSTRING(common,WeaponsCategory), + true, // default value + 1 // isGlobal +] call EFUNC(settings,init); + [ QGVAR(dropUsedLauncher), "LIST", @@ -5,7 +14,11 @@ ELSTRING(common,WeaponsCategory), [ [0,1,2], - [LLSTRING(DropNever), LLSTRING(DropAIOnly), LLSTRING(DropSelectedAnotherWeapon)], + [ + [LLSTRING(DropNever), LLSTRING(DropNeverTooltip)], + [LLSTRING(DropAIOnly), LLSTRING(DropAIOnlyTooltip)], + [LLSTRING(DropSelectedAnotherWeapon), LLSTRING(DropSelectedAnotherWeaponTooltip)] + ], 2 ], 0 // isGlobal diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 8dba855c3..3f0447847 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -4,22 +4,52 @@ Community Base Addons - Disposable Weapons Community Base Addons - Einwegwaffen + Community Base Addons - 使い捨て武器 Drop Used Disposable Launcher Benutzten Einwegwerfer ablegen + 使った使い捨てランチャーを落とす Never Niemals + 行わない + + + Don't automatically drop the used disposable launcher. + Benutzten Einwegwerfer nicht automatisch ablegen. + 使った使い捨てランチャーを自動的に落とさないようにします。 AI Only Nur KI + AI のみ + + + Only AI drops the used disposable launcher. + Nur KI legt den benutzten Einwegwerfer ab. + AI のみ使った使い捨てランチャーを落とすようにします。 Selected Another Weapon Andere Waffe ausgewählt + 別の武器が選択後 + + + Automatically drop the used disposable launcher as soon as another weapon is selected. + Benutzten Einwegwerfer automatisch ablegen, sobald eine andere Waffe ausgewählt wurde. + 他の武器を選択すると即時に使った使い捨てランチャーを自動的に落とすようにします。 + + + Replace Disposable Launcher + Einwegwerfer ersetzten + 使い捨てランチャーを置換 + + + If enabled, disposable launchers can only be used once. Ammunition for disposable launchers in containers and vehicles will be replaced with loaded disposable launchers. If disabled, disposable launchers can be reloaded after use. + Wenn aktiviert, dann können Einwegwerfer nur einmal benutzt werden. Munition für Einwegwerfer in Kisten und Fahrzeugen wird durch geladene Einwegwerfer ersetzt. Wenn deaktiviert, dann können Einwegwerfer nach der Benutzung nachgeladen werden. + 有効化すると、使い捨てランチャーは一度のみ使用できます。コンテナ内にある使い捨てランチャーは装填された使い捨てランチャーに置き換えられます。無効化すると、使用後に使い捨てランチャーをリロードできます。 diff --git a/addons/events/initSettings.sqf b/addons/events/initSettings.sqf index 19370088d..a3afe954d 100644 --- a/addons/events/initSettings.sqf +++ b/addons/events/initSettings.sqf @@ -3,10 +3,14 @@ "LIST", [LLSTRING(RepetitionMode), LLSTRING(RepetitionModeTooltip)], ELSTRING(common,WeaponsCategory), - [[0, 1, 2], [ - [LLSTRING(RepetitionModeOptic), LLSTRING(RepetitionModeOpticTooltip)], // Exit optic view - [LLSTRING(RepetitionModeTriggerRelease), LLSTRING(RepetitionModeTriggerReleaseTooltip)], // Stop holding trigger - [LLSTRING(RepetitionModeTriggerPress), LLSTRING(RepetitionModeTriggerPressTooltip)] // Click trigger again - ], 1], - 2 + [ + [0, 1, 2], + [ + [LLSTRING(RepetitionModeOptic), LLSTRING(RepetitionModeOpticTooltip)], // Exit optic view + [LLSTRING(RepetitionModeTriggerRelease), LLSTRING(RepetitionModeTriggerReleaseTooltip)], // Stop holding trigger + [LLSTRING(RepetitionModeTriggerPress), LLSTRING(RepetitionModeTriggerPressTooltip)] // Click trigger again + ], + 1 + ], + 2 // client setting ] call CBA_fnc_addSetting; diff --git a/addons/events/stringtable.xml b/addons/events/stringtable.xml index f77606f0d..20adea2d1 100644 --- a/addons/events/stringtable.xml +++ b/addons/events/stringtable.xml @@ -17,41 +17,49 @@ Weapon Repetition Mode Repetierwaffe laden Tryb powtarzania strzału + 武器反復モード Mode of bolting or pumping weapons. Art eine Waffe zu repetieren. Tryb przeładowania/ryglowania broni po wystrzale. + ボルト、またはポンプ式武器のモードを決定します。 Leave Optics View Optikansicht verlassen Opuszczenie optyki + 照準画面を離れる Bolt or rack weapon by leaving optics view. Waffe beim Verlassen der Optikansicht repetieren. Przeładowanie/ryglowanie broni nastąpi po opuszczeniu widoku optyki. + ボルトかポンプ動作時は照準画面から離れます Release Trigger Abzug losslassen Puszczenie spustu + トリガー解放時 Bolt or rack weapon by releasing trigger (hold trigger to prevent immediate action). Waffe beim Loslassen des Abzugs repetieren (Abzug halten, um Repetieren zu verzögern). Przeładowanie/ryglowanie nastąpi po puszczeniu spustu (przytrzymaj spust aby nie przełdowywać). + トリガーを離してボルトかポンプ動作を行います。(トリガー長押しで即時動作を防止) Press Trigger Abzug betätigen Wciśnięcie spustu + トリガー引いた時 Bolt or rack weapon by pressing the trigger again. Waffe beim erneuten Betätigen des Abzugs repetieren. Przeładowanie/ryglowanie nastąpi po ponownym wciśnięciu spustu. + トリガーを再度引いてボルトかポンプ動作を行います。 diff --git a/addons/jam/CfgWeapons.hpp b/addons/jam/CfgWeapons.hpp index bbcecc800..7c056481c 100644 --- a/addons/jam/CfgWeapons.hpp +++ b/addons/jam/CfgWeapons.hpp @@ -6,19 +6,19 @@ class CfgWeapons { class Rifle_Short_Base_F; class mk20_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D"}; + magazineWell[] = {"STANAG_556x45", "CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D"}; }; class SDAR_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_556x45_STANAG"}; + magazineWell[] = {"STANAG_556x45", "CBA_556x45_STANAG"}; }; class Tavor_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D"}; + magazineWell[] = {"STANAG_556x45", "CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D"}; }; class arifle_SPAR_01_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D", "CBA_556x45_STANAG_2D_XL"}; + magazineWell[] = {"STANAG_556x45", "CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D", "CBA_556x45_STANAG_2D_XL"}; }; class arifle_SPAR_02_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D", "CBA_556x45_STANAG_2D_XL"}; + magazineWell[] = {"STANAG_556x45_Large", "CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D", "CBA_556x45_STANAG_2D_XL"}; }; class UGL_F: GrenadeLauncher { @@ -26,56 +26,53 @@ class CfgWeapons { }; class arifle_MX_Base_F: Rifle_Base_F { - magazineWell[] = {"CBA_65x39_MX"}; + magazineWell[] = {"MX_65x39", "MX_65x39_Large", "CBA_65x39_MX", "CBA_65x39_MX_XL"}; class GL_3GL_F: UGL_F { magazineWell[] = {"CBA_40mm_3GL", "CBA_40mm_M203", "CBA_40mm_EGLM"}; }; }; - class arifle_MX_SW_F: arifle_MX_Base_F { - magazineWell[] = {"CBA_65x39_MX", "CBA_65x39_MX_XL"}; - }; class arifle_Katiba_Base_F: Rifle_Base_F { - magazineWell[] = {"CBA_65x39_Katiba"}; + magazineWell[] = {"Katiba_65x39", "CBA_65x39_Katiba"}; }; class arifle_ARX_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_65x39_Katiba"}; + magazineWell[] = {"Katiba_65x39", "CBA_65x39_Katiba"}; }; class EBR_base_F: Rifle_Long_Base_F { - magazineWell[] = {"CBA_762x51_M14"}; + magazineWell[] = {"M14_762x51", "CBA_762x51_M14"}; }; class DMR_03_base_F: Rifle_Long_Base_F { - magazineWell[] = {"CBA_762x51_MkI_EMR"}; + magazineWell[] = {"M14_762x51", "CBA_762x51_MkI_EMR"}; }; class DMR_06_base_F: Rifle_Long_Base_F { - magazineWell[] = {"CBA_762x51_M14"}; + magazineWell[] = {"M14_762x51", "CBA_762x51_M14"}; }; class arifle_SPAR_03_base_F: Rifle_Base_F { magazineWell[] = {"CBA_762x51_HK417", "CBA_762x51_HK417_L", "CBA_762x51_HK417_XL"}; }; class DMR_01_base_F: Rifle_Long_Base_F { - magazineWell[] = {"CBA_762x54R_SVD"}; + magazineWell[] = {"Rahim_762x54", "CBA_762x54R_SVD"}; }; class arifle_CTAR_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_580x42_TYPE95", "CBA_580x42_TYPE95_XL"}; + magazineWell[] = {"CTAR_580x42", "CTAR_580x42_Large", "CBA_580x42_TYPE95", "CBA_580x42_TYPE95_XL"}; }; class arifle_CTARS_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_580x42_TYPE95", "CBA_580x42_TYPE95_XL"}; + magazineWell[] = {"CTAR_580x42", "CTAR_580x42_Large", "CBA_580x42_TYPE95", "CBA_580x42_TYPE95_XL"}; }; class arifle_AK12_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_762x39_AK", "CBA_762x39_RPK"}; + magazineWell[] = {"AK_762x39", "CBA_762x39_AK", "CBA_762x39_RPK"}; }; class arifle_AKM_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_762x39_AK", "CBA_762x39_RPK"}; + magazineWell[] = {"AK_762x39", "CBA_762x39_AK", "CBA_762x39_RPK"}; }; class arifle_AKS_base_F: Rifle_Base_F { - magazineWell[] = {"CBA_545x39_AK", "CBA_545x39_RPK"}; + magazineWell[] = {"AK_545x39", "CBA_545x39_AK", "CBA_545x39_RPK"}; }; class LMG_03_base_F: Rifle_Long_Base_F { @@ -95,7 +92,7 @@ class CfgWeapons { }; class launch_RPG7_F: Launcher_Base_F { - magazineWell[] = {"CBA_RPG7"}; + magazineWell[] = {"RPG7", "CBA_RPG7"}; }; class MMG_01_base_F: Rifle_Long_Base_F { diff --git a/addons/jr/cfgweapons.hpp b/addons/jr/cfgweapons.hpp index a0d9a7b29..799e337f7 100644 --- a/addons/jr/cfgweapons.hpp +++ b/addons/jr/cfgweapons.hpp @@ -920,17 +920,14 @@ class CfgWeapons { class muzzle_snds_H_MG: muzzle_snds_H { // we were seriously lacking a MG suppressor since BI hid these (1.64) scope = 2; displayName = "$STR_CBA_JR_cfgweapons_muzzle_snds_h_mg"; // 7.62 MG, can also be used on 6.5 and 5.56 MGs - picture = "\a3\weapons_f_mark\Data\UI\gear_acca_snds_338_tan_CA.paa"; model = "\a3\weapons_f\acc\acca_snds_338_tan_F"; }; class muzzle_snds_H_MG_blk_F: muzzle_snds_H_MG { displayName = "$STR_CBA_JR_cfgweapons_muzzle_snds_h_mg"; // 7.62 MG, can also be used on 6.5 and 5.56 MGs - picture = "\a3\weapons_f_mark\Data\UI\gear_acca_snds_338_black_CA.paa"; model = "\a3\weapons_f\acc\acca_snds_338_black_F"; }; class muzzle_snds_H_MG_khk_F: muzzle_snds_H_MG { displayName = "$STR_CBA_JR_cfgweapons_muzzle_snds_h_mg"; // 7.62 MG, can also be used on 6.5 and 5.56 MGs - picture = "\a3\weapons_f_mark\Data\UI\gear_acca_snds_338_green_CA.paa"; model = "\a3\weapons_f\acc\acca_snds_338_green_F"; }; diff --git a/addons/optics/XEH_preInit.sqf b/addons/optics/XEH_preInit.sqf index 6eb436c01..5f67d1e6a 100644 --- a/addons/optics/XEH_preInit.sqf +++ b/addons/optics/XEH_preInit.sqf @@ -15,7 +15,7 @@ if (!hasInterface) exitWith {}; QGVAR(pauseOpticLayer) cutText ["", "PLAIN"]; GVAR(camera) = objNull; -[QGVAR(camera), {!isNull GVAR(camera)}] call CBA_fnc_registerFeatureCamera; +//[QGVAR(camera), {!isNull GVAR(camera)}] call CBA_fnc_registerFeatureCamera; // scripted optic data cache GVAR(currentOptic) = ""; diff --git a/addons/optics/stringtable.xml b/addons/optics/stringtable.xml index 65a5d95c7..31cd69d26 100644 --- a/addons/optics/stringtable.xml +++ b/addons/optics/stringtable.xml @@ -6,11 +6,12 @@ Community Base Addons - Optiken Community Base Addons - Optyka Community Base Addons - Ottiche + Community Base Addons - 照準器 Use picture in picture optics Bild in Bild-Optiken verwenden - Picture in Picture 照準器を使う + ピクチャー イン ピクチャー照準器を使う Używaj optyki typu Obraz w obrazie (PIP) Usa ottiche on Picture-in-Picture