aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/gui/menus/settings/input/input_manager.gd3
-rw-r--r--client/player/controllable_player.gd5
-rw-r--r--client/system/settings.gd4
-rw-r--r--locale/en.ini1
4 files changed, 9 insertions, 4 deletions
diff --git a/client/gui/menus/settings/input/input_manager.gd b/client/gui/menus/settings/input/input_manager.gd
index 82ee5a6a..da148e8d 100644
--- a/client/gui/menus/settings/input/input_manager.gd
+++ b/client/gui/menus/settings/input/input_manager.gd
@@ -43,9 +43,10 @@ func get_events(action_name: String) -> Array:
return []
return input_map[action_name]
-func settings() -> Array:
+func settings(extra) -> Array: # Array[GameSetting]
var entries := []
for k in input_map.keys(): entries.append(InputSetting.new(k))
+ entries.append_array(extra)
return entries
func change_input_map_action(action_name: String, events: Array, save: bool = true):
diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd
index ebc91488..8f5ce3c0 100644
--- a/client/player/controllable_player.gd
+++ b/client/player/controllable_player.gd
@@ -76,8 +76,9 @@ func _process(delta):
func _input(event: InputEvent):
if Input.mouse_mode != Input.MOUSE_MODE_CAPTURED: return
if event is InputEventMouseMotion:
- fps_look.x += event.relative.y * -0.001
- fps_look.y += event.relative.x * 0.001
+ var sens = Settings.read("input.fps_mouse_sensitivity")
+ fps_look.x += event.relative.y * -sens
+ fps_look.y += event.relative.x * sens
fps_look.x = max(-PI * 0.45, min(PI * 0.45, fps_look.x))
if event is InputEventMouseButton:
var action = ""
diff --git a/client/system/settings.gd b/client/system/settings.gd
index cd990216..97546c68 100644
--- a/client/system/settings.gd
+++ b/client/system/settings.gd
@@ -62,7 +62,9 @@ static func get_root():
DropdownSetting.new("scale_mode", "resize", ["resize", "disabled"]),
RangeSetting.new("scale_factor", 1. if not Global.on_mobile() else 1.5, 0.5, 1.5, 3),
]),
- SettingsCategory.new("input", InputManager.settings()),
+ SettingsCategory.new("input", InputManager.settings([
+ RangeSetting.new("fps_mouse_sensitivity", 0.001, 0.0001, 0.003)
+ ])),
SettingsCategory.new("server", [
PathSetting.new("binary_path", "", FileDialog.FileMode.FILE_MODE_OPEN_FILE),
PathSetting.new("editor_binary_path", "", FileDialog.FileMode.FILE_MODE_OPEN_DIR),
diff --git a/locale/en.ini b/locale/en.ini
index ed4121c6..04734914 100644
--- a/locale/en.ini
+++ b/locale/en.ini
@@ -154,6 +154,7 @@ c.settings.input.toggle_first_person=Toggle first person camera
c.settings.input.backwards=Move Backwards
c.settings.input.boost=Boost movement
c.settings.input.chat=Toggle chat
+c.settings.input.fps_mouse_sensitivity=Mouse Sensitivity (FPS)
c.settings.input.forwards=Move Forwards
c.settings.input.fullscreen=Toggle fullscreen
c.settings.input.interact_left=Interact (Left hand)