3 [
Attribute(defvalue:
"true", uiwidget: UIWidgets.CheckBox,
desc:
"Allow controls hints on screen.")]
6 [
Attribute(defvalue:
"false", uiwidget: UIWidgets.CheckBox,
desc:
"Allow controls hints on screen.")]
9 [
Attribute(defvalue:
"127.0.0.1", uiwidget: UIWidgets.EditBox,
desc:
"Last IP used for server connection.")]
12 [
Attribute(defvalue:
"2001", uiwidget: UIWidgets.EditBox,
desc:
"Last port used for server connection.")]
15 [
Attribute(defvalue:
"", uiwidget: UIWidgets.EditBox,
desc:
"Player's local profile name.")]
16 string m_sProfileName;
18 [
Attribute(defvalue:
"true", uiwidget: UIWidgets.CheckBox,
desc:
"Show radio protocol subtitles in chat.")]
19 bool m_bShowRadioProtocolText;
21 [
Attribute(defvalue:
"true", uiwidget: UIWidgets.CheckBox,
desc:
"Preserve selected gadget after performing actions like sprinting.")]
22 bool m_bStickyGadgets;
24 [
Attribute(defvalue:
"true", uiwidget: UIWidgets.CheckBox,
desc:
"Preserve aim down sights after performing actions like sprinting.")]
27 [
Attribute(defvalue:
"true", uiwidget: UIWidgets.CheckBox,
desc:
"Use mouse input for steering instead of for freelook when piloting aircrafts.")]
28 bool m_bMouseControlAircraft;
36 [
Attribute(defvalue:
"74", uiwidget: UIWidgets.Slider,
params:
"40 90 1",
desc:
"Field of view in first person camera")]
37 float m_fFirstPersonFOV;
39 [
Attribute(defvalue:
"74", uiwidget: UIWidgets.Slider,
params:
"40 90 1",
desc:
"Field of view in third person camera.")]
40 float m_fThirdPersonFOV;
42 [
Attribute(defvalue:
"74", uiwidget: UIWidgets.Slider,
params:
"40 90 1",
desc:
"Field of view in vehicle camera.")]
45 [
Attribute(defvalue:
"0.5", uiwidget: UIWidgets.Slider,
params:
"0 1 0.01",
desc:
"Aiming down sights focus intensity.")]
48 [
Attribute(defvalue:
"false", uiwidget: UIWidgets.CheckBox,
desc:
"Use focus mode by holding right mouse button.")]
54 [
Attribute(defvalue:
"100", uiwidget: UIWidgets.Slider,
params:
"0 200 5",
desc:
"Audio dynamic range.")]
55 float m_fDynamicRange;
57 [
Attribute(defvalue:
"true", uiwidget: UIWidgets.CheckBox,
desc:
"Enable/Disable Tinnitus Sound Playback")]
69 bool m_bNearDofEffect;
75 int m_iLastUsedPreset;
80 [
Attribute(defvalue:
"true", uiwidget: UIWidgets.CheckBox,
desc:
"Allow context hints on screen")]
81 protected bool m_bHintsEnabled;
83 [
Attribute(
desc:
"Types of hints which were already shown and should not be displayed again.", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(
EHint))]
84 protected ref array<EHint> m_aShownHints;
86 [
Attribute(
desc:
"How many times were hints in Shown Hints attribute displayed. Order of array items is the same.")]
87 protected ref array<int> m_aShownHintCounts;
92 bool AreHintsEnabled()
94 return m_bHintsEnabled;
110 return m_aShownHintCounts[
index];
127 m_aShownHintCounts.Insert(delta);
131 m_aShownHintCounts[
index] = m_aShownHintCounts[
index] + 1;
133 return m_aShownHintCounts[
index];
139 void LoadShownHints(out BaseContainer container)
141 BaseContainerTools.WriteToInstance(
this, container);
144 if (m_aShownHints.Count() != m_aShownHintCounts.Count())
146 Debug.Error2(
"SCR_HintSettings.LoadShownHints()",
"Error when loading persistent hints, number of hint IDs does not match the number of repetitions. Memory of shown hints was erased to prevent issues.");
147 m_aShownHints.Clear();
148 m_aShownHintCounts.Clear();
149 SaveShownHints(container);
153 if (!m_bHintsEnabled && !m_aShownHints.IsEmpty())
155 m_aShownHints.Clear();
156 m_aShownHintCounts.Clear();
157 SaveShownHints(container);
158 Print(
"Persistent state of hints cleared!", LogLevel.VERBOSE);
165 void SaveShownHints(BaseContainer container)
167 container.Set(
"m_aShownHints", m_aShownHints);
168 container.Set(
"m_aShownHintCounts", m_aShownHintCounts);
169 GetGame().UserSettingsChanged();
175 [
Attribute(defvalue:
"1", uiwidget: UIWidgets.Slider,
params:
"0.1 2 0.01",
desc:
"Mouse aim sensitivity")]
176 float m_fMouseSensitivity;
178 [
Attribute(defvalue:
"1", uiwidget: UIWidgets.Slider,
params:
"0.1 2 0.01",
desc:
"Stick aim sensitivity")]
179 float m_fStickSensitivity;
181 [
Attribute(defvalue:
"1", uiwidget: UIWidgets.Slider,
params:
"0.1 2 0.01",
desc:
"Additional aim sensitivity multiplier for ADS")]
187 [
Attribute(
"", UIWidgets.ResourceAssignArray,
"Recent game headers",
"conf")]
188 ref array<ResourceName> m_aRecentMissions;
191 int m_iMaxRecentEntries;
194 bool m_bEAScreenShown;
197 bool m_bTutorialPlayed;
200 bool m_bFirstTimePlay;
203 int m_iPlayTutorialShowCount;
206 int m_iPlayTutorialShowMax;
211 [
Attribute(
"", UIWidgets.ResourceAssignArray,
"Already read hints",
"conf")]
212 ref array<LocalizedString> m_aReadHints;
219 protected int m_iInventoryOpenCount;
222 protected int m_iQuickSlotShowCount;
228 protected bool m_bShowPersistentFactionWarning;