21 static void SetAimSensitivitySettings()
23 BaseContainer aimSensitivitySettings =
GetGame().GetGameUserSettings().GetModule(
"SCR_AimSensitivitySettings");
24 if (aimSensitivitySettings)
26 float aimSensitivityMouse;
27 float aimSensitivityGamepad;
30 if (aimSensitivitySettings.Get(
"m_fMouseSensitivity", aimSensitivityMouse)
31 && aimSensitivitySettings.Get(
"m_fStickSensitivity", aimSensitivityGamepad)
32 && aimSensitivitySettings.Get(
"m_fAimADS", aimMultipADS))
34 CharacterControllerComponent.SetAimingSensitivity(aimSensitivityMouse, aimSensitivityGamepad, aimMultipADS);
35 SCR_CharacterCameraHandlerComponent.SetADSSensitivity(aimMultipADS);
39 float inputCurveMouse;
40 float inputCurveStick;
43 if (aimSensitivitySettings.Get(
"m_fFOVInputCurveMouse", inputCurveMouse)
44 && aimSensitivitySettings.Get(
"m_fFOVInputCurveStick", inputCurveStick)
45 && aimSensitivitySettings.Get(
"m_fFOVInputCurveGyro", inputCurveGyro))
47 CharacterControllerComponent.SetFOVInputCurve(inputCurveMouse, inputCurveStick, inputCurveGyro, 0);
55 [
Attribute(defvalue:
"1", uiwidget: UIWidgets.CheckBox,
"Head tracking freelook")]
56 bool m_bHeadTrackingFreelook;
58 [
Attribute(defvalue:
"1", uiwidget: UIWidgets.CheckBox,
"Head tracking while aiming down sights")]
80 static void SetHeadTrackingSettings()
82 BaseContainer headTrackingSettings =
GetGame().GetGameUserSettings().GetModule(
"SCR_HeadTrackingSettings");
83 if (headTrackingSettings)
85 bool headTrackingFreelook;
89 if (headTrackingSettings.Get(
"m_bHeadTrackingFreelook", headTrackingFreelook)
90 && headTrackingSettings.Get(
"m_bHeadTrackingADS", headTrackingADS)
91 && headTrackingSettings.Get(
"m_eHeadTrackingLean", headTrackingLean))
93 CharacterControllerComponent.SetTrackIREnable(headTrackingFreelook || headTrackingADS || headTrackingLean !=
ETrackIRLeanMode.DISABLED);
94 CharacterControllerComponent.SetTrackIRFreelookEnable(headTrackingFreelook);
95 CharacterControllerComponent.SetTrackIRWhileADSEnable(headTrackingADS);
96 CharacterControllerComponent.SetTrackIRLeaningEnable(headTrackingLean !=
ETrackIRLeanMode.DISABLED);
97 CharacterControllerComponent.SetTrackIRLeaningMode(headTrackingLean);
100 float headTrackingSensitivity;
101 float headTrackingADSDeadzone;
103 if (headTrackingSettings.Get(
"m_fHeadTrackingSensitivity", headTrackingSensitivity)
104 && headTrackingSettings.Get(
"m_fHeadTrackingADSDeadzone", headTrackingADSDeadzone))
106 CharacterControllerComponent.SetTrackIRFreelookSensitivity(headTrackingSensitivity);
107 CharacterControllerComponent.SetTrackIRFreelookDeadzoneADS(headTrackingADSDeadzone);
110 float headTrackingLeanSensitivity;
111 float headTrackingLeanDeadzone;
112 float headTrackingLeanYawLimit;
114 if (headTrackingSettings.Get(
"m_fHeadTrackingLeanSensitivity", headTrackingLeanSensitivity)
115 && headTrackingSettings.Get(
"m_fHeadTrackingLeanDeadzone", headTrackingLeanDeadzone)
116 && headTrackingSettings.Get(
"m_fHeadTrackingLeanYawLimit", headTrackingLeanYawLimit))
118 CharacterControllerComponent.SetTrackIRMoveLeaningSensitivity(headTrackingLeanSensitivity);
119 CharacterControllerComponent.SetTrackIRRollLeaningSensitivity(headTrackingLeanSensitivity);
120 CharacterControllerComponent.SetTrackIRLeaningDeadzone(headTrackingLeanDeadzone);
121 CharacterControllerComponent.SetTrackIRLeaningActiveYawRange(headTrackingLeanYawLimit);
132 [
Attribute(defvalue:
"1", uiwidget:
UIWidgets.CheckBox,
"Enable gyro while freelooking")]
133 bool m_bGyroFreelook;
135 [
Attribute(defvalue:
"1", uiwidget:
UIWidgets.CheckBox,
"Enable gyro while aiming down sights")]
139 float m_fGyroSensitivity;
142 float m_fGyroVerticalHorizontalRatio;
145 float m_fRumbleIntensity;
157 static void SetControllerSettings()
159 BaseContainer controllerSettings =
GetGame().GetGameUserSettings().GetModule(
"SCR_ControllerSettings");
160 if (controllerSettings)
166 if (controllerSettings.Get(
"m_bGyroAlways", gyroAlways)
167 && controllerSettings.Get(
"m_bGyroFreelook", gyroFreelook)
168 && controllerSettings.Get(
"m_bGyroADS", gyroADS))
170 CharacterControllerComponent.SetGyroControl(gyroAlways, gyroFreelook, gyroADS);
173 float gyroSensitivity;
174 float gyroVerticalHorizontalRatio;
180 if (controllerSettings.Get(
"m_fGyroSensitivity", gyroSensitivity)
181 && controllerSettings.Get(
"m_fGyroVerticalHorizontalRatio", gyroVerticalHorizontalRatio)
182 && controllerSettings.Get(
"m_eGyroDirectionYaw", gyroDirectionYaw)
183 && controllerSettings.Get(
"m_eGyroDirectionPitch", gyroDirectionPitch)
184 && controllerSettings.Get(
"m_eGyroDirectionRoll", gyroDirectionRoll))
186 float sensitivityYaw;
187 switch (gyroDirectionYaw)
193 float sensitivityPitch;
194 switch (gyroDirectionPitch)
200 float sensitivityRoll;
201 switch (gyroDirectionRoll)
207 if (gyroVerticalHorizontalRatio > 1)
210 float horizontalRatio =
Math.Max(2 - gyroVerticalHorizontalRatio, 0);
211 sensitivityYaw *= horizontalRatio;
212 sensitivityRoll *= horizontalRatio;
217 float verticalRatio =
Math.Max(gyroVerticalHorizontalRatio, 0);
218 sensitivityPitch *= verticalRatio;
221 CharacterControllerComponent.SetGyroSensitivity(sensitivityYaw, sensitivityPitch, sensitivityRoll);
224 float rumbleIntensity;
225 if (controllerSettings.Get(
"m_fRumbleIntensity", rumbleIntensity))
ArmaReforgerScripted GetGame()
ETrackIRLeanMode m_eHeadTrackingLean
float m_fHeadTrackingLeanSensitivity
float m_fStickSensitivity
float m_fFOVInputCurveMouse
float m_fHeadTrackingSensitivity
float m_fMouseSensitivity
float m_fHeadTrackingLeanDeadzone
float m_fFOVInputCurveGyro
float m_fFOVInputCurveStick
float m_fHeadTrackingADSDeadzone
float m_fHeadTrackingLeanYawLimit
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Effect used to rumble the gamepad.
By inheriting of this class you define a settings module.
SCR_FieldOfViewSettings Attribute