diff --git a/addons/spectator/ACE_Settings.hpp b/addons/spectator/ACE_Settings.hpp index ef74580428..3bd0f0bc50 100644 --- a/addons/spectator/ACE_Settings.hpp +++ b/addons/spectator/ACE_Settings.hpp @@ -1,25 +1,11 @@ class ACE_Settings { class GVAR(enableAI) { - category = CSTRING(Module_DisplayName); - displayName = CSTRING(ai_DisplayName); - description = CSTRING(ai_Description); - typeName = "BOOL"; - value = 0; + movedToSQF = 1; }; class GVAR(restrictModes) { - category = CSTRING(Module_DisplayName); - displayName = CSTRING(modes_DisplayName); - description = CSTRING(modes_Description); - typeName = "SCALAR"; - value = 0; - values[] = {CSTRING(modes_all), CSTRING(modes_unit), "$STR_A3_Spectator_free_camera_tooltip", "$STR_A3_Spectator_1pp_camera_tooltip", "$STR_A3_Spectator_3pp_camera_tooltip"}; + movedToSQF = 1; }; class GVAR(restrictVisions) { - category = CSTRING(Module_DisplayName); - displayName = CSTRING(visions_DisplayName); - description = CSTRING(visions_Description); - typeName = "SCALAR"; - value = 0; - values[] = {CSTRING(modes_all), CSTRING(visions_nv), CSTRING(visions_ti), "$STR_Special_None"}; + movedToSQF = 1; }; }; diff --git a/addons/spectator/XEH_preInit.sqf b/addons/spectator/XEH_preInit.sqf index 8220b21520..1e3d019177 100644 --- a/addons/spectator/XEH_preInit.sqf +++ b/addons/spectator/XEH_preInit.sqf @@ -6,6 +6,8 @@ PREP_RECOMPILE_START; #include "XEH_PREP.hpp" PREP_RECOMPILE_END; +#include "initSettings.sqf" + // Used by public functions GVAR(availableModes) = [MODE_FREE, MODE_FPS, MODE_FOLLOW]; GVAR(availableSides) = [west,east,resistance,civilian]; diff --git a/addons/spectator/functions/fnc_ui_handleMouseZChanged.sqf b/addons/spectator/functions/fnc_ui_handleMouseZChanged.sqf index 8b109d430c..b402d9830e 100644 --- a/addons/spectator/functions/fnc_ui_handleMouseZChanged.sqf +++ b/addons/spectator/functions/fnc_ui_handleMouseZChanged.sqf @@ -15,12 +15,11 @@ * * Public: No */ -#define FOLLOW_CAMERA_MAX_DISTANCE 5 if (GVAR(camMode) == MODE_FOLLOW) then { if ((_this select 1) > 0) then { GVAR(camDistance) = (GVAR(camDistance) - 1) max 0; } else { - GVAR(camDistance) = (GVAR(camDistance) + 1) min FOLLOW_CAMERA_MAX_DISTANCE; + GVAR(camDistance) = (GVAR(camDistance) + 1) min GVAR(maxFollowDistance); }; }; diff --git a/addons/spectator/initSettings.sqf b/addons/spectator/initSettings.sqf new file mode 100644 index 0000000000..c970fe77c7 --- /dev/null +++ b/addons/spectator/initSettings.sqf @@ -0,0 +1,39 @@ +[ + QGVAR(enableAI), + "CHECKBOX", + [LSTRING(ai_DisplayName), LSTRING(ai_Description)], + LSTRING(Settings_DisplayName), + false, + true +] call CBA_settings_fnc_init; + +[ + QGVAR(restrictModes), + "LIST", + [LSTRING(modes_DisplayName), LSTRING(modes_Description)], + LSTRING(Settings_DisplayName), + [[0, 1, 2, 3, 4], [LSTRING(modes_all), LSTRING(modes_unit), "STR_A3_Spectator_free_camera_tooltip", "STR_A3_Spectator_1pp_camera_tooltip", "STR_A3_Spectator_3pp_camera_tooltip"], 0], + true, + {}, + true +] call CBA_settings_fnc_init; + +[ + QGVAR(restrictVisions), + "LIST", + [LSTRING(visions_DisplayName), LSTRING(visions_Description)], + LSTRING(Settings_DisplayName), + [[0, 1, 2, 3], [LSTRING(modes_all), LSTRING(visions_nv), LSTRING(visions_ti), "STR_Special_None"], 0], + true, + {}, + true +] call CBA_settings_fnc_init; + +[ + QGVAR(maxFollowDistance), + "SLIDER", + [LSTRING(MaxFollowDistance_DisplayName), LSTRING(MaxFollowDistance_Description)], + LSTRING(Settings_DisplayName), + [5, 25, 5, 1], + false +] call CBA_settings_fnc_init; diff --git a/addons/spectator/stringtable.xml b/addons/spectator/stringtable.xml index 634fd675cf..01ad0f210c 100644 --- a/addons/spectator/stringtable.xml +++ b/addons/spectator/stringtable.xml @@ -180,6 +180,12 @@ 热成像 熱成像 + + Max Follow Distance + + + Maximum distance the follow camera can be from the target + Engineer