diff options
author | tpart <tpart120@proton.me> | 2024-06-30 01:06:12 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2024-06-30 01:06:14 +0200 |
commit | 14a256c770774f3810723b48fa64b1b959113545 (patch) | |
tree | bb6c21f45edb0cab0835b48a7275f402c6aef233 /client | |
parent | 3322a7d3ceb399868c5eeeeb081249faa82506cd (diff) | |
download | hurrycurry-14a256c770774f3810723b48fa64b1b959113545.tar hurrycurry-14a256c770774f3810723b48fa64b1b959113545.tar.bz2 hurrycurry-14a256c770774f3810723b48fa64b1b959113545.tar.zst |
Add get_setting and set_setting helper functions
Diffstat (limited to 'client')
-rw-r--r-- | client/game.gd | 2 | ||||
-rw-r--r-- | client/global.gd | 17 | ||||
-rw-r--r-- | client/map/items/grass.gd | 2 | ||||
-rw-r--r-- | client/map/map.gd | 2 | ||||
-rw-r--r-- | client/menu/settings_menu.gd | 7 | ||||
-rw-r--r-- | client/player/follow_camera.gd | 2 | ||||
-rw-r--r-- | client/server.gd | 4 |
7 files changed, 24 insertions, 12 deletions
diff --git a/client/game.gd b/client/game.gd index 37dc4e99..79db16ea 100644 --- a/client/game.gd +++ b/client/game.gd @@ -39,7 +39,7 @@ func _ready(): if !Global.on_vulkan(): environment.environment.tonemap_exposure = 0.5 - environment.environment.sdfgi_enabled = Global.settings["sdfgi"]["value"] + environment.environment.sdfgi_enabled = Global.get_setting("sdfgi") mp.connection_closed.connect(func(reason: String): Global.error_message = reason; diff --git a/client/global.gd b/client/global.gd index d4ab1677..eea9e64d 100644 --- a/client/global.gd +++ b/client/global.gd @@ -134,12 +134,12 @@ func _init(): func _input(event): if Input.is_action_just_pressed("fullscreen"): - settings["fullscreen"]["value"] = !settings["fullscreen"]["value"] + Global.set_setting("fullscreen", not Global.get_setting("fullscreen")) save_settings() update_fullscreen() func update_fullscreen(): - if settings["fullscreen"]["value"]: + if get_setting("fullscreen"): DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) else: DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) @@ -198,3 +198,16 @@ func add_missing_keys(dict: Dictionary, reference: Dictionary): else: if dict[k] is Dictionary: add_missing_keys(dict[k], reference[k]) + +func get_setting(key: String): + if settings.has(key): + return settings[key]["value"] + else: + push_error("Tried to access setting \"%s\", which does not exist (missing key)" % key) + return null + +func set_setting(key: String, value): + if !settings.has(key): + push_error("Tried to set setting \"%s\", which does not yet exist (missing key)" % key) + settings[key] = {} + settings[key]["value"] = value diff --git a/client/map/items/grass.gd b/client/map/items/grass.gd index 1222f767..15ee7603 100644 --- a/client/map/items/grass.gd +++ b/client/map/items/grass.gd @@ -29,7 +29,7 @@ func _init(rename: String, _neighbors: Array): var random = RandomNumberGenerator.new() random.seed = rename.hash() - for _i in Global.settings["grass_amount"]["value"]: + for _i in Global.get_setting("grass_amount"): var g: Node3D = GRASS_SIDE.instantiate() grass_tile.add_child(g) g.position = Vector3(random.randf_range(-.5, .5), 0, random.randf_range(-.5, .5)) diff --git a/client/map/map.gd b/client/map/map.gd index 49df1ce3..092a488a 100644 --- a/client/map/map.gd +++ b/client/map/map.gd @@ -36,7 +36,7 @@ func _ready(): voxelgi_timer.connect("timeout", gi_bake) func gi_bake(): - if not Global.settings["voxel_gi"]["value"]: return + if not Global.get_setting("voxel_gi"): return print("Map: Rebaking VoxelGI") gi_bake_blocking() diff --git a/client/menu/settings_menu.gd b/client/menu/settings_menu.gd index e593caa0..be2d2dff 100644 --- a/client/menu/settings_menu.gd +++ b/client/menu/settings_menu.gd @@ -22,7 +22,7 @@ var settings: Dictionary func _on_back_pressed(): for k in settings.keys(): - Global.settings[k]["value"] = settings[k].get_value() + Global.set_setting(k, settings[k].get_value()) Global.save_settings() Global.update_fullscreen() menu_manager.go_back() @@ -38,7 +38,6 @@ func update_rows(fix_focus = false): c.queue_free() for k in Global.settings.keys(): - var v = Global.settings[k] var row: SettingsRow = preload("res://menu/settings_row.tscn").instantiate() row.setup(k, Global.settings, Global.default_settings) row.connect("apply_preset", apply_preset) @@ -51,9 +50,9 @@ func update_rows(fix_focus = false): func apply_preset(preset: Dictionary): for k in settings.keys(): - Global.settings[k]["value"] = settings[k].get_value() + Global.set_setting(k, settings[k].get_value()) for k in preset.keys(): - Global.settings[k]["value"] = preset[k] + Global.set_setting(k, preset[k]) update_rows(true) diff --git a/client/player/follow_camera.gd b/client/player/follow_camera.gd index 36538e8d..104725d9 100644 --- a/client/player/follow_camera.gd +++ b/client/player/follow_camera.gd @@ -74,7 +74,7 @@ func follow(delta): new_transform.origin = target.position + offset new_transform = new_transform.looking_at(target.position) - if Global.settings["interpolate_camera_rotation"]["value"]: + if Global.get_setting("interpolate_camera_rotation"): transform.basis = Basis.from_euler(Vector3( lerp_angle(transform.basis.get_euler().x, new_transform.basis.get_euler().x, delta * LOOK_WEIGHT), lerp_angle(transform.basis.get_euler().y, new_transform.basis.get_euler().y, delta * LOOK_WEIGHT), diff --git a/client/server.gd b/client/server.gd index b0ab5188..0352a931 100644 --- a/client/server.gd +++ b/client/server.gd @@ -84,14 +84,14 @@ func _server_exec(): sem.post() func get_server_path() -> String: - var path: String = Global.settings["server_binary"]["value"] + var path: String = Global.get_setting("server_binary") if path != "": return path else: return "undercooked-server" func get_server_data(): - var path: String = Global.settings["server_data"]["value"] + var path: String = Global.get_setting("server_data") if path != "": return path else: |