From 9a5e58351f7fe437da31eb64df74c7fe74d9a2d5 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Tue, 8 Jun 2021 19:10:07 +0200 Subject: [PATCH] overlay instances use defaults if a setting is missing --- .../addons/openvr_overlay/overlay_instance.gd | 18 +++++++++++------- ovr-utils/ui/overlay_list_item.gd | 4 ++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/ovr-utils/addons/openvr_overlay/overlay_instance.gd b/ovr-utils/addons/openvr_overlay/overlay_instance.gd index 2ec36ff..a6fb8b4 100644 --- a/ovr-utils/addons/openvr_overlay/overlay_instance.gd +++ b/ovr-utils/addons/openvr_overlay/overlay_instance.gd @@ -69,17 +69,21 @@ func add_grab(): func load_settings(): if Settings.s.overlays.has(name): var loaded = Settings.s.overlays[name] + if loaded.has("fallback"): fallback = loaded.fallback - set_target(loaded.target) + if loaded.has("target"): + set_target(loaded.target) - set_width_in_meters(loaded.width) - - for t_key in loaded.offsets: - var t_offset = loaded.offsets[t_key] - _offsets[t_key].pos = t_offset.pos - _offsets[t_key].rot = t_offset.rot + if loaded.has("offsets"): + for t_key in loaded.offsets: + var t_offset = loaded.offsets[t_key] + _offsets[t_key].pos = t_offset.pos + _offsets[t_key].rot = t_offset.rot update_offset() + + if loaded.has("width"): + set_width_in_meters(loaded.width) if loaded.has("visible"): set_overlay_visible(loaded.visible) if loaded.has("alpha"): diff --git a/ovr-utils/ui/overlay_list_item.gd b/ovr-utils/ui/overlay_list_item.gd index 1cce6f6..11e7282 100644 --- a/ovr-utils/ui/overlay_list_item.gd +++ b/ovr-utils/ui/overlay_list_item.gd @@ -7,11 +7,11 @@ func _ready() -> void: overlay = OverlayManager.get_node(overlay_name) $MoreOptions/Container/List/SetSize/PanelContainer.visible = false $MoreOptions/Container/List/SetAlpha/PanelContainer.visible = false - $MoreOptions/Container/List/SetSize/PanelContainer/SizeSlider.value = Settings.s.overlays[overlay_name].width + $MoreOptions/Container/List/SetSize/PanelContainer/SizeSlider.value = overlay.width_meters $MoreOptions.visible = false $BasicOptions/Label.text = overlay_name name = overlay_name - $MoreOptions/Container/List/Target.selected = overlay.TARGETS.find(Settings.s.overlays[overlay_name].target) + $MoreOptions/Container/List/Target.selected = overlay.TARGETS.find(overlay.target) overlay.connect("overlay_visibility_changed", self, "_overlay_visibility_changed")