mirror of
https://github.com/Nokorpo/LibreAim.git
synced 2025-06-09 09:35:16 +09:00
Add limit fps option
This commit is contained in:
parent
05fe45d726
commit
1dc690ab99
5 changed files with 46 additions and 3 deletions
|
@ -7,6 +7,10 @@ func _ready():
|
|||
if DataManager.get_data(category, "window_mode"):
|
||||
var selected = DataManager.get_data(category, "window_mode")
|
||||
set_window_mode(get_window_mode_from_string(selected))
|
||||
var fps_limit = 120
|
||||
if DataManager.get_data(category, "fps_limit"):
|
||||
fps_limit = int(DataManager.get_data(category, "window_mode"))
|
||||
set_max_fps(fps_limit)
|
||||
|
||||
func _input(event):
|
||||
if event.is_action_pressed("fullscreen"):
|
||||
|
@ -41,3 +45,6 @@ func set_window_mode(window_mode: DisplayServer.WindowMode):
|
|||
DataManager.save_data("window_mode", "fullscreen", DataManager.categories.SETTINGS)
|
||||
elif window_mode == DisplayServer.WINDOW_MODE_MAXIMIZED:
|
||||
DataManager.save_data("window_mode", "windowed", DataManager.categories.SETTINGS)
|
||||
|
||||
func set_max_fps(value) -> void:
|
||||
Engine.set_max_fps(value)
|
||||
|
|
|
@ -3,7 +3,7 @@ extends AudioStreamPlayer
|
|||
func _ready():
|
||||
update_hit_sound()
|
||||
|
||||
func _on_volume_updated(value: float):
|
||||
func _on_volume_updated(_value: float):
|
||||
update_hit_sound()
|
||||
|
||||
func update_hit_sound():
|
||||
|
|
|
@ -24,6 +24,7 @@ func _ready() -> void:
|
|||
user_sensitivity = DataManager.set_parameter_if_exists(category, user_sensitivity, "sensitivity")
|
||||
camera.fov = DataManager.set_parameter_if_exists(category, camera.fov, "camera_fov")
|
||||
mouse_sensitivity = user_sensitivity * conversion_sensitivity
|
||||
print(str(user_sensitivity) + " " + str(conversion_sensitivity))
|
||||
|
||||
func _input(event) -> void:
|
||||
if event is InputEventMouseMotion:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=22 format=3 uid="uid://cropshnueuiqr"]
|
||||
[gd_scene load_steps=23 format=3 uid="uid://cropshnueuiqr"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/main_menu/settings.gd" id="1_4ilr3"]
|
||||
[ext_resource type="Texture2D" uid="uid://ql8v8tau18u1" path="res://assets/images/icons/checkbox_checked.svg" id="2_gf318"]
|
||||
|
@ -12,6 +12,7 @@
|
|||
[ext_resource type="Script" path="res://scenes/main_menu/settings_world_appareance.gd" id="9_78isq"]
|
||||
[ext_resource type="Script" path="res://scenes/main_menu/audio.gd" id="10_0bjg8"]
|
||||
[ext_resource type="Texture2D" uid="uid://b6xs7w20eke54" path="res://assets/images/checkerboard.png" id="10_tgbab"]
|
||||
[ext_resource type="Script" path="res://scenes/main_menu/settings_fps_limit.gd" id="11_8bk84"]
|
||||
[ext_resource type="Script" path="res://scenes/game_world/destroyed_sound.gd" id="11_yfmwu"]
|
||||
[ext_resource type="Texture2D" uid="uid://nng31j22g6fh" path="res://assets/images/icons/play.svg" id="13_8vd46"]
|
||||
|
||||
|
@ -286,7 +287,6 @@ access = 2
|
|||
use_native_dialog = true
|
||||
|
||||
[node name="Video" type="Control" parent="HBoxContainer/Control2"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
|
@ -381,6 +381,21 @@ layout_mode = 2
|
|||
texture = ExtResource("10_tgbab")
|
||||
stretch_mode = 1
|
||||
|
||||
[node name="FPSLimit" type="VBoxContainer" parent="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
script = ExtResource("11_8bk84")
|
||||
|
||||
[node name="FPSLimitLabel" type="Label" parent="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/FPSLimit"]
|
||||
layout_mode = 2
|
||||
text = "Fps limit"
|
||||
|
||||
[node name="FPSLimitSlider" type="HSlider" parent="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/FPSLimit"]
|
||||
layout_mode = 2
|
||||
min_value = 60.0
|
||||
max_value = 360.0
|
||||
step = 5.0
|
||||
value = 120.0
|
||||
|
||||
[node name="Controls" type="Control" parent="HBoxContainer/Control2"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
|
@ -501,6 +516,7 @@ layout_mode = 2
|
|||
[connection signal="item_selected" from="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/WindowModeOptions" to="HBoxContainer/Control2/Video" method="_on_window_mode_options_item_selected"]
|
||||
[connection signal="color_changed" from="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/WorldAppareance/WorldColor/Color" to="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/WorldAppareance" method="_on_color_color_changed"]
|
||||
[connection signal="item_selected" from="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/WorldAppareance/WorldTexture" to="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/WorldAppareance" method="_on_world_texture_item_selected"]
|
||||
[connection signal="value_changed" from="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/FPSLimit/FPSLimitSlider" to="HBoxContainer/Control2/Video/MarginContainer/VBoxContainer/FPSLimit" method="_on_fps_limit_slider_value_changed"]
|
||||
[connection signal="item_selected" from="HBoxContainer/Control2/Controls/MarginContainer/VBoxContainer/HBoxContainer2/Game" to="HBoxContainer/Control2/Controls" method="_on_game_item_selected"]
|
||||
[connection signal="text_changed" from="HBoxContainer/Control2/Controls/MarginContainer/VBoxContainer/HBoxContainer2/Sensitivity" to="HBoxContainer/Control2/Controls" method="_on_sensitivity_text_changed"]
|
||||
[connection signal="value_changed" from="HBoxContainer/Control2/Audio/MarginContainer/VBoxContainer/VolumeSlider" to="HBoxContainer/Control2/Audio" method="_on_volume_slider_value_changed"]
|
||||
|
|
19
scenes/main_menu/settings_fps_limit.gd
Normal file
19
scenes/main_menu/settings_fps_limit.gd
Normal file
|
@ -0,0 +1,19 @@
|
|||
extends VBoxContainer
|
||||
|
||||
@onready var fps_limit_slider = $FPSLimitSlider
|
||||
@onready var fps_limit_label = $FPSLimitLabel
|
||||
|
||||
func _on_fps_limit_slider_value_changed(value):
|
||||
DataManager.save_data("fps_limit", value, DataManager.categories.SETTINGS)
|
||||
update_label()
|
||||
|
||||
func _ready():
|
||||
var category = DataManager.categories.SETTINGS
|
||||
|
||||
if DataManager.get_data(category, "fps_limit"):
|
||||
fps_limit_slider.value = DataManager.get_data(category, "fps_limit")
|
||||
|
||||
update_label()
|
||||
|
||||
func update_label() -> void:
|
||||
fps_limit_label.text = "FPS Limit: %d fps" % fps_limit_slider.value
|
Loading…
Add table
Add a link
Reference in a new issue