diff options
| author | metamuffin <metamuffin@disroot.org> | 2024-09-07 13:56:56 +0200 | 
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2024-09-07 13:56:56 +0200 | 
| commit | 923b4d1aa63b6226365a53a7fe227a734760ed1e (patch) | |
| tree | 75e98fa645b97e24559d8758785735ee76d1e3ec /client | |
| parent | 5b602bee672c469e7b8f27d956c7b10c2321b08f (diff) | |
| download | hurrycurry-923b4d1aa63b6226365a53a7fe227a734760ed1e.tar hurrycurry-923b4d1aa63b6226365a53a7fe227a734760ed1e.tar.bz2 hurrycurry-923b4d1aa63b6226365a53a7fe227a734760ed1e.tar.zst | |
fix hooks overriding each other
Diffstat (limited to 'client')
| -rw-r--r-- | client/map/auto_setup/environment_setup.gd | 6 | ||||
| -rw-r--r-- | client/map/auto_setup/light_setup.gd | 2 | ||||
| -rw-r--r-- | client/map/map.gd | 2 | ||||
| -rw-r--r-- | client/menu/blur_setup.gd | 2 | ||||
| -rw-r--r-- | client/menu/settings/dropdown_setting.gd | 2 | ||||
| -rw-r--r-- | client/menu/settings/input/input_setting.gd | 2 | ||||
| -rw-r--r-- | client/menu/settings/range_setting.gd | 2 | ||||
| -rw-r--r-- | client/menu/settings/text_setting.gd | 2 | ||||
| -rw-r--r-- | client/menu/settings/toggle_setting.gd | 2 | ||||
| -rw-r--r-- | client/player/player.gd | 2 | ||||
| -rw-r--r-- | client/settings.gd | 9 | 
11 files changed, 17 insertions, 16 deletions
| diff --git a/client/map/auto_setup/environment_setup.gd b/client/map/auto_setup/environment_setup.gd index 73c3ee32..c484ca1d 100644 --- a/client/map/auto_setup/environment_setup.gd +++ b/client/map/auto_setup/environment_setup.gd @@ -22,9 +22,9 @@ func set_sky(sky_name: String):  	environment.sky.sky_material = load("res://map/environment/presets/%s_sky.tres" % sky_name)  func _ready(): -	Settings.hook_changed_init("graphics.ssao", func (x): environment.ssao_enabled = x) -	Settings.hook_changed_init("graphics.gi", func (x): environment.sdfgi_enabled = x == "sdfgi" and allow_sdfgi) -	Settings.hook_changed_init("graphics.glow", func (x): environment.glow_enabled = x) +	Settings.hook_changed_init("graphics.ssao", false, func (x): environment.ssao_enabled = x) +	Settings.hook_changed_init("graphics.gi", false, func (x): environment.sdfgi_enabled = x == "sdfgi" and allow_sdfgi) +	Settings.hook_changed_init("graphics.glow", false, func (x): environment.glow_enabled = x)  	if !Global.on_vulkan():  		environment.environment.tonemap_exposure = 0.5 diff --git a/client/map/auto_setup/light_setup.gd b/client/map/auto_setup/light_setup.gd index 4da2886e..7d1b0b7a 100644 --- a/client/map/auto_setup/light_setup.gd +++ b/client/map/auto_setup/light_setup.gd @@ -19,7 +19,7 @@ class_name LightSetup  @export var completely_disable_light_if_shadows_disabled := false  func _ready(): -	Settings.hook_changed_init("graphics.shadows", apply_settings) +	Settings.hook_changed_init("graphics.shadows", false, apply_settings)  func apply_settings(setting: bool):  	if completely_disable_light_if_shadows_disabled: diff --git a/client/map/map.gd b/client/map/map.gd index f6258cc6..ce3c6dfa 100644 --- a/client/map/map.gd +++ b/client/map/map.gd @@ -52,7 +52,7 @@ func clear_tile(pos: Vector2i):  func _ready():  	voxelgi_timer.connect("timeout", gi_bake) -	Settings.hook_changed("graphics.gi", apply_gi_setting) +	Settings.hook_changed("graphics.gi", false, apply_gi_setting)  func apply_gi_setting(state):  	if state == "voxelgi" and not currently_baked: diff --git a/client/menu/blur_setup.gd b/client/menu/blur_setup.gd index b5f80540..331d1f47 100644 --- a/client/menu/blur_setup.gd +++ b/client/menu/blur_setup.gd @@ -17,7 +17,7 @@ extends Control  func _ready():  	update(Global.get_setting("graphics.ui_blur")) -	Settings.hook_changed("graphics.ui_blur", update) +	Settings.hook_changed("graphics.ui_blur", false, update)  func update(state):  	material.set_shader_parameter("enable_blur", state) diff --git a/client/menu/settings/dropdown_setting.gd b/client/menu/settings/dropdown_setting.gd index 4a3ce8c6..3d6b7c80 100644 --- a/client/menu/settings/dropdown_setting.gd +++ b/client/menu/settings/dropdown_setting.gd @@ -26,6 +26,6 @@ func create_row():  	var row = super()  	row.value_node = OptionButton.new()  	for i in options: row.value_node.add_item(tr(nskey + "." + i)) -	Settings.hook_changed_init(key, func (value): row.value_node.select(options.find(value))) +	Settings.hook_changed_init(key, true, func (value): row.value_node.select(options.find(value)))  	row.value_node.item_selected.connect(func(item): Global.set_setting(key, options[item]))  	return row diff --git a/client/menu/settings/input/input_setting.gd b/client/menu/settings/input/input_setting.gd index 7a017ed2..7388af78 100644 --- a/client/menu/settings/input/input_setting.gd +++ b/client/menu/settings/input/input_setting.gd @@ -22,6 +22,6 @@ const INPUT_VALUE_NODE_SCENE = preload("res://menu/settings/input/input_value_no  func create_row():  	var row = super()  	row.value_node = INPUT_VALUE_NODE_SCENE.instantiate() -	Settings.hook_changed_init(key, func(value): row.value_node.value = value) +	Settings.hook_changed_init(key, true, func(value): row.value_node.value = value)  	row.value_node.changed.connect(func(): Global.set_setting(key, row.value_node.value))  	return row diff --git a/client/menu/settings/range_setting.gd b/client/menu/settings/range_setting.gd index f1261b81..b119a205 100644 --- a/client/menu/settings/range_setting.gd +++ b/client/menu/settings/range_setting.gd @@ -36,6 +36,6 @@ func create_row():  	row.value_node.max_value = max_value  	row.value_node.tick_count = abs(max_value - min_value) if tick_count == null else tick_count  	row.value_node.step = 0 if smooth else (1 if tick_count == null else abs(max_value - min_value) / (tick_count - 1)) -	Settings.hook_changed_init(key, func(value): row.value_node.value = value) +	Settings.hook_changed_init(key, true, func(value): row.value_node.value = value)  	row.value_node.value_changed.connect(func(value): Global.set_setting(key, value))  	return row diff --git a/client/menu/settings/text_setting.gd b/client/menu/settings/text_setting.gd index 8bf2fa9f..dc9352ab 100644 --- a/client/menu/settings/text_setting.gd +++ b/client/menu/settings/text_setting.gd @@ -28,5 +28,5 @@ func create_row():  	row.value_node = LineEdit.new()  	row.value_node.placeholder_text = placeholder  	row.value_node.text_changed.connect(func(text): Global.set_setting(key, text)) -	Settings.hook_changed_init(key, func(text): row.value_node.text = text) +	Settings.hook_changed_init(key, true, func(text): row.value_node.text = text)  	return row diff --git a/client/menu/settings/toggle_setting.gd b/client/menu/settings/toggle_setting.gd index c8c40469..8e0c030c 100644 --- a/client/menu/settings/toggle_setting.gd +++ b/client/menu/settings/toggle_setting.gd @@ -24,5 +24,5 @@ func create_row():  	var row = super()  	row.value_node = CheckButton.new()  	row.value_node.pressed.connect(func(): Global.set_setting(key, row.value_node.button_pressed)) -	Settings.hook_changed_init(key, func(value): row.value_node.button_pressed = value) +	Settings.hook_changed_init(key, true, func(value): row.value_node.button_pressed = value)  	return row diff --git a/client/player/player.gd b/client/player/player.gd index f034f14d..f418337b 100644 --- a/client/player/player.gd +++ b/client/player/player.gd @@ -77,7 +77,7 @@ func _ready():  	character.select_hairstyle(character_idx)  	clear_timer.timeout.connect(clear_message) -	Settings.hook_changed_init("gameplay.usernames", update_username_tag) +	Settings.hook_changed_init("gameplay.usernames", false, update_username_tag)  func update_position(new_position: Vector2, new_rotation: float, new_boosting: bool):  	position_ = new_position diff --git a/client/settings.gd b/client/settings.gd index 828ecb62..5501f1ab 100644 --- a/client/settings.gd +++ b/client/settings.gd @@ -66,11 +66,12 @@ static func get_root():  		])  	]) -static func hook_changed(key: String, callable: Callable): -	change_hooks_display[key] = callable +static func hook_changed(key: String, display: bool, callable: Callable): +	if display: change_hooks_display[key] = callable +	else: change_hooks_apply[key] = callable -static func hook_changed_init(key: String, callable: Callable): -	hook_changed(key, callable) +static func hook_changed_init(key: String, display: bool, callable: Callable): +	hook_changed(key, display, callable)  	callable.call(Global.get_setting(key))  static var change_hooks_display = {} | 
