From a6d129526c6f884e090aaf2c7fecdb4e9bb80d59 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Mon, 10 Feb 2020 01:23:33 +0200 Subject: [PATCH] Fixed issue where Brushes and Palettes wouldn't load if you opened Pixelorama from a file It now uses "OS.get_executable_path().get_base_dir()" to find the root directory of Pixelorama, instead of just "." --- Scripts/Dialogs/AboutDialog.gd | 2 +- Scripts/Global.gd | 3 +++ Scripts/Import.gd | 3 ++- Scripts/Main.gd | 1 - Scripts/Palette/EditPalettePopup.gd | 2 +- Scripts/Palette/PaletteContainer.gd | 7 ++++--- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Scripts/Dialogs/AboutDialog.gd b/Scripts/Dialogs/AboutDialog.gd index 8ed907549..301d0ac08 100644 --- a/Scripts/Dialogs/AboutDialog.gd +++ b/Scripts/Dialogs/AboutDialog.gd @@ -68,7 +68,7 @@ func _on_AboutDialog_about_to_show() -> void: translators.create_item(translators_root).set_text(0, " Andreev Andrei - " + tr("Russian")) translators.create_item(translators_root).set_text(0, " ax trifonov (ax34) - " + tr("Russian")) translators.create_item(translators_root).set_text(0, " JunYouIntrovert - " + tr("Chinese Traditional")) - translators.create_item(translators_root).set_text(0, " Chenxu Wang (wcxu21) - " + tr("Chinese Simplified")) + translators.create_item(translators_root).set_text(0, " Chenxu Wang - " + tr("Chinese Simplified")) translators.create_item(translators_root).set_text(0, " Marco Galli (Gaarco) - " + tr("Italian")) translators.create_item(translators_root).set_text(0, " azagaya - " + tr("Spanish")) translators.create_item(translators_root).set_text(0, " Lilly And (KatieAnd) - " + tr("Spanish")) diff --git a/Scripts/Global.gd b/Scripts/Global.gd index a69e295b9..d4397d5da 100644 --- a/Scripts/Global.gd +++ b/Scripts/Global.gd @@ -1,5 +1,6 @@ extends Node +var root_directory := "." var config_cache := ConfigFile.new() # warning-ignore:unused_class_variable var loaded_locales : Array @@ -243,6 +244,8 @@ var error_dialog : AcceptDialog func _ready() -> void: randomize() + if OS.has_feature("standalone"): + root_directory = OS.get_executable_path().get_base_dir() # Load settings from the config file config_cache.load("user://cache.ini") diff --git a/Scripts/Import.gd b/Scripts/Import.gd index e345d8194..cbc150f7a 100644 --- a/Scripts/Import.gd +++ b/Scripts/Import.gd @@ -2,7 +2,7 @@ extends Node func import_brushes(path : String) -> void: var brushes_dir := Directory.new() - brushes_dir.open(".") + brushes_dir.open(Global.root_directory) if !brushes_dir.dir_exists(path): brushes_dir.make_dir(path) @@ -16,6 +16,7 @@ func import_brushes(path : String) -> void: func find_brushes(brushes_dir : Directory, path : String) -> Array: var subdirectories := [] var found_random_brush := 0 + path = Global.root_directory.plus_file(path) brushes_dir.open(path) brushes_dir.list_dir_begin(true) var file := brushes_dir.get_next() diff --git a/Scripts/Main.gd b/Scripts/Main.gd index 4b78cd61d..b0f09abb3 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -154,7 +154,6 @@ func _ready() -> void: if OS.get_cmdline_args(): for arg in OS.get_cmdline_args(): - print(arg) if arg.get_extension().to_lower() == "pxo": _on_OpenSprite_file_selected(arg) else: diff --git a/Scripts/Palette/EditPalettePopup.gd b/Scripts/Palette/EditPalettePopup.gd index 5ce127315..53194b7e6 100644 --- a/Scripts/Palette/EditPalettePopup.gd +++ b/Scripts/Palette/EditPalettePopup.gd @@ -101,7 +101,7 @@ func _on_EditPaletteSaveButton_pressed() -> void: if palette_name_edit.text != current_palette: Global.palettes.erase(current_palette) var dir := Directory.new() - dir.open(".") + dir.open(Global.root_directory) dir.rename("Palettes".plus_file(current_palette + ".json"), "Palettes".plus_file(palette_name_edit.text + ".json")) current_palette = palette_name_edit.text working_palette.name = current_palette diff --git a/Scripts/Palette/PaletteContainer.gd b/Scripts/Palette/PaletteContainer.gd index 9b7f1e79b..533adec2e 100644 --- a/Scripts/Palette/PaletteContainer.gd +++ b/Scripts/Palette/PaletteContainer.gd @@ -1,8 +1,8 @@ extends GridContainer -const palette_button = preload("res://Prefabs/PaletteButton.tscn"); -const palettes_path := "Palettes" +const palette_button = preload("res://Prefabs/PaletteButton.tscn") +var palettes_path := "Palettes" var current_palette = "Default" var from_palette : Palette @@ -150,8 +150,9 @@ func on_color_select(index : int) -> void: Global.update_right_custom_brush() func _load_palettes() -> void: + palettes_path = Global.root_directory.plus_file(palettes_path) var dir := Directory.new() - dir.open(".") + dir.open(Global.root_directory) if not dir.dir_exists(palettes_path): dir.make_dir(palettes_path)