aboutsummaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/game.gd2
-rw-r--r--client/global.gd17
-rw-r--r--client/map/items/grass.gd2
-rw-r--r--client/map/map.gd2
-rw-r--r--client/menu/settings_menu.gd7
-rw-r--r--client/player/follow_camera.gd2
-rw-r--r--client/server.gd4
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: