From b57e2c3c74a389a62299050cb7cfae7bd3df4648 Mon Sep 17 00:00:00 2001 From: CheetoHead Date: Mon, 16 Dec 2019 10:14:16 -0500 Subject: [PATCH 01/11] Palette switching bug fix --- Scripts/PaletteContainer.gd | 56 +++++++++++-------------------------- 1 file changed, 16 insertions(+), 40 deletions(-) diff --git a/Scripts/PaletteContainer.gd b/Scripts/PaletteContainer.gd index eb733ff..cd904d8 100644 --- a/Scripts/PaletteContainer.gd +++ b/Scripts/PaletteContainer.gd @@ -4,47 +4,12 @@ var palette_button = preload("res://Prefabs/PaletteButton.tscn"); var current_palette = "Default" -var default_palette = [ - Color("#FF000000"), - Color("#FF222034"), - Color("#FF45283c"), - Color("#FF663931"), - Color("#FF8f563b"), - Color("#FFdf7126"), - Color("#FFd9a066"), - Color("#FFeec39a"), - Color("#FFfbf236"), - Color("#FF99e550"), - Color("#FF6abe30"), - Color("#FF37946e"), - Color("#FF4b692f"), - Color("#FF524b24"), - Color("#FF323c39"), - Color("#FF3f3f74"), - Color("#FF306082"), - Color("#FF5b6ee1"), - Color("#FF639bff"), - Color("#FF5fcde4"), - Color("#FFcbdbfc"), - Color("#FFffffff"), - Color("#FF9badb7"), - Color("#FF847e87"), - Color("#FF696a6a"), - Color("#FF595652"), - Color("#FF76428a"), - Color("#FFac3232"), - Color("#FFd95763"), - Color("#FFd77bba"), - Color("#FF8f974a"), - Color("#FF8a6f30") -] - # Called when the node enters the scene tree for the first time. func _ready() -> void: - #Global.palettes["Default"] = default_palette _load_palettes() + #Select default palette "Default" on_palette_select(current_palette) pass # Replace with function body. @@ -57,26 +22,32 @@ func _clear_swatches() -> void: func on_palette_select(palette_name : String) -> void: _clear_swatches() - if Global.palettes.has(palette_name): + if Global.palettes.has(palette_name): #Palette exists in memory + current_palette = palette_name _display_palette(Global.palettes[palette_name]) - else: + else: #Use default on fail + current_palette = "Default" _display_palette(Global.palettes["Default"]) pass func _display_palette(palette : Array) -> void: var index := 0 + for color_data in palette: var color = Color(color_data.data) var new_button = palette_button.instance() + new_button.get_child(0).modulate = color new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name new_button.connect("pressed", self, "on_color_select", [index]) + add_child(new_button) index += 1 pass func on_color_select(index : int) -> void: var color = Color(Global.palettes[current_palette][index].data) + if Input.is_action_just_released("left_mouse"): Global.left_color_picker.color = color Global.update_left_custom_brush() @@ -92,6 +63,7 @@ func _load_palettes() -> void: if not dir.dir_exists("user://palettes"): dir.make_dir("user://palettes"); + dir.make_dir("user://palettes/custom"); dir.copy("res://Assets/Graphics/Palette/default_palette.json","user://palettes/default_palette.json"); dir.copy("res://Assets/Graphics/Palette/bubblegum16.json","user://palettes/bubblegum16.json"); @@ -121,6 +93,7 @@ func _load_palettes() -> void: pass func load_palette(path : String) -> String: + # Open file for reading var file := File.new() file.open(path, File.READ) @@ -128,7 +101,7 @@ func load_palette(path : String) -> String: var result_json = JSON.parse(text) var result = {} - var palette_name = null + var palette_name = null # Default error condition if result_json.error != OK: # If parse has errors print("Error: ", result_json.error) @@ -136,7 +109,7 @@ func load_palette(path : String) -> String: print("Error String: ", result_json.error_string) else: # If parse OK var data = result_json.result - if data.has("name"): + if data.has("name"): #If data is 'valid' palette file palette_name = data.name Global.palettes[data.name] = data.colors @@ -145,13 +118,16 @@ func load_palette(path : String) -> String: return palette_name func _save_palette(palette : Array, name : String, path : String): + # Open file for writing var file := File.new() file.open(path, File.WRITE) + # Create palette data var data := {} data.name = name data.colors = palette + # Write palette data to file file.store_string(JSON.print(data)) file.close() From 5ba89fddbdd4991b166dbe07c2c6ea0fb471d96b Mon Sep 17 00:00:00 2001 From: CheetoHead Date: Mon, 16 Dec 2019 10:35:17 -0500 Subject: [PATCH 02/11] Updated default palettes to include 'editable' flag --- Assets/Graphics/Palette/bubblegum16.json | 7 ++++--- Assets/Graphics/Palette/default_palette.json | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Assets/Graphics/Palette/bubblegum16.json b/Assets/Graphics/Palette/bubblegum16.json index 1239d8a..021041a 100644 --- a/Assets/Graphics/Palette/bubblegum16.json +++ b/Assets/Graphics/Palette/bubblegum16.json @@ -1,6 +1,6 @@ { - "name": "BubbleGum16", - "colors" : [ + "name": "BubbleGum16", + "colors" : [ { "data" : "#FF000000", "name" : "no name" }, { "data" : "#FF7f0622", "name" : "no name" }, { "data" : "#FFd62411", "name" : "no name" }, @@ -18,5 +18,6 @@ { "data" : "#FF007899", "name" : "no name" }, { "data" : "#FF002859", "name" : "no name" }, ], - "comments": "by PineTreePizza - https://twitter.com/PineTreePizza" + "comments": "by PineTreePizza - https://twitter.com/PineTreePizza", + "editable": false } \ No newline at end of file diff --git a/Assets/Graphics/Palette/default_palette.json b/Assets/Graphics/Palette/default_palette.json index b76ab8e..73d3c7e 100644 --- a/Assets/Graphics/Palette/default_palette.json +++ b/Assets/Graphics/Palette/default_palette.json @@ -1,6 +1,6 @@ { - "name": "Default", - "colors" : [ + "name": "Default", + "colors" : [ { "data" : "#FF000000", "name" : "no name" }, { "data" : "#FF222034", "name" : "no name" }, { "data" : "#FF45283c", "name" : "no name" }, @@ -33,5 +33,7 @@ { "data" : "#FFd77bba", "name" : "no name" }, { "data" : "#FF8f974a", "name" : "no name" }, { "data" : "#FF8a6f30", "name" : "no name" } - ] + ], + "comments": "Aseprite default palette", + "editable": false } \ No newline at end of file From 388352467b48ec14cc7ac1678bc0c061a62c6447 Mon Sep 17 00:00:00 2001 From: CheetoHead Date: Mon, 16 Dec 2019 10:48:23 -0500 Subject: [PATCH 03/11] Updated remove button to be disabled for default palettes --- Main.tscn | 49 +++++++++++++------------------------ Scripts/PaletteContainer.gd | 26 +++++++++++--------- project.godot | 3 +-- 3 files changed, 32 insertions(+), 46 deletions(-) diff --git a/Main.tscn b/Main.tscn index 1f3b7d8..11f3fcd 100644 --- a/Main.tscn +++ b/Main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=63 format=2] +[gd_scene load_steps=61 format=2] [ext_resource path="res://Themes & Styles/Main Theme.tres" type="Theme" id=1] [ext_resource path="res://Scripts/Main.gd" type="Script" id=2] @@ -47,13 +47,7 @@ [sub_resource type="StyleBoxFlat" id=1] bg_color = Color( 0.223529, 0.223529, 0.243137, 1 ) -[sub_resource type="InputEventKey" id=18] -scancode = 88 - -[sub_resource type="ShortCut" id=19] -shortcut = SubResource( 18 ) - -[sub_resource type="Image" id=20] +[sub_resource type="Image" id=18] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "format": "RGBA8", @@ -63,10 +57,10 @@ data = { } [sub_resource type="ImageTexture" id=3] -image = SubResource( 20 ) +image = SubResource( 18 ) size = Vector2( 32, 32 ) -[sub_resource type="Image" id=21] +[sub_resource type="Image" id=19] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "format": "RGBA8", @@ -76,7 +70,7 @@ data = { } [sub_resource type="ImageTexture" id=5] -image = SubResource( 21 ) +image = SubResource( 19 ) size = Vector2( 32, 32 ) [sub_resource type="InputEventKey" id=6] @@ -139,14 +133,12 @@ anchor_bottom = 1.0 custom_constants/separation = 0 [node name="MenuContainer" type="Panel" parent="MenuAndUI"] -editor/display_folded = true margin_right = 1152.0 margin_bottom = 28.0 rect_min_size = Vector2( 0, 28 ) custom_styles/panel = SubResource( 1 ) [node name="MenuItems" type="HBoxContainer" parent="MenuAndUI/MenuContainer"] -editor/display_folded = true margin_left = 2.0 margin_top = 4.0 margin_right = 1010.0 @@ -353,6 +345,7 @@ custom_constants/separation = 8 alignment = 1 [node name="ColorPickersCenter" type="CenterContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] +editor/display_folded = true margin_top = 35.0 margin_right = 208.0 margin_bottom = 67.0 @@ -373,6 +366,7 @@ size_flags_vertical = 0 flat = true [node name="ColorButtonsCenter" type="CenterContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/ColorPickersCenter/ColorPickersHorizontal"] +editor/display_folded = true margin_left = 68.0 margin_right = 85.0 margin_bottom = 32.0 @@ -387,8 +381,6 @@ margin_right = 17.0 margin_bottom = 7.0 hint_tooltip = "COLORSWITCH_HT" mouse_default_cursor_shape = 2 -shortcut_in_tooltip = false -shortcut = SubResource( 19 ) texture_normal = ExtResource( 9 ) [node name="ColorDefaults" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/ColorPickersCenter/ColorPickersHorizontal/ColorButtonsCenter/ColorButtonsVertical"] @@ -780,7 +772,6 @@ mouse_default_cursor_shape = 2 text = "Vertical" [node name="CanvasAndTimeline" type="VBoxContainer" parent="MenuAndUI/UI"] -editor/display_folded = true margin_left = 224.0 margin_right = 928.0 margin_bottom = 620.0 @@ -788,7 +779,6 @@ size_flags_horizontal = 3 custom_constants/separation = 0 [node name="HViewportContainer" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline"] -editor/display_folded = true margin_right = 704.0 margin_bottom = 478.0 size_flags_horizontal = 3 @@ -806,7 +796,6 @@ margin_right = 704.0 margin_bottom = 16.0 rect_min_size = Vector2( 0, 16 ) focus_mode = 0 -mouse_default_cursor_shape = 15 custom_styles/hover = ExtResource( 12 ) custom_styles/pressed = ExtResource( 12 ) custom_styles/focus = ExtResource( 12 ) @@ -827,7 +816,6 @@ margin_right = 16.0 margin_bottom = 462.0 rect_min_size = Vector2( 16, 0 ) focus_mode = 0 -mouse_default_cursor_shape = 14 size_flags_horizontal = 0 size_flags_vertical = 3 custom_styles/hover = ExtResource( 12 ) @@ -839,7 +827,6 @@ enabled_focus_mode = 0 script = ExtResource( 14 ) [node name="ViewportContainer" type="ViewportContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer/ViewportAndRulers/ViewportandVerticalRuler"] -editor/display_folded = true margin_left = 16.0 margin_right = 704.0 margin_bottom = 462.0 @@ -875,7 +862,6 @@ margin_right = 319.0 margin_bottom = 464.0 [node name="ViewportContainer2" type="ViewportContainer" parent="MenuAndUI/UI/CanvasAndTimeline/HViewportContainer"] -editor/display_folded = true visible = false margin_left = 345.0 margin_right = 686.0 @@ -896,7 +882,6 @@ zoom = Vector2( 0.15, 0.15 ) script = ExtResource( 16 ) [node name="AnimationTimeline" type="Panel" parent="MenuAndUI/UI/CanvasAndTimeline"] -editor/display_folded = true margin_top = 478.0 margin_right = 704.0 margin_bottom = 620.0 @@ -1171,7 +1156,6 @@ margin_right = 224.0 margin_bottom = 199.0 [node name="LayerVBoxContainer" type="VBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc"] -editor/display_folded = true margin_top = 203.0 margin_right = 224.0 margin_bottom = 384.0 @@ -1295,6 +1279,7 @@ margin_left = 36.0 margin_right = 68.0 margin_bottom = 32.0 texture_normal = ExtResource( 30 ) +texture_disabled = ExtResource( 31 ) [node name="PaletteOptionButton" type="OptionButton" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/PaletteVBoxContainer/PaletteButtons"] margin_left = 72.0 @@ -1452,8 +1437,8 @@ resizable = true mode = 0 access = 2 filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) -current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" -current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" +current_dir = "D:/GitHub/Pixelorama" +current_path = "D:/GitHub/Pixelorama/" [node name="SaveSprite" type="FileDialog" parent="."] anchor_left = 0.5 @@ -1468,8 +1453,8 @@ window_title = "Save Sprite as .pxo" resizable = true access = 2 filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) -current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" -current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" +current_dir = "D:/GitHub/Pixelorama" +current_path = "D:/GitHub/Pixelorama/" [node name="ImportSprites" type="FileDialog" parent="."] margin_right = 515.0 @@ -1479,8 +1464,8 @@ resizable = true mode = 1 access = 2 filters = PoolStringArray( "*.bmp ; BMP Image", "*.hdr ; Radiance HDR Image", "*.jpg,*.jpeg ; JPEG Image", "*.png ; PNG Image", "*.svg ; SVG Image", "*.tga ; TGA Image", "*.webp ; WebP Image" ) -current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" -current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" +current_dir = "D:/GitHub/Pixelorama" +current_path = "D:/GitHub/Pixelorama/" [node name="ExportSprites" type="FileDialog" parent="."] anchor_left = 0.5 @@ -1495,8 +1480,8 @@ window_title = "Export Sprite" resizable = true access = 2 filters = PoolStringArray( "*.png ; PNG Image" ) -current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" -current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" +current_dir = "D:/GitHub/Pixelorama" +current_path = "D:/GitHub/Pixelorama/" [node name="ScaleImage" type="ConfirmationDialog" parent="."] editor/display_folded = true @@ -1598,7 +1583,7 @@ margin_left = 61.0 margin_right = 142.0 margin_bottom = 21.0 text = "System Language" -items = [ "System Language", null, false, 0, null, "Deutsch [de]", null, false, 1, null, "Ελληνικά [el]", null, false, 2, null, "English [en]", null, false, 3, null, "Français [fr]", null, false, 4, null, "Polski [pl]", null, false, 5, null ] +items = [ "System Language", null, false, 0, null, "German [de]", null, false, 1, null, "Greek [el]", null, false, 2, null, "English [en]", null, false, 3, null, "French [fr]", null, false, 4, null ] selected = 0 [node name="GridOptionsLabel" type="Label" parent="PreferencesDialog/VBoxContainer"] diff --git a/Scripts/PaletteContainer.gd b/Scripts/PaletteContainer.gd index db94432..3019cdd 100644 --- a/Scripts/PaletteContainer.gd +++ b/Scripts/PaletteContainer.gd @@ -21,15 +21,22 @@ func on_palette_select(palette_name : String) -> void: _clear_swatches() if Global.palettes.has(palette_name): #Palette exists in memory current_palette = palette_name - _display_palette(Global.palettes[palette_name]) + var palette : Dictionary = Global.palettes[palette_name] + + Global.remove_palette_button.disabled = true # Cannot remove by default + if(palette.has("editable")): + if(palette.editable): + Global.remove_palette_button.disabled = false # Can remove if custom palette + + _display_palette(palette) else: #Use default on fail current_palette = "Default" _display_palette(Global.palettes["Default"]) -func _display_palette(palette : Array) -> void: +func _display_palette(palette : Dictionary) -> void: var index := 0 - for color_data in palette: + for color_data in palette.colors: var color = Color(color_data.data) var new_button = palette_button.instance() @@ -41,7 +48,7 @@ func _display_palette(palette : Array) -> void: index += 1 func on_color_select(index : int) -> void: - var color = Color(Global.palettes[current_palette][index].data) + var color = Color(Global.palettes[current_palette].colors[index].data) if Input.is_action_just_released("left_mouse"): Global.left_color_picker.color = color @@ -104,22 +111,17 @@ func load_palette(path : String) -> String: var data = result_json.result if data.has("name"): #If data is 'valid' palette file palette_name = data.name - Global.palettes[data.name] = data.colors + Global.palettes[data.name] = data file.close() return palette_name -func _save_palette(palette : Array, name : String, path : String) -> void: +func _save_palette(palette : Dictionary, name : String, path : String) -> void: # Open file for writing var file := File.new() file.open(path, File.WRITE) - # Create palette data - var data := {} - data.name = name - data.colors = palette - # Write palette data to file - file.store_string(JSON.print(data)) + file.store_string(JSON.print(palette)) file.close() diff --git a/project.godot b/project.godot index 5cb7618..1bdf76d 100644 --- a/project.godot +++ b/project.godot @@ -33,7 +33,6 @@ _global_script_class_icons={ [application] config/name="Pixelorama" -config/description="A free & open-source 2D sprite editor" run/main_scene="res://Main.tscn" boot_splash/image="res://splash.png" boot_splash/bg_color=Color( 0.145098, 0.145098, 0.164706, 1 ) @@ -188,7 +187,7 @@ shift={ [locale] -translations=PoolStringArray( "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation", "res://Translations/#Translations.pl.translation" ) +translations=PoolStringArray( "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation" ) locale_filter=[ 0, [ ] ] [rendering] From 1ee38494e374fb3d79c54726c461d560f17336c9 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Tue, 17 Dec 2019 00:04:25 +0200 Subject: [PATCH 04/11] Changed default cursor shape for the rulers, because they were in the wrong direction --- Main.tscn | 5 ++--- Scripts/HorizontalRuler.gd | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Main.tscn b/Main.tscn index 1f3b7d8..ada0248 100644 --- a/Main.tscn +++ b/Main.tscn @@ -788,7 +788,6 @@ size_flags_horizontal = 3 custom_constants/separation = 0 [node name="HViewportContainer" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline"] -editor/display_folded = true margin_right = 704.0 margin_bottom = 478.0 size_flags_horizontal = 3 @@ -806,7 +805,7 @@ margin_right = 704.0 margin_bottom = 16.0 rect_min_size = Vector2( 0, 16 ) focus_mode = 0 -mouse_default_cursor_shape = 15 +mouse_default_cursor_shape = 14 custom_styles/hover = ExtResource( 12 ) custom_styles/pressed = ExtResource( 12 ) custom_styles/focus = ExtResource( 12 ) @@ -827,7 +826,7 @@ margin_right = 16.0 margin_bottom = 462.0 rect_min_size = Vector2( 16, 0 ) focus_mode = 0 -mouse_default_cursor_shape = 14 +mouse_default_cursor_shape = 15 size_flags_horizontal = 0 size_flags_vertical = 3 custom_styles/hover = ExtResource( 12 ) diff --git a/Scripts/HorizontalRuler.gd b/Scripts/HorizontalRuler.gd index 7136bf0..b0c443e 100644 --- a/Scripts/HorizontalRuler.gd +++ b/Scripts/HorizontalRuler.gd @@ -14,9 +14,9 @@ func _process(delta : float) -> void: update() var mouse_pos := get_local_mouse_position() if mouse_pos.x < RULER_WIDTH: #For double guides - mouse_default_cursor_shape = Control.CURSOR_BDIAGSIZE + mouse_default_cursor_shape = Control.CURSOR_FDIAGSIZE else: - mouse_default_cursor_shape = Control.CURSOR_HSPLIT + mouse_default_cursor_shape = Control.CURSOR_VSPLIT #Code taken and modified from Godot's source code func _draw() -> void: From fd7acd62d44ef8dad0112eeb49b4bcf965c79a95 Mon Sep 17 00:00:00 2001 From: Erevoid Date: Tue, 17 Dec 2019 02:39:59 +0200 Subject: [PATCH 05/11] Fixed theme inconsistencies I changed the Main Theme so that it's more consistent, without gradients and with less colors for easier use. --- Main.tscn | 304 +++++++++++++++----------------- Prefabs/FrameButton.tscn | 32 +--- Prefabs/LayerContainer.tscn | 28 +-- Themes & Styles/Main Theme.tres | 164 ++++++++++++++++- 4 files changed, 324 insertions(+), 204 deletions(-) diff --git a/Main.tscn b/Main.tscn index ada0248..e20a2e6 100644 --- a/Main.tscn +++ b/Main.tscn @@ -47,11 +47,11 @@ [sub_resource type="StyleBoxFlat" id=1] bg_color = Color( 0.223529, 0.223529, 0.243137, 1 ) -[sub_resource type="InputEventKey" id=18] +[sub_resource type="InputEventKey" id=2] scancode = 88 -[sub_resource type="ShortCut" id=19] -shortcut = SubResource( 18 ) +[sub_resource type="ShortCut" id=3] +shortcut = SubResource( 2 ) [sub_resource type="Image" id=20] data = { @@ -62,7 +62,7 @@ data = { "width": 32 } -[sub_resource type="ImageTexture" id=3] +[sub_resource type="ImageTexture" id=5] image = SubResource( 20 ) size = Vector2( 32, 32 ) @@ -75,42 +75,34 @@ data = { "width": 32 } -[sub_resource type="ImageTexture" id=5] +[sub_resource type="ImageTexture" id=7] image = SubResource( 21 ) size = Vector2( 32, 32 ) -[sub_resource type="InputEventKey" id=6] -control = true -command = true -scancode = 16777229 - -[sub_resource type="ShortCut" id=7] -shortcut = SubResource( 6 ) - [sub_resource type="InputEventKey" id=8] control = true command = true -scancode = 16777231 +scancode = 16777229 [sub_resource type="ShortCut" id=9] shortcut = SubResource( 8 ) [sub_resource type="InputEventKey" id=10] -scancode = 16777247 +control = true +command = true +scancode = 16777231 [sub_resource type="ShortCut" id=11] shortcut = SubResource( 10 ) [sub_resource type="InputEventKey" id=12] -scancode = 16777248 +scancode = 16777247 [sub_resource type="ShortCut" id=13] shortcut = SubResource( 12 ) [sub_resource type="InputEventKey" id=14] -control = true -command = true -scancode = 16777233 +scancode = 16777248 [sub_resource type="ShortCut" id=15] shortcut = SubResource( 14 ) @@ -118,11 +110,19 @@ shortcut = SubResource( 14 ) [sub_resource type="InputEventKey" id=16] control = true command = true -scancode = 16777230 +scancode = 16777233 [sub_resource type="ShortCut" id=17] shortcut = SubResource( 16 ) +[sub_resource type="InputEventKey" id=18] +control = true +command = true +scancode = 16777230 + +[sub_resource type="ShortCut" id=19] +shortcut = SubResource( 18 ) + [node name="Control" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 @@ -153,7 +153,7 @@ margin_right = 1010.0 [node name="FileMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_right = 31.0 -margin_bottom = 21.0 +margin_bottom = 23.0 mouse_default_cursor_shape = 2 text = "File" switch_on_hover = true @@ -161,7 +161,7 @@ switch_on_hover = true [node name="EditMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 35.0 margin_right = 68.0 -margin_bottom = 21.0 +margin_bottom = 23.0 mouse_default_cursor_shape = 2 text = "Edit" switch_on_hover = true @@ -169,7 +169,7 @@ switch_on_hover = true [node name="ViewMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 72.0 margin_right = 110.0 -margin_bottom = 21.0 +margin_bottom = 23.0 mouse_default_cursor_shape = 2 text = "View" switch_on_hover = true @@ -177,7 +177,7 @@ switch_on_hover = true [node name="HelpMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 114.0 margin_right = 151.0 -margin_bottom = 21.0 +margin_bottom = 23.0 mouse_default_cursor_shape = 2 text = "Help" switch_on_hover = true @@ -216,7 +216,6 @@ size_flags_vertical = 3 custom_constants/separation = 0 [node name="ToolPanel" type="Panel" parent="MenuAndUI/UI"] -editor/display_folded = true margin_right = 224.0 margin_bottom = 620.0 rect_min_size = Vector2( 224, 0 ) @@ -233,7 +232,6 @@ size_flags_vertical = 3 custom_constants/separation = 32 [node name="MenusAndTools" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools"] -editor/display_folded = true margin_right = 208.0 margin_bottom = 127.0 custom_constants/separation = 17 @@ -281,7 +279,6 @@ button_mask = 3 texture_normal = ExtResource( 4 ) [node name="DrawTools" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/MenusAndTools"] -editor/display_folded = true margin_top = 72.0 margin_right = 208.0 margin_bottom = 127.0 @@ -303,7 +300,6 @@ margin_right = 208.0 margin_bottom = 19.0 [node name="PaintToolsContainer" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/MenusAndTools/DrawTools"] -editor/display_folded = true margin_top = 23.0 margin_right = 208.0 margin_bottom = 55.0 @@ -344,7 +340,6 @@ button_mask = 3 texture_normal = ExtResource( 8 ) [node name="ColorAndToolOptions" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools"] -editor/display_folded = true margin_top = 159.0 margin_right = 208.0 margin_bottom = 612.0 @@ -353,9 +348,9 @@ custom_constants/separation = 8 alignment = 1 [node name="ColorPickersCenter" type="CenterContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] -margin_top = 35.0 +margin_top = 59.0 margin_right = 208.0 -margin_bottom = 67.0 +margin_bottom = 91.0 [node name="ColorPickersHorizontal" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/ColorPickersCenter"] margin_left = 27.0 @@ -388,7 +383,7 @@ margin_bottom = 7.0 hint_tooltip = "COLORSWITCH_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 19 ) +shortcut = SubResource( 3 ) texture_normal = ExtResource( 9 ) [node name="ColorDefaults" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/ColorPickersCenter/ColorPickersHorizontal/ColorButtonsCenter/ColorButtonsVertical"] @@ -412,13 +407,12 @@ flat = true color = Color( 1, 1, 1, 1 ) [node name="HSeparator" type="HSeparator" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] -margin_top = 75.0 +margin_top = 99.0 margin_right = 208.0 -margin_bottom = 79.0 +margin_bottom = 103.0 [node name="LeftToolOptions" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] -editor/display_folded = true -margin_top = 87.0 +margin_top = 111.0 margin_right = 208.0 margin_bottom = 242.0 @@ -431,7 +425,7 @@ align = 1 [node name="LeftIndicatorCheckbox" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 43.0 +margin_bottom = 35.0 hint_tooltip = "LEFT_INDIC_HT" mouse_default_cursor_shape = 2 pressed = true @@ -439,9 +433,9 @@ text = "Left pixel indicator" [node name="LeftBrushType" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true -margin_top = 47.0 +margin_top = 39.0 margin_right = 208.0 -margin_bottom = 79.0 +margin_bottom = 71.0 [node name="LeftBrushTypeButton" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushType"] margin_right = 36.0 @@ -455,7 +449,7 @@ texture_normal = ExtResource( 11 ) [node name="BrushTexture" type="TextureRect" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushType/LeftBrushTypeButton"] margin_right = 32.0 margin_bottom = 32.0 -texture = SubResource( 3 ) +texture = SubResource( 5 ) expand = true stretch_mode = 6 @@ -468,20 +462,20 @@ text = "Brush: Pixel" [node name="LeftBrushSize" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true -margin_top = 83.0 +margin_top = 75.0 margin_right = 208.0 -margin_bottom = 108.0 +margin_bottom = 92.0 [node name="BrushSizeLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushSize"] -margin_top = 5.0 +margin_top = 1.0 margin_right = 58.0 -margin_bottom = 20.0 +margin_bottom = 16.0 text = "Brush size:" [node name="LeftBrushSizeEdit" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushSize"] margin_left = 62.0 -margin_right = 124.0 -margin_bottom = 25.0 +margin_right = 126.0 +margin_bottom = 17.0 mouse_default_cursor_shape = 2 min_value = 1.0 value = 1.0 @@ -566,9 +560,9 @@ step = 0.01 value = 0.1 [node name="LeftMirroring" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] -margin_top = 112.0 +margin_top = 96.0 margin_right = 208.0 -margin_bottom = 155.0 +margin_bottom = 131.0 [node name="Label" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring"] margin_right = 208.0 @@ -578,19 +572,19 @@ text = "Mirroring" [node name="LeftMirrorButtons" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 43.0 +margin_bottom = 35.0 [node name="LeftHorizontalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring/LeftMirrorButtons"] -margin_right = 85.0 -margin_bottom = 24.0 +margin_right = 77.0 +margin_bottom = 16.0 hint_tooltip = "HORIZMIRROR_HT" mouse_default_cursor_shape = 2 text = "Horizontal" [node name="LeftVerticalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring/LeftMirrorButtons"] -margin_left = 89.0 -margin_right = 158.0 -margin_bottom = 24.0 +margin_left = 81.0 +margin_right = 142.0 +margin_bottom = 16.0 hint_tooltip = "VERTMIRROR_HT" mouse_default_cursor_shape = 2 text = "Vertical" @@ -604,7 +598,7 @@ margin_bottom = 254.0 editor/display_folded = true margin_top = 262.0 margin_right = 208.0 -margin_bottom = 417.0 +margin_bottom = 393.0 [node name="RightLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] margin_right = 208.0 @@ -615,16 +609,16 @@ align = 1 [node name="RightIndicatorCheckbox" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 43.0 +margin_bottom = 35.0 hint_tooltip = "RIGHT_INDIC_HT" mouse_default_cursor_shape = 2 text = "Right pixel indicator" [node name="RightBrushType" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 47.0 +margin_top = 39.0 margin_right = 208.0 -margin_bottom = 79.0 +margin_bottom = 71.0 [node name="RightBrushTypeButton" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushType"] margin_right = 36.0 @@ -638,7 +632,7 @@ texture_normal = ExtResource( 11 ) [node name="BrushTexture" type="TextureRect" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushType/RightBrushTypeButton"] margin_right = 32.0 margin_bottom = 32.0 -texture = SubResource( 5 ) +texture = SubResource( 7 ) expand = true stretch_mode = 6 @@ -651,20 +645,20 @@ text = "Brush: Pixel" [node name="RightBrushSize" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 83.0 +margin_top = 75.0 margin_right = 208.0 -margin_bottom = 108.0 +margin_bottom = 92.0 [node name="BrushSizeLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushSize"] -margin_top = 5.0 +margin_top = 1.0 margin_right = 58.0 -margin_bottom = 20.0 +margin_bottom = 16.0 text = "Brush size:" [node name="RightBrushSizeEdit" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushSize"] margin_left = 62.0 -margin_right = 124.0 -margin_bottom = 25.0 +margin_right = 126.0 +margin_bottom = 17.0 mouse_default_cursor_shape = 2 min_value = 1.0 value = 1.0 @@ -750,9 +744,9 @@ value = 0.1 [node name="RightMirroring" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 112.0 +margin_top = 96.0 margin_right = 208.0 -margin_bottom = 155.0 +margin_bottom = 131.0 [node name="Label" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring"] margin_right = 208.0 @@ -762,25 +756,24 @@ text = "Mirroring" [node name="RightMirrorButtons" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 43.0 +margin_bottom = 35.0 [node name="RightHorizontalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring/RightMirrorButtons"] -margin_right = 85.0 -margin_bottom = 24.0 +margin_right = 77.0 +margin_bottom = 16.0 hint_tooltip = "HORIZMIRROR_HT" mouse_default_cursor_shape = 2 text = "Horizontal" [node name="RightVerticalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring/RightMirrorButtons"] -margin_left = 89.0 -margin_right = 158.0 -margin_bottom = 24.0 +margin_left = 81.0 +margin_right = 142.0 +margin_bottom = 16.0 hint_tooltip = "VERTMIRROR_HT" mouse_default_cursor_shape = 2 text = "Vertical" [node name="CanvasAndTimeline" type="VBoxContainer" parent="MenuAndUI/UI"] -editor/display_folded = true margin_left = 224.0 margin_right = 928.0 margin_bottom = 620.0 @@ -895,7 +888,6 @@ zoom = Vector2( 0.15, 0.15 ) script = ExtResource( 16 ) [node name="AnimationTimeline" type="Panel" parent="MenuAndUI/UI/CanvasAndTimeline"] -editor/display_folded = true margin_top = 478.0 margin_right = 704.0 margin_bottom = 620.0 @@ -916,102 +908,102 @@ margin_left = 15.0 margin_top = 4.0 [node name="TimelineContainer" type="VBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] -margin_right = 562.0 -margin_bottom = 139.0 +margin_right = 570.0 +margin_bottom = 138.0 size_flags_horizontal = 3 [node name="AnimationButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_right = 562.0 -margin_bottom = 25.0 +margin_right = 570.0 +margin_bottom = 24.0 rect_min_size = Vector2( 0, 24 ) [node name="CurrentFrame" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] -margin_top = 5.0 -margin_right = 234.0 -margin_bottom = 20.0 +margin_top = 4.0 +margin_right = 237.0 +margin_bottom = 19.0 size_flags_horizontal = 3 text = "Current frame: 1/1" [node name="PlaybackButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] editor/display_folded = true -margin_left = 238.0 -margin_right = 378.0 -margin_bottom = 25.0 +margin_left = 241.0 +margin_right = 381.0 +margin_bottom = 24.0 size_flags_horizontal = 2 [node name="FirstFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_right = 20.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "FIRSTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 7 ) +shortcut = SubResource( 9 ) texture_normal = ExtResource( 19 ) [node name="PreviousFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 24.0 margin_right = 44.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "PREVIOUSFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 9 ) +shortcut = SubResource( 11 ) texture_normal = ExtResource( 20 ) [node name="PlayBackwards" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 48.0 margin_right = 68.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "PLAYBACKWARDS_HT" mouse_default_cursor_shape = 2 toggle_mode = true shortcut_in_tooltip = false -shortcut = SubResource( 11 ) +shortcut = SubResource( 13 ) texture_normal = ExtResource( 21 ) texture_pressed = ExtResource( 22 ) [node name="PlayForward" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 72.0 margin_right = 92.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "PLAYFORWARD_HT" mouse_default_cursor_shape = 2 size_flags_horizontal = 0 toggle_mode = true shortcut_in_tooltip = false -shortcut = SubResource( 13 ) +shortcut = SubResource( 15 ) texture_normal = ExtResource( 23 ) texture_pressed = ExtResource( 22 ) [node name="NextFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 96.0 margin_right = 116.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "NEXTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 15 ) +shortcut = SubResource( 17 ) texture_normal = ExtResource( 24 ) [node name="LastFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 120.0 margin_right = 140.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "LASTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 17 ) +shortcut = SubResource( 19 ) texture_normal = ExtResource( 25 ) [node name="LoopButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] -margin_left = 476.0 -margin_right = 562.0 -margin_bottom = 25.0 +margin_left = 482.0 +margin_right = 570.0 +margin_bottom = 24.0 size_flags_horizontal = 0 [node name="FPSValue" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/LoopButtons"] -margin_right = 62.0 -margin_bottom = 25.0 +margin_right = 64.0 +margin_bottom = 24.0 hint_tooltip = "FPS_HT" mouse_default_cursor_shape = 2 min_value = 0.1 @@ -1020,35 +1012,35 @@ value = 6.0 suffix = "FPS" [node name="LoopAnim" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/LoopButtons"] -margin_left = 66.0 -margin_right = 86.0 -margin_bottom = 25.0 +margin_left = 68.0 +margin_right = 88.0 +margin_bottom = 24.0 hint_tooltip = "No loop" mouse_default_cursor_shape = 2 texture_normal = ExtResource( 26 ) [node name="HSeparator" type="HSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 29.0 -margin_right = 562.0 -margin_bottom = 33.0 +margin_top = 28.0 +margin_right = 570.0 +margin_bottom = 32.0 [node name="TimelineSeconds" type="Control" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 37.0 -margin_right = 562.0 -margin_bottom = 53.0 +margin_top = 36.0 +margin_right = 570.0 +margin_bottom = 52.0 rect_min_size = Vector2( 0, 16 ) script = ExtResource( 27 ) [node name="HSeparator2" type="HSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 57.0 -margin_right = 562.0 -margin_bottom = 61.0 +margin_top = 56.0 +margin_right = 570.0 +margin_bottom = 60.0 [node name="FrameAndButtonContainer" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] editor/display_folded = true -margin_top = 65.0 -margin_right = 562.0 -margin_bottom = 101.0 +margin_top = 64.0 +margin_right = 570.0 +margin_bottom = 100.0 [node name="AddFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer"] margin_right = 36.0 @@ -1060,7 +1052,7 @@ texture_normal = ExtResource( 28 ) [node name="ScrollContainer" type="ScrollContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer"] margin_left = 40.0 -margin_right = 562.0 +margin_right = 570.0 margin_bottom = 36.0 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -1069,56 +1061,56 @@ scroll_vertical_enabled = false [node name="FrameContainer" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer/ScrollContainer"] [node name="VSeparator" type="VSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] -margin_left = 566.0 -margin_right = 570.0 -margin_bottom = 139.0 +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 138.0 [node name="OnionSkinningButtons" type="VBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] editor/display_folded = true -margin_left = 574.0 +margin_left = 582.0 margin_right = 681.0 -margin_bottom = 139.0 +margin_bottom = 138.0 [node name="OnionSkinning" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_right = 107.0 +margin_right = 99.0 margin_bottom = 15.0 text = "Onion Skinning:" [node name="OnionSkinningPast" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] margin_top = 19.0 -margin_right = 107.0 +margin_right = 99.0 margin_bottom = 34.0 text = "Past Frames" [node name="PastOnionSkinning" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] margin_top = 38.0 -margin_right = 107.0 -margin_bottom = 63.0 +margin_right = 99.0 +margin_bottom = 55.0 mouse_default_cursor_shape = 2 [node name="OnionSkinningFuture" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 67.0 -margin_right = 107.0 -margin_bottom = 82.0 +margin_top = 59.0 +margin_right = 99.0 +margin_bottom = 74.0 text = "Future Frames" [node name="FutureOnionSkinning" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 86.0 -margin_right = 107.0 -margin_bottom = 111.0 +margin_top = 78.0 +margin_right = 99.0 +margin_bottom = 95.0 mouse_default_cursor_shape = 2 [node name="BlueRedMode" type="CheckBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 115.0 -margin_right = 107.0 -margin_bottom = 139.0 +margin_top = 99.0 +margin_right = 99.0 +margin_bottom = 115.0 mouse_default_cursor_shape = 2 text = "Blue-Red Mode" [node name="VSeparator2" type="VSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] margin_left = 685.0 margin_right = 689.0 -margin_bottom = 139.0 +margin_bottom = 138.0 [node name="LayerPanel" type="Panel" parent="MenuAndUI/UI"] margin_left = 928.0 @@ -1170,7 +1162,6 @@ margin_right = 224.0 margin_bottom = 199.0 [node name="LayerVBoxContainer" type="VBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc"] -editor/display_folded = true margin_top = 203.0 margin_right = 224.0 margin_bottom = 384.0 @@ -1242,7 +1233,6 @@ texture_normal = ExtResource( 37 ) texture_disabled = ExtResource( 38 ) [node name="ScrollLayers" type="ScrollContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"] -editor/display_folded = true margin_top = 38.0 margin_right = 224.0 margin_bottom = 181.0 @@ -1333,10 +1323,10 @@ drag_to_rearrange_enabled = true [node name="File" type="ScrollContainer" parent="BrushesPopup/TabContainer"] anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = 4.0 -margin_top = 33.0 -margin_right = -4.0 -margin_bottom = -4.0 +margin_left = 5.0 +margin_top = 39.0 +margin_right = -5.0 +margin_bottom = -5.0 rect_min_size = Vector2( 0, 36 ) size_flags_horizontal = 3 scroll_horizontal_enabled = false @@ -1352,7 +1342,7 @@ visible = false anchor_right = 1.0 anchor_bottom = 1.0 margin_left = 4.0 -margin_top = 33.0 +margin_top = 32.0 margin_right = -4.0 margin_bottom = -4.0 rect_min_size = Vector2( 0, 36 ) @@ -1385,7 +1375,7 @@ margin_bottom = 70.0 margin_left = 8.0 margin_top = 8.0 margin_right = 192.0 -margin_bottom = 33.0 +margin_bottom = 34.0 [node name="ImageSize" type="Label" parent="CreateNewImage/VBoxContainer"] margin_right = 184.0 @@ -1451,8 +1441,8 @@ resizable = true mode = 0 access = 2 filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) -current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" -current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" +current_dir = "C:/Users/User/Desktop/Pixelorama themes" +current_path = "C:/Users/User/Desktop/Pixelorama themes/" [node name="SaveSprite" type="FileDialog" parent="."] anchor_left = 0.5 @@ -1467,8 +1457,8 @@ window_title = "Save Sprite as .pxo" resizable = true access = 2 filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) -current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" -current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" +current_dir = "C:/Users/User/Desktop/Pixelorama themes" +current_path = "C:/Users/User/Desktop/Pixelorama themes/" [node name="ImportSprites" type="FileDialog" parent="."] margin_right = 515.0 @@ -1478,8 +1468,8 @@ resizable = true mode = 1 access = 2 filters = PoolStringArray( "*.bmp ; BMP Image", "*.hdr ; Radiance HDR Image", "*.jpg,*.jpeg ; JPEG Image", "*.png ; PNG Image", "*.svg ; SVG Image", "*.tga ; TGA Image", "*.webp ; WebP Image" ) -current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" -current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" +current_dir = "C:/Users/User/Desktop/Pixelorama themes" +current_path = "C:/Users/User/Desktop/Pixelorama themes/" [node name="ExportSprites" type="FileDialog" parent="."] anchor_left = 0.5 @@ -1494,8 +1484,8 @@ window_title = "Export Sprite" resizable = true access = 2 filters = PoolStringArray( "*.png ; PNG Image" ) -current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" -current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" +current_dir = "C:/Users/User/Desktop/Pixelorama themes" +current_path = "C:/Users/User/Desktop/Pixelorama themes/" [node name="ScaleImage" type="ConfirmationDialog" parent="."] editor/display_folded = true @@ -1506,7 +1496,7 @@ margin_bottom = 114.0 margin_left = 8.0 margin_top = 8.0 margin_right = 192.0 -margin_bottom = 77.0 +margin_bottom = 78.0 [node name="ImageSize" type="Label" parent="ScaleImage/VBoxContainer"] margin_right = 184.0 @@ -1579,7 +1569,7 @@ anchor_right = 0.5 margin_left = -92.0 margin_top = 8.0 margin_right = 92.0 -margin_bottom = 33.0 +margin_bottom = 34.0 [node name="OptionsContainer" type="GridContainer" parent="PreferencesDialog/VBoxContainer"] margin_right = 184.0 @@ -1667,7 +1657,7 @@ script = ExtResource( 43 ) margin_left = 8.0 margin_top = 8.0 margin_right = 276.0 -margin_bottom = 149.0 +margin_bottom = 150.0 [node name="Pixelorama" type="Label" parent="AboutDialog/AboutUI"] margin_right = 268.0 @@ -1693,7 +1683,7 @@ margin_bottom = 95.0 editor/display_folded = true margin_left = 37.0 margin_right = 231.0 -margin_bottom = 21.0 +margin_bottom = 23.0 [node name="Website" type="Button" parent="AboutDialog/AboutUI/Links/LinkButtons"] margin_right = 55.0 diff --git a/Prefabs/FrameButton.tscn b/Prefabs/FrameButton.tscn index d5d282d..c8cda0a 100644 --- a/Prefabs/FrameButton.tscn +++ b/Prefabs/FrameButton.tscn @@ -1,27 +1,7 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=3 format=2] -[ext_resource path="res://Scripts/FrameButton.gd" type="Script" id=1] - -[sub_resource type="StyleBoxFlat" id=1] -bg_color = Color( 0.337255, 0.32549, 0.388235, 1 ) -corner_radius_top_left = 2 -corner_radius_top_right = 2 -corner_radius_bottom_right = 2 -corner_radius_bottom_left = 2 - -[sub_resource type="StyleBoxFlat" id=2] -bg_color = Color( 0.211765, 0.2, 0.247059, 1 ) -corner_radius_top_left = 2 -corner_radius_top_right = 2 -corner_radius_bottom_right = 2 -corner_radius_bottom_left = 2 - -[sub_resource type="StyleBoxFlat" id=3] -bg_color = Color( 0.270588, 0.258824, 0.305882, 1 ) -corner_radius_top_left = 2 -corner_radius_top_right = 2 -corner_radius_bottom_right = 2 -corner_radius_bottom_left = 2 +[ext_resource path="res://Themes & Styles/Main Theme.tres" type="Theme" id=1] +[ext_resource path="res://Scripts/FrameButton.gd" type="Script" id=2] [node name="Frame" type="VBoxContainer"] margin_right = 32.0 @@ -34,12 +14,10 @@ rect_min_size = Vector2( 36, 36 ) mouse_default_cursor_shape = 2 size_flags_horizontal = 0 size_flags_vertical = 0 -custom_styles/hover = SubResource( 1 ) -custom_styles/pressed = SubResource( 2 ) -custom_styles/normal = SubResource( 3 ) +theme = ExtResource( 1 ) toggle_mode = true button_mask = 3 -script = ExtResource( 1 ) +script = ExtResource( 2 ) [node name="FrameTexture" type="TextureRect" parent="FrameButton"] margin_left = 2.0 diff --git a/Prefabs/LayerContainer.tscn b/Prefabs/LayerContainer.tscn index f422219..ff213f8 100644 --- a/Prefabs/LayerContainer.tscn +++ b/Prefabs/LayerContainer.tscn @@ -1,26 +1,16 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=4 format=2] -[ext_resource path="res://Scripts/LayerContainer.gd" type="Script" id=1] -[ext_resource path="res://Assets/Graphics/Layers/layer_visible.png" type="Texture" id=2] - -[sub_resource type="StyleBoxFlat" id=1] -bg_color = Color( 0.337255, 0.32549, 0.388235, 1 ) - -[sub_resource type="StyleBoxFlat" id=2] -bg_color = Color( 0.211765, 0.2, 0.247059, 1 ) - -[sub_resource type="StyleBoxFlat" id=3] -bg_color = Color( 0.270588, 0.258824, 0.305882, 1 ) +[ext_resource path="res://Themes & Styles/Main Theme.tres" type="Theme" id=1] +[ext_resource path="res://Scripts/LayerContainer.gd" type="Script" id=2] +[ext_resource path="res://Assets/Graphics/Layers/layer_visible.png" type="Texture" id=3] [node name="LayerContainer" type="Button"] margin_right = 160.0 margin_bottom = 42.0 rect_min_size = Vector2( 160, 42 ) -custom_styles/hover = SubResource( 1 ) -custom_styles/pressed = SubResource( 2 ) -custom_styles/normal = SubResource( 3 ) +theme = ExtResource( 1 ) toggle_mode = true -script = ExtResource( 1 ) +script = ExtResource( 2 ) __meta__ = { "_edit_horizontal_guides_": [ ] } @@ -34,7 +24,7 @@ hint_tooltip = "LAYERVISIBILITY_HT" mouse_default_cursor_shape = 2 size_flags_horizontal = 0 size_flags_vertical = 4 -texture_normal = ExtResource( 2 ) +texture_normal = ExtResource( 3 ) [node name="HBoxContainer" type="HBoxContainer" parent="."] anchor_left = 0.5 @@ -57,8 +47,8 @@ stretch_mode = 6 [node name="Label" type="Label" parent="HBoxContainer"] margin_left = 36.0 -margin_top = 9.0 -margin_right = 82.0 +margin_top = 8.0 +margin_right = 75.0 margin_bottom = 23.0 text = "Layer 0" align = 1 diff --git a/Themes & Styles/Main Theme.tres b/Themes & Styles/Main Theme.tres index 1705ef9..3f3ee5d 100644 --- a/Themes & Styles/Main Theme.tres +++ b/Themes & Styles/Main Theme.tres @@ -1,8 +1,170 @@ -[gd_resource type="Theme" load_steps=2 format=2] +[gd_resource type="Theme" load_steps=14 format=2] [ext_resource path="res://Assets/Fonts/Roboto-Regular.tres" type="DynamicFont" id=1] +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0.517647, 0.517647, 0.517647, 1 ) +border_width_left = 6 +border_width_top = 4 +border_width_right = 6 +border_width_bottom = 4 +border_color = Color( 0.517647, 0.517647, 0.517647, 1 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 +anti_aliasing = false + +[sub_resource type="StyleBoxFlat" id=2] +bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) +border_width_left = 6 +border_width_top = 4 +border_width_right = 6 +border_width_bottom = 4 +border_color = Color( 0.321569, 0.321569, 0.321569, 1 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 +anti_aliasing = false + +[sub_resource type="StyleBoxFlat" id=3] +bg_color = Color( 0.2, 0.2, 0.2, 1 ) +border_width_left = 6 +border_width_top = 4 +border_width_right = 6 +border_width_bottom = 4 +border_color = Color( 0.2, 0.2, 0.2, 1 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 +anti_aliasing = false + +[sub_resource type="StyleBoxFlat" id=4] +bg_color = Color( 0.6, 0.6, 0.6, 0 ) + +[sub_resource type="StyleBoxFlat" id=5] +bg_color = Color( 0.6, 0.6, 0.6, 0 ) + +[sub_resource type="StyleBoxFlat" id=6] +bg_color = Color( 0.6, 0.6, 0.6, 0 ) + +[sub_resource type="StyleBoxFlat" id=7] +bg_color = Color( 0.6, 0.6, 0.6, 0 ) + +[sub_resource type="StyleBoxFlat" id=12] +bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) +border_width_left = 8 +border_width_top = 1 +border_width_right = 4 +border_width_bottom = 1 +border_color = Color( 0.321569, 0.321569, 0.321569, 1 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 +anti_aliasing = false + +[sub_resource type="StyleBoxFlat" id=8] +bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) +border_width_left = 5 +border_width_top = 10 +border_width_right = 5 +border_width_bottom = 5 +border_color = Color( 0.321569, 0.321569, 0.321569, 1 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 +anti_aliasing = false + +[sub_resource type="StyleBoxFlat" id=9] +bg_color = Color( 0.2, 0.2, 0.2, 1 ) +border_width_left = 10 +border_width_top = 6 +border_width_right = 10 +border_width_bottom = 8 +border_color = Color( 0.2, 0.2, 0.2, 1 ) + +[sub_resource type="StyleBoxFlat" id=10] +bg_color = Color( 0.145098, 0.145098, 0.164706, 1 ) +border_width_left = 10 +border_width_top = 6 +border_width_right = 10 +border_width_bottom = 8 +border_color = Color( 0.145098, 0.145098, 0.164706, 1 ) + +[sub_resource type="StyleBoxFlat" id=11] +bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) +border_width_left = 10 +border_width_top = 6 +border_width_right = 10 +border_width_bottom = 8 +border_color = Color( 0.321569, 0.321569, 0.321569, 1 ) + [resource] default_font = ExtResource( 1 ) +Button/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +Button/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +Button/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +Button/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +Button/constants/hseparation = 2 +Button/fonts/font = null +Button/styles/disabled = null +Button/styles/focus = null +Button/styles/hover = SubResource( 1 ) +Button/styles/normal = SubResource( 2 ) +Button/styles/pressed = SubResource( 3 ) +CheckBox/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +CheckBox/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +CheckBox/colors/font_color_hover = Color( 0.941176, 0.941176, 0.941176, 1 ) +CheckBox/colors/font_color_hover_pressed = Color( 1, 1, 1, 1 ) +CheckBox/colors/font_color_pressed = Color( 1, 1, 1, 1 ) +CheckBox/constants/check_vadjust = 0 +CheckBox/constants/hseparation = 4 +CheckBox/fonts/font = null +CheckBox/icons/checked = null +CheckBox/icons/radio_checked = null +CheckBox/icons/radio_unchecked = null +CheckBox/icons/unchecked = null +CheckBox/styles/disabled = null +CheckBox/styles/focus = null +CheckBox/styles/hover = SubResource( 4 ) +CheckBox/styles/hover_pressed = SubResource( 5 ) +CheckBox/styles/normal = SubResource( 6 ) +CheckBox/styles/pressed = SubResource( 7 ) GridContainer/constants/hseparation = 0 GridContainer/constants/vseparation = 0 +LineEdit/colors/clear_button_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +LineEdit/colors/clear_button_color_pressed = Color( 1, 1, 1, 1 ) +LineEdit/colors/cursor_color = Color( 0.941176, 0.941176, 0.941176, 1 ) +LineEdit/colors/font_color = Color( 0.878431, 0.878431, 0.878431, 1 ) +LineEdit/colors/font_color_selected = Color( 0, 0, 0, 1 ) +LineEdit/colors/selection_color = Color( 0.490196, 0.490196, 0.490196, 1 ) +LineEdit/constants/minimum_spaces = 12 +LineEdit/fonts/font = null +LineEdit/icons/clear = null +LineEdit/styles/focus = null +LineEdit/styles/normal = SubResource( 12 ) +LineEdit/styles/read_only = null +TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) +TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) +TabContainer/colors/font_color_fg = Color( 0.941176, 0.941176, 0.941176, 1 ) +TabContainer/constants/hseparation = 4 +TabContainer/constants/label_valign_bg = 2 +TabContainer/constants/label_valign_fg = 0 +TabContainer/constants/side_margin = 8 +TabContainer/constants/top_margin = 24 +TabContainer/fonts/font = null +TabContainer/icons/decrement = null +TabContainer/icons/decrement_highlight = null +TabContainer/icons/increment = null +TabContainer/icons/increment_highlight = null +TabContainer/icons/menu = null +TabContainer/icons/menu_highlight = null +TabContainer/styles/panel = SubResource( 8 ) +TabContainer/styles/tab_bg = SubResource( 9 ) +TabContainer/styles/tab_disabled = SubResource( 10 ) +TabContainer/styles/tab_fg = SubResource( 11 ) +VBoxContainer/constants/separation = 4 From b094c6595f677b4600b17060510f5bcf970e7960 Mon Sep 17 00:00:00 2001 From: CheetoHead Date: Mon, 16 Dec 2019 20:23:18 -0500 Subject: [PATCH 06/11] Added edit palette menu and custom file saving --- .../Graphics/Palette/swatch_drag_preview.png | Bin 0 -> 111 bytes .../Palette/swatch_drag_preview.png.import | 34 +++ Main.tscn | 267 ++++++++++++++---- Prefabs/PaletteButton.tscn | 14 +- Scripts/EditPalettePopup.gd | 131 +++++++++ Scripts/Global.gd | 10 + Scripts/Main.gd | 13 + Scripts/PaletteButton.gd | 39 +++ Scripts/PaletteContainer.gd | 131 +++++++-- .../StyleBoxes/palette_stylebox_focus.tres | 11 + 10 files changed, 563 insertions(+), 87 deletions(-) create mode 100644 Assets/Graphics/Palette/swatch_drag_preview.png create mode 100644 Assets/Graphics/Palette/swatch_drag_preview.png.import create mode 100644 Scripts/EditPalettePopup.gd create mode 100644 Scripts/PaletteButton.gd create mode 100644 Themes & Styles/StyleBoxes/palette_stylebox_focus.tres diff --git a/Assets/Graphics/Palette/swatch_drag_preview.png b/Assets/Graphics/Palette/swatch_drag_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..401e4802955876327d5e4f41fcbd6128509106bf GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI11|(N{`J4k%W}YsNAs(G?uWb}%P~bRnVNU6aEo&~WQ-(KY<4>W void: + current_palette = palette + if Global.palettes.has(palette): + working_palette = Global.palettes[palette].duplicate() + + _display_palette() + + self.popup_centered() + pass + +func _display_palette() -> void: + _clear_swatches() + var index := 0 + + for color_data in working_palette.colors: + var color = Color(color_data.data) + var new_button = palette_button.instance() + + new_button.color = color + new_button.get_child(0).modulate = color + new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name + new_button.draggable = true + new_button.index = index + new_button.connect("on_drop_data", self, "on_move_swatch") + new_button.connect("pressed", self, "on_swatch_select", [index]) + + palette_grid.add_child(new_button) + index += 1 + +func _clear_swatches() -> void: + for child in palette_grid.get_children(): + if child is BaseButton: + child.disconnect("on_drop_data", self, "on_move_swatch") + child.queue_free() + +func on_swatch_select(index : int) -> void: + current_swatch = index + color_name_edit.text = working_palette.colors[index].name + color_picker.color = working_palette.colors[index].data + pass + +func on_move_swatch(from : int, to : int) -> void: + var color_to_move = working_palette.colors[from] + working_palette.colors.remove(from) + working_palette.colors.insert(to, color_to_move) + + palette_grid.move_child(palette_grid.get_child(from), to) + + # Re-index swatches with new order + var index := 0 + for child in palette_grid.get_children(): + child.index = index + index += 1 + pass + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass + +func _on_AddSwatchButton_pressed() -> void: + var color = Color.white + var color_data = {} + color_data.data = color.to_html(true) + color_data.name = "no name" + working_palette.colors.push_back(color_data) + var new_button = palette_button.instance() + + new_button.color = color + new_button.get_child(0).modulate = color + new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name + new_button.draggable = true + var index : int = palette_grid.get_child_count() + new_button.index = index + new_button.connect("on_drop_data", self, "on_move_swatch") + new_button.connect("pressed", self, "on_swatch_select", [index]) + + palette_grid.add_child(new_button) + pass # Replace with function body. + +func _on_RemoveSwatchButton_pressed() -> void: + working_palette.colors.remove(current_swatch) + palette_grid.remove_child(palette_grid.get_child(current_swatch)) + pass # Replace with function body. + +func _on_EditPaletteSaveButton_pressed() -> void: + Global.palettes[current_palette] = working_palette + Global.palette_container.on_palette_select(current_palette) + Global.palette_container.save_palette(current_palette, working_palette.name + ".json") + self.hide() + pass # Replace with function body. + +func _on_EditPaletteCancelButton_pressed() -> void: + self.hide() + pass # Replace with function body. + +func _on_EditPaletteColorNameLineEdit_text_changed(new_text) -> void: + if current_swatch > 0 && current_swatch < working_palette.colors.size(): + working_palette.colors[current_swatch].name = new_text + _refresh_hint_tooltip(current_swatch) + pass + +func _on_EditPaletteColorPicker_color_changed(color) -> void: + if current_swatch > 0 && current_swatch < working_palette.colors.size(): + palette_grid.get_child(current_swatch).get_child(0).modulate = color + working_palette.colors[current_swatch].data = color.to_html(true) + _refresh_hint_tooltip(current_swatch) + pass + +func _refresh_hint_tooltip(index : int): + palette_grid.get_child(current_swatch).hint_tooltip = working_palette.colors[current_swatch].data.to_upper() + " " + working_palette.colors[current_swatch].name + pass diff --git a/Scripts/Global.gd b/Scripts/Global.gd index 6d2fa37..2e626c3 100644 --- a/Scripts/Global.gd +++ b/Scripts/Global.gd @@ -187,6 +187,11 @@ var remove_palette_button : TextureButton var palette_option_button : OptionButton var edit_palette_button : BaseButton var palette_container : GridContainer +var edit_palette_popup : WindowDialog +var new_palette_dialog : ConfirmationDialog +var new_palette_name_line_edit : LineEdit + +var error_dialog : AcceptDialog func _ready() -> void: undo_redo = UndoRedo.new() @@ -275,6 +280,11 @@ func _ready() -> void: palette_option_button = find_node_by_name(root, "PaletteOptionButton") edit_palette_button = find_node_by_name(root, "EditPalette") palette_container = find_node_by_name(root, "PaletteContainer") + edit_palette_popup = find_node_by_name(root, "EditPalettePopup") + new_palette_dialog = find_node_by_name(root, "NewPaletteDialog") + new_palette_name_line_edit = find_node_by_name(new_palette_dialog, "NewPaletteNameLineEdit") + + error_dialog = find_node_by_name(root, "ErrorDialog") #Thanks to https://godotengine.org/qa/17524/how-to-find-an-instanced-scene-by-its-name func find_node_by_name(root, node_name) -> Node: diff --git a/Scripts/Main.gd b/Scripts/Main.gd index d6676e4..b87ef4d 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -1047,3 +1047,16 @@ func _exit_tree() -> void: func _on_PaletteOptionButton_item_selected(ID) -> void: var palette_name = Global.palette_option_button.get_item_metadata(ID) Global.palette_container.on_palette_select(palette_name) + +func _on_EditPalette_pressed() -> void: + Global.palette_container.on_edit_palette() + pass + +func _on_RemovePalette_pressed() -> void: + Global.palette_container.remove_current_palette() + pass + +func _on_NewPaletteDialog_confirmed() -> void: + Global.palette_container.on_new_palette_confirmed() + pass + diff --git a/Scripts/PaletteButton.gd b/Scripts/PaletteButton.gd new file mode 100644 index 0000000..492bda6 --- /dev/null +++ b/Scripts/PaletteButton.gd @@ -0,0 +1,39 @@ +extends Button + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + +signal on_drop_data + +export var index := 0; +export var color : Color = Color.white +export var draggable := false + +var drag_preview_texture = preload("res://Assets/Graphics/Palette/swatch_drag_preview.png") + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + +func get_drag_data(position): + var data = null; + if(draggable): + #print(String(get_instance_id()) + ": Drag Start"); + data = {source_index = index}; + var drag_icon = TextureRect.new(); + drag_icon.texture = drag_preview_texture; + drag_icon.modulate = color + set_drag_preview(drag_icon); + return data; + +func can_drop_data(position, data): + return true; + +func drop_data(position, data): + emit_signal("on_drop_data", data.source_index, index); + pass; + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass diff --git a/Scripts/PaletteContainer.gd b/Scripts/PaletteContainer.gd index 3019cdd..7759f8c 100644 --- a/Scripts/PaletteContainer.gd +++ b/Scripts/PaletteContainer.gd @@ -3,6 +3,7 @@ extends GridContainer var palette_button = preload("res://Prefabs/PaletteButton.tscn"); var current_palette = "Default" +var from_palette : = {} # Called when the node enters the scene tree for the first time. func _ready() -> void: @@ -24,8 +25,8 @@ func on_palette_select(palette_name : String) -> void: var palette : Dictionary = Global.palettes[palette_name] Global.remove_palette_button.disabled = true # Cannot remove by default - if(palette.has("editable")): - if(palette.editable): + if palette.has("editable"): + if palette.editable: Global.remove_palette_button.disabled = false # Can remove if custom palette _display_palette(palette) @@ -33,6 +34,62 @@ func on_palette_select(palette_name : String) -> void: current_palette = "Default" _display_palette(Global.palettes["Default"]) +func on_edit_palette() -> void: + var palette : Dictionary = Global.palettes[current_palette] + + var create_new_palette := true # Create new palette by default + if palette.has("editable"): + if palette.editable: + create_new_palette = false # Edit if already a custom palette + + if create_new_palette: + from_palette = Global.palettes[current_palette] + Global.new_palette_name_line_edit.text = "Custom_" + current_palette + Global.new_palette_dialog.popup_centered() + else: + from_palette = {} + Global.edit_palette_popup.open(current_palette) + +func on_new_palette_confirmed() -> void: + var new_palette_name : String = Global.new_palette_name_line_edit.text + var result : String = create_new_palette(new_palette_name, from_palette) + if not result.empty(): + Global.error_dialog.set_text(result); + Global.error_dialog.popup_centered() + +func create_new_palette(name : String, from_palette : Dictionary = {}) -> String: # Returns empty string, else error string + var new_palette : Dictionary = {} + + # Check if new name is valid + if name.empty(): + return "Error: Palette must have a valid name." + if Global.palettes.has(name): + return "Error: Palette '" + name + "' already exists!" + + new_palette.name = name + + # Check if source palette has data + if from_palette.has("name"): + new_palette = from_palette.duplicate() + new_palette.name = name + new_palette.editable = true + else: + new_palette.colors = [] + new_palette.comments = "" + new_palette.editable = true + + # Add palette to Global and options + Global.palettes[name] = new_palette + Global.palette_option_button.add_item(name) + var index := Global.palette_option_button.get_item_count() - 1 + Global.palette_option_button.set_item_metadata(index, name) + Global.palette_option_button.select(index) + + save_palette(name, name + ".json") + + on_palette_select(name) + return "" + func _display_palette(palette : Dictionary) -> void: var index := 0 @@ -58,29 +115,17 @@ func on_color_select(index : int) -> void: Global.update_right_custom_brush() func _load_palettes() -> void: - var files := [] - var dir := Directory.new() if not dir.dir_exists("user://palettes"): dir.make_dir("user://palettes"); - dir.make_dir("user://palettes/custom"); + dir.make_dir("user://custom/palettes") dir.copy("res://Assets/Graphics/Palette/default_palette.json","user://palettes/default_palette.json"); dir.copy("res://Assets/Graphics/Palette/bubblegum16.json","user://palettes/bubblegum16.json"); - dir.open("user://palettes") - dir.list_dir_begin() + var palette_files : Array = get_palette_files("user://palettes") - while true: - var file_name = dir.get_next() - if file_name == "": - break - elif not file_name.begins_with(".") && file_name.to_lower().ends_with("json"): - files.append(file_name) - - dir.list_dir_end() - - for file_name in files: + for file_name in palette_files: var result : String = load_palette("user://palettes/" + file_name) if result: Global.palette_option_button.add_item(result) @@ -88,9 +133,34 @@ func _load_palettes() -> void: Global.palette_option_button.set_item_metadata(index, result) if result == "Default": Global.palette_option_button.select(index) + + dir.open("user://palettes/custom") + var custom_palette_files : Array = get_palette_files("user://palettes/custom") + + for file_name in custom_palette_files: + var result : String = load_palette("user://palettes/custom/" + file_name) + if result: + Global.palette_option_button.add_item(result) + var index := Global.palette_option_button.get_item_count() - 1 + Global.palette_option_button.set_item_metadata(index, result) - for item in Global.palette_option_button.items: - print(item) +func get_palette_files(path : String) -> Array: + var dir := Directory.new() + var results = [] + + dir.open(path) + dir.list_dir_begin() + + while true: + var file_name = dir.get_next() + if file_name == "": + break + elif not file_name.begins_with(".") && file_name.to_lower().ends_with("json"): + results.append(file_name) + + dir.list_dir_end() + + return results func load_palette(path : String) -> String: # Open file for reading @@ -117,11 +187,28 @@ func load_palette(path : String) -> String: return palette_name -func _save_palette(palette : Dictionary, name : String, path : String) -> void: +func remove_current_palette() -> void: + if Global.palettes[current_palette].has("editable"): + if Global.palettes[current_palette].editable: + _delete_palette_file(current_palette + ".json") + Global.palettes.erase(current_palette) + var selected_index := Global.palette_option_button.selected + Global.palette_option_button.remove_item(selected_index) + if(selected_index - 1 >= 0): + Global.palette_option_button.select(selected_index - 1) + on_palette_select(Global.palette_option_button.get_item_metadata(selected_index - 1)) + pass + +func _delete_palette_file(file_name : String) -> void: + var dir = Directory.new() + dir.remove("user://palettes/custom/" + file_name) + +func save_palette(palette_name : String, filename : String) -> void: + var palette_data = Global.palettes[palette_name] # Open file for writing var file := File.new() - file.open(path, File.WRITE) + file.open("user://palettes/custom/" + filename, File.WRITE) # Write palette data to file - file.store_string(JSON.print(palette)) + file.store_string(JSON.print(palette_data)) file.close() diff --git a/Themes & Styles/StyleBoxes/palette_stylebox_focus.tres b/Themes & Styles/StyleBoxes/palette_stylebox_focus.tres new file mode 100644 index 0000000..b734ad9 --- /dev/null +++ b/Themes & Styles/StyleBoxes/palette_stylebox_focus.tres @@ -0,0 +1,11 @@ +[gd_resource type="StyleBoxTexture" load_steps=2 format=2] + +[ext_resource path="res://Assets/Graphics/Palette/palette_button.png" type="Texture" id=1] + +[resource] +texture = ExtResource( 1 ) +region_rect = Rect2( 0, 0, 8, 8 ) +margin_left = 2.0 +margin_right = 2.0 +margin_top = 2.0 +margin_bottom = 2.0 From 6bd4f57903bf9a485e17f108854c91937152cd3b Mon Sep 17 00:00:00 2001 From: CheetoHead Date: Mon, 16 Dec 2019 20:37:42 -0500 Subject: [PATCH 07/11] Merged with 58f47d0 --- Main.tscn | 284 ++++++++++++++++---------------- Themes & Styles/Main Theme.tres | 20 +-- 2 files changed, 150 insertions(+), 154 deletions(-) diff --git a/Main.tscn b/Main.tscn index 49c4d3a..40987e4 100644 --- a/Main.tscn +++ b/Main.tscn @@ -48,13 +48,7 @@ [sub_resource type="StyleBoxFlat" id=1] bg_color = Color( 0.223529, 0.223529, 0.243137, 1 ) -[sub_resource type="InputEventKey" id=2] -scancode = 88 - -[sub_resource type="ShortCut" id=3] -shortcut = SubResource( 2 ) - -[sub_resource type="Image" id=20] +[sub_resource type="Image" id=18] data = { "data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ), "format": "RGBA8", @@ -63,8 +57,8 @@ data = { "width": 32 } -[sub_resource type="ImageTexture" id=5] -image = SubResource( 20 ) +[sub_resource type="ImageTexture" id=3] +image = SubResource( 18 ) size = Vector2( 32, 32 ) [sub_resource type="Image" id=19] @@ -76,34 +70,42 @@ data = { "width": 32 } -[sub_resource type="ImageTexture" id=7] -image = SubResource( 21 ) +[sub_resource type="ImageTexture" id=5] +image = SubResource( 19 ) size = Vector2( 32, 32 ) +[sub_resource type="InputEventKey" id=6] +control = true +command = true +scancode = 16777229 + +[sub_resource type="ShortCut" id=7] +shortcut = SubResource( 6 ) + [sub_resource type="InputEventKey" id=8] control = true command = true -scancode = 16777229 +scancode = 16777231 [sub_resource type="ShortCut" id=9] shortcut = SubResource( 8 ) [sub_resource type="InputEventKey" id=10] -control = true -command = true -scancode = 16777231 +scancode = 16777247 [sub_resource type="ShortCut" id=11] shortcut = SubResource( 10 ) [sub_resource type="InputEventKey" id=12] -scancode = 16777247 +scancode = 16777248 [sub_resource type="ShortCut" id=13] shortcut = SubResource( 12 ) [sub_resource type="InputEventKey" id=14] -scancode = 16777248 +control = true +command = true +scancode = 16777233 [sub_resource type="ShortCut" id=15] shortcut = SubResource( 14 ) @@ -111,19 +113,11 @@ shortcut = SubResource( 14 ) [sub_resource type="InputEventKey" id=16] control = true command = true -scancode = 16777233 +scancode = 16777230 [sub_resource type="ShortCut" id=17] shortcut = SubResource( 16 ) -[sub_resource type="InputEventKey" id=18] -control = true -command = true -scancode = 16777230 - -[sub_resource type="ShortCut" id=19] -shortcut = SubResource( 18 ) - [node name="Control" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 @@ -153,7 +147,7 @@ margin_right = 1010.0 [node name="FileMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_right = 31.0 -margin_bottom = 23.0 +margin_bottom = 21.0 mouse_default_cursor_shape = 2 text = "File" switch_on_hover = true @@ -161,7 +155,7 @@ switch_on_hover = true [node name="EditMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 35.0 margin_right = 68.0 -margin_bottom = 23.0 +margin_bottom = 21.0 mouse_default_cursor_shape = 2 text = "Edit" switch_on_hover = true @@ -169,7 +163,7 @@ switch_on_hover = true [node name="ViewMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 72.0 margin_right = 110.0 -margin_bottom = 23.0 +margin_bottom = 21.0 mouse_default_cursor_shape = 2 text = "View" switch_on_hover = true @@ -177,7 +171,7 @@ switch_on_hover = true [node name="HelpMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 114.0 margin_right = 151.0 -margin_bottom = 23.0 +margin_bottom = 21.0 mouse_default_cursor_shape = 2 text = "Help" switch_on_hover = true @@ -232,6 +226,7 @@ size_flags_vertical = 3 custom_constants/separation = 32 [node name="MenusAndTools" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools"] +editor/display_folded = true margin_right = 208.0 margin_bottom = 127.0 custom_constants/separation = 17 @@ -279,6 +274,7 @@ button_mask = 3 texture_normal = ExtResource( 4 ) [node name="DrawTools" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/MenusAndTools"] +editor/display_folded = true margin_top = 72.0 margin_right = 208.0 margin_bottom = 127.0 @@ -300,6 +296,7 @@ margin_right = 208.0 margin_bottom = 19.0 [node name="PaintToolsContainer" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/MenusAndTools/DrawTools"] +editor/display_folded = true margin_top = 23.0 margin_right = 208.0 margin_bottom = 55.0 @@ -348,9 +345,9 @@ custom_constants/separation = 8 alignment = 1 [node name="ColorPickersCenter" type="CenterContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] -margin_top = 59.0 +margin_top = 35.0 margin_right = 208.0 -margin_bottom = 91.0 +margin_bottom = 67.0 [node name="ColorPickersHorizontal" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/ColorPickersCenter"] margin_left = 27.0 @@ -382,8 +379,6 @@ margin_right = 17.0 margin_bottom = 7.0 hint_tooltip = "COLORSWITCH_HT" mouse_default_cursor_shape = 2 -shortcut_in_tooltip = false -shortcut = SubResource( 3 ) texture_normal = ExtResource( 9 ) [node name="ColorDefaults" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/ColorPickersCenter/ColorPickersHorizontal/ColorButtonsCenter/ColorButtonsVertical"] @@ -407,12 +402,13 @@ flat = true color = Color( 1, 1, 1, 1 ) [node name="HSeparator" type="HSeparator" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] -margin_top = 99.0 +margin_top = 75.0 margin_right = 208.0 -margin_bottom = 103.0 +margin_bottom = 79.0 [node name="LeftToolOptions" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] -margin_top = 111.0 +editor/display_folded = true +margin_top = 87.0 margin_right = 208.0 margin_bottom = 242.0 @@ -425,7 +421,7 @@ align = 1 [node name="LeftIndicatorCheckbox" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 35.0 +margin_bottom = 43.0 hint_tooltip = "LEFT_INDIC_HT" mouse_default_cursor_shape = 2 pressed = true @@ -433,9 +429,9 @@ text = "Left pixel indicator" [node name="LeftBrushType" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true -margin_top = 39.0 +margin_top = 47.0 margin_right = 208.0 -margin_bottom = 71.0 +margin_bottom = 79.0 [node name="LeftBrushTypeButton" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushType"] margin_right = 36.0 @@ -449,7 +445,7 @@ texture_normal = ExtResource( 11 ) [node name="BrushTexture" type="TextureRect" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushType/LeftBrushTypeButton"] margin_right = 32.0 margin_bottom = 32.0 -texture = SubResource( 5 ) +texture = SubResource( 3 ) expand = true stretch_mode = 6 @@ -462,20 +458,20 @@ text = "Brush: Pixel" [node name="LeftBrushSize" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true -margin_top = 75.0 +margin_top = 83.0 margin_right = 208.0 -margin_bottom = 92.0 +margin_bottom = 108.0 [node name="BrushSizeLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushSize"] -margin_top = 1.0 +margin_top = 5.0 margin_right = 58.0 -margin_bottom = 16.0 +margin_bottom = 20.0 text = "Brush size:" [node name="LeftBrushSizeEdit" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushSize"] margin_left = 62.0 -margin_right = 126.0 -margin_bottom = 17.0 +margin_right = 124.0 +margin_bottom = 25.0 mouse_default_cursor_shape = 2 min_value = 1.0 value = 1.0 @@ -560,9 +556,9 @@ step = 0.01 value = 0.1 [node name="LeftMirroring" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] -margin_top = 96.0 +margin_top = 112.0 margin_right = 208.0 -margin_bottom = 131.0 +margin_bottom = 155.0 [node name="Label" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring"] margin_right = 208.0 @@ -572,19 +568,19 @@ text = "Mirroring" [node name="LeftMirrorButtons" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 35.0 +margin_bottom = 43.0 [node name="LeftHorizontalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring/LeftMirrorButtons"] -margin_right = 77.0 -margin_bottom = 16.0 +margin_right = 85.0 +margin_bottom = 24.0 hint_tooltip = "HORIZMIRROR_HT" mouse_default_cursor_shape = 2 text = "Horizontal" [node name="LeftVerticalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring/LeftMirrorButtons"] -margin_left = 81.0 -margin_right = 142.0 -margin_bottom = 16.0 +margin_left = 89.0 +margin_right = 158.0 +margin_bottom = 24.0 hint_tooltip = "VERTMIRROR_HT" mouse_default_cursor_shape = 2 text = "Vertical" @@ -598,7 +594,7 @@ margin_bottom = 254.0 editor/display_folded = true margin_top = 262.0 margin_right = 208.0 -margin_bottom = 393.0 +margin_bottom = 417.0 [node name="RightLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] margin_right = 208.0 @@ -609,16 +605,16 @@ align = 1 [node name="RightIndicatorCheckbox" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 35.0 +margin_bottom = 43.0 hint_tooltip = "RIGHT_INDIC_HT" mouse_default_cursor_shape = 2 text = "Right pixel indicator" [node name="RightBrushType" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 39.0 +margin_top = 47.0 margin_right = 208.0 -margin_bottom = 71.0 +margin_bottom = 79.0 [node name="RightBrushTypeButton" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushType"] margin_right = 36.0 @@ -632,7 +628,7 @@ texture_normal = ExtResource( 11 ) [node name="BrushTexture" type="TextureRect" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushType/RightBrushTypeButton"] margin_right = 32.0 margin_bottom = 32.0 -texture = SubResource( 7 ) +texture = SubResource( 5 ) expand = true stretch_mode = 6 @@ -645,20 +641,20 @@ text = "Brush: Pixel" [node name="RightBrushSize" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 75.0 +margin_top = 83.0 margin_right = 208.0 -margin_bottom = 92.0 +margin_bottom = 108.0 [node name="BrushSizeLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushSize"] -margin_top = 1.0 +margin_top = 5.0 margin_right = 58.0 -margin_bottom = 16.0 +margin_bottom = 20.0 text = "Brush size:" [node name="RightBrushSizeEdit" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushSize"] margin_left = 62.0 -margin_right = 126.0 -margin_bottom = 17.0 +margin_right = 124.0 +margin_bottom = 25.0 mouse_default_cursor_shape = 2 min_value = 1.0 value = 1.0 @@ -744,9 +740,9 @@ value = 0.1 [node name="RightMirroring" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 96.0 +margin_top = 112.0 margin_right = 208.0 -margin_bottom = 131.0 +margin_bottom = 155.0 [node name="Label" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring"] margin_right = 208.0 @@ -756,24 +752,25 @@ text = "Mirroring" [node name="RightMirrorButtons" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 35.0 +margin_bottom = 43.0 [node name="RightHorizontalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring/RightMirrorButtons"] -margin_right = 77.0 -margin_bottom = 16.0 +margin_right = 85.0 +margin_bottom = 24.0 hint_tooltip = "HORIZMIRROR_HT" mouse_default_cursor_shape = 2 text = "Horizontal" [node name="RightVerticalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring/RightMirrorButtons"] -margin_left = 81.0 -margin_right = 142.0 -margin_bottom = 16.0 +margin_left = 89.0 +margin_right = 158.0 +margin_bottom = 24.0 hint_tooltip = "VERTMIRROR_HT" mouse_default_cursor_shape = 2 text = "Vertical" [node name="CanvasAndTimeline" type="VBoxContainer" parent="MenuAndUI/UI"] +editor/display_folded = true margin_left = 224.0 margin_right = 928.0 margin_bottom = 620.0 @@ -798,7 +795,6 @@ margin_right = 704.0 margin_bottom = 16.0 rect_min_size = Vector2( 0, 16 ) focus_mode = 0 -mouse_default_cursor_shape = 14 custom_styles/hover = ExtResource( 12 ) custom_styles/pressed = ExtResource( 12 ) custom_styles/focus = ExtResource( 12 ) @@ -819,7 +815,6 @@ margin_right = 16.0 margin_bottom = 462.0 rect_min_size = Vector2( 16, 0 ) focus_mode = 0 -mouse_default_cursor_shape = 15 size_flags_horizontal = 0 size_flags_vertical = 3 custom_styles/hover = ExtResource( 12 ) @@ -906,102 +901,102 @@ margin_left = 15.0 margin_top = 4.0 [node name="TimelineContainer" type="VBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] -margin_right = 570.0 -margin_bottom = 138.0 +margin_right = 562.0 +margin_bottom = 139.0 size_flags_horizontal = 3 [node name="AnimationButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_right = 570.0 -margin_bottom = 24.0 +margin_right = 562.0 +margin_bottom = 25.0 rect_min_size = Vector2( 0, 24 ) [node name="CurrentFrame" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] -margin_top = 4.0 -margin_right = 237.0 -margin_bottom = 19.0 +margin_top = 5.0 +margin_right = 234.0 +margin_bottom = 20.0 size_flags_horizontal = 3 text = "Current frame: 1/1" [node name="PlaybackButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] editor/display_folded = true -margin_left = 241.0 -margin_right = 381.0 -margin_bottom = 24.0 +margin_left = 238.0 +margin_right = 378.0 +margin_bottom = 25.0 size_flags_horizontal = 2 [node name="FirstFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_right = 20.0 -margin_bottom = 24.0 +margin_bottom = 25.0 hint_tooltip = "FIRSTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 9 ) +shortcut = SubResource( 7 ) texture_normal = ExtResource( 19 ) [node name="PreviousFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 24.0 margin_right = 44.0 -margin_bottom = 24.0 +margin_bottom = 25.0 hint_tooltip = "PREVIOUSFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 11 ) +shortcut = SubResource( 9 ) texture_normal = ExtResource( 20 ) [node name="PlayBackwards" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 48.0 margin_right = 68.0 -margin_bottom = 24.0 +margin_bottom = 25.0 hint_tooltip = "PLAYBACKWARDS_HT" mouse_default_cursor_shape = 2 toggle_mode = true shortcut_in_tooltip = false -shortcut = SubResource( 13 ) +shortcut = SubResource( 11 ) texture_normal = ExtResource( 21 ) texture_pressed = ExtResource( 22 ) [node name="PlayForward" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 72.0 margin_right = 92.0 -margin_bottom = 24.0 +margin_bottom = 25.0 hint_tooltip = "PLAYFORWARD_HT" mouse_default_cursor_shape = 2 size_flags_horizontal = 0 toggle_mode = true shortcut_in_tooltip = false -shortcut = SubResource( 15 ) +shortcut = SubResource( 13 ) texture_normal = ExtResource( 23 ) texture_pressed = ExtResource( 22 ) [node name="NextFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 96.0 margin_right = 116.0 -margin_bottom = 24.0 +margin_bottom = 25.0 hint_tooltip = "NEXTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 17 ) +shortcut = SubResource( 15 ) texture_normal = ExtResource( 24 ) [node name="LastFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 120.0 margin_right = 140.0 -margin_bottom = 24.0 +margin_bottom = 25.0 hint_tooltip = "LASTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false -shortcut = SubResource( 19 ) +shortcut = SubResource( 17 ) texture_normal = ExtResource( 25 ) [node name="LoopButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] -margin_left = 482.0 -margin_right = 570.0 -margin_bottom = 24.0 +margin_left = 476.0 +margin_right = 562.0 +margin_bottom = 25.0 size_flags_horizontal = 0 [node name="FPSValue" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/LoopButtons"] -margin_right = 64.0 -margin_bottom = 24.0 +margin_right = 62.0 +margin_bottom = 25.0 hint_tooltip = "FPS_HT" mouse_default_cursor_shape = 2 min_value = 0.1 @@ -1010,35 +1005,35 @@ value = 6.0 suffix = "FPS" [node name="LoopAnim" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/LoopButtons"] -margin_left = 68.0 -margin_right = 88.0 -margin_bottom = 24.0 +margin_left = 66.0 +margin_right = 86.0 +margin_bottom = 25.0 hint_tooltip = "No loop" mouse_default_cursor_shape = 2 texture_normal = ExtResource( 26 ) [node name="HSeparator" type="HSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 28.0 -margin_right = 570.0 -margin_bottom = 32.0 +margin_top = 29.0 +margin_right = 562.0 +margin_bottom = 33.0 [node name="TimelineSeconds" type="Control" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 36.0 -margin_right = 570.0 -margin_bottom = 52.0 +margin_top = 37.0 +margin_right = 562.0 +margin_bottom = 53.0 rect_min_size = Vector2( 0, 16 ) script = ExtResource( 27 ) [node name="HSeparator2" type="HSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 56.0 -margin_right = 570.0 -margin_bottom = 60.0 +margin_top = 57.0 +margin_right = 562.0 +margin_bottom = 61.0 [node name="FrameAndButtonContainer" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] editor/display_folded = true -margin_top = 64.0 -margin_right = 570.0 -margin_bottom = 100.0 +margin_top = 65.0 +margin_right = 562.0 +margin_bottom = 101.0 [node name="AddFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer"] margin_right = 36.0 @@ -1050,7 +1045,7 @@ texture_normal = ExtResource( 28 ) [node name="ScrollContainer" type="ScrollContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer"] margin_left = 40.0 -margin_right = 570.0 +margin_right = 562.0 margin_bottom = 36.0 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -1059,56 +1054,56 @@ scroll_vertical_enabled = false [node name="FrameContainer" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer/ScrollContainer"] [node name="VSeparator" type="VSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] -margin_left = 574.0 -margin_right = 578.0 -margin_bottom = 138.0 +margin_left = 566.0 +margin_right = 570.0 +margin_bottom = 139.0 [node name="OnionSkinningButtons" type="VBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] editor/display_folded = true -margin_left = 582.0 +margin_left = 574.0 margin_right = 681.0 -margin_bottom = 138.0 +margin_bottom = 139.0 [node name="OnionSkinning" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_right = 99.0 +margin_right = 107.0 margin_bottom = 15.0 text = "Onion Skinning:" [node name="OnionSkinningPast" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] margin_top = 19.0 -margin_right = 99.0 +margin_right = 107.0 margin_bottom = 34.0 text = "Past Frames" [node name="PastOnionSkinning" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] margin_top = 38.0 -margin_right = 99.0 -margin_bottom = 55.0 +margin_right = 107.0 +margin_bottom = 63.0 mouse_default_cursor_shape = 2 [node name="OnionSkinningFuture" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 59.0 -margin_right = 99.0 -margin_bottom = 74.0 +margin_top = 67.0 +margin_right = 107.0 +margin_bottom = 82.0 text = "Future Frames" [node name="FutureOnionSkinning" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 78.0 -margin_right = 99.0 -margin_bottom = 95.0 +margin_top = 86.0 +margin_right = 107.0 +margin_bottom = 111.0 mouse_default_cursor_shape = 2 [node name="BlueRedMode" type="CheckBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 99.0 -margin_right = 99.0 -margin_bottom = 115.0 +margin_top = 115.0 +margin_right = 107.0 +margin_bottom = 139.0 mouse_default_cursor_shape = 2 text = "Blue-Red Mode" [node name="VSeparator2" type="VSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] margin_left = 685.0 margin_right = 689.0 -margin_bottom = 138.0 +margin_bottom = 139.0 [node name="LayerPanel" type="Panel" parent="MenuAndUI/UI"] margin_left = 928.0 @@ -1231,6 +1226,7 @@ texture_normal = ExtResource( 37 ) texture_disabled = ExtResource( 38 ) [node name="ScrollLayers" type="ScrollContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc/LayerVBoxContainer"] +editor/display_folded = true margin_top = 38.0 margin_right = 224.0 margin_bottom = 181.0 @@ -1343,7 +1339,7 @@ visible = false anchor_right = 1.0 anchor_bottom = 1.0 margin_left = 4.0 -margin_top = 32.0 +margin_top = 33.0 margin_right = -4.0 margin_bottom = -4.0 rect_min_size = Vector2( 0, 36 ) @@ -1376,7 +1372,7 @@ margin_bottom = 70.0 margin_left = 8.0 margin_top = 8.0 margin_right = 192.0 -margin_bottom = 34.0 +margin_bottom = 33.0 [node name="ImageSize" type="Label" parent="CreateNewImage/VBoxContainer"] margin_right = 184.0 @@ -1497,7 +1493,7 @@ margin_bottom = 114.0 margin_left = 8.0 margin_top = 8.0 margin_right = 192.0 -margin_bottom = 78.0 +margin_bottom = 77.0 [node name="ImageSize" type="Label" parent="ScaleImage/VBoxContainer"] margin_right = 184.0 @@ -1570,7 +1566,7 @@ anchor_right = 0.5 margin_left = -92.0 margin_top = 8.0 margin_right = 92.0 -margin_bottom = 34.0 +margin_bottom = 33.0 [node name="OptionsContainer" type="GridContainer" parent="PreferencesDialog/VBoxContainer"] margin_right = 195.0 @@ -1658,7 +1654,7 @@ script = ExtResource( 43 ) margin_left = 8.0 margin_top = 8.0 margin_right = 276.0 -margin_bottom = 150.0 +margin_bottom = 149.0 [node name="Pixelorama" type="Label" parent="AboutDialog/AboutUI"] margin_right = 268.0 @@ -1684,7 +1680,7 @@ margin_bottom = 77.0 editor/display_folded = true margin_left = 37.0 margin_right = 231.0 -margin_bottom = 23.0 +margin_bottom = 21.0 [node name="Website" type="Button" parent="AboutDialog/AboutUI/Links/LinkButtons"] margin_right = 55.0 diff --git a/Themes & Styles/Main Theme.tres b/Themes & Styles/Main Theme.tres index 3f3ee5d..c9cffbb 100644 --- a/Themes & Styles/Main Theme.tres +++ b/Themes & Styles/Main Theme.tres @@ -53,7 +53,7 @@ bg_color = Color( 0.6, 0.6, 0.6, 0 ) [sub_resource type="StyleBoxFlat" id=7] bg_color = Color( 0.6, 0.6, 0.6, 0 ) -[sub_resource type="StyleBoxFlat" id=12] +[sub_resource type="StyleBoxFlat" id=8] bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) border_width_left = 8 border_width_top = 1 @@ -66,7 +66,7 @@ corner_radius_bottom_right = 4 corner_radius_bottom_left = 4 anti_aliasing = false -[sub_resource type="StyleBoxFlat" id=8] +[sub_resource type="StyleBoxFlat" id=9] bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) border_width_left = 5 border_width_top = 10 @@ -79,7 +79,7 @@ corner_radius_bottom_right = 4 corner_radius_bottom_left = 4 anti_aliasing = false -[sub_resource type="StyleBoxFlat" id=9] +[sub_resource type="StyleBoxFlat" id=10] bg_color = Color( 0.2, 0.2, 0.2, 1 ) border_width_left = 10 border_width_top = 6 @@ -87,7 +87,7 @@ border_width_right = 10 border_width_bottom = 8 border_color = Color( 0.2, 0.2, 0.2, 1 ) -[sub_resource type="StyleBoxFlat" id=10] +[sub_resource type="StyleBoxFlat" id=11] bg_color = Color( 0.145098, 0.145098, 0.164706, 1 ) border_width_left = 10 border_width_top = 6 @@ -95,7 +95,7 @@ border_width_right = 10 border_width_bottom = 8 border_color = Color( 0.145098, 0.145098, 0.164706, 1 ) -[sub_resource type="StyleBoxFlat" id=11] +[sub_resource type="StyleBoxFlat" id=12] bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) border_width_left = 10 border_width_top = 6 @@ -146,7 +146,7 @@ LineEdit/constants/minimum_spaces = 12 LineEdit/fonts/font = null LineEdit/icons/clear = null LineEdit/styles/focus = null -LineEdit/styles/normal = SubResource( 12 ) +LineEdit/styles/normal = SubResource( 8 ) LineEdit/styles/read_only = null TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) @@ -163,8 +163,8 @@ TabContainer/icons/increment = null TabContainer/icons/increment_highlight = null TabContainer/icons/menu = null TabContainer/icons/menu_highlight = null -TabContainer/styles/panel = SubResource( 8 ) -TabContainer/styles/tab_bg = SubResource( 9 ) -TabContainer/styles/tab_disabled = SubResource( 10 ) -TabContainer/styles/tab_fg = SubResource( 11 ) +TabContainer/styles/panel = SubResource( 9 ) +TabContainer/styles/tab_bg = SubResource( 10 ) +TabContainer/styles/tab_disabled = SubResource( 11 ) +TabContainer/styles/tab_fg = SubResource( 12 ) VBoxContainer/constants/separation = 4 From 73830832cef3d1b35a0c985f2ea81f86f721adc0 Mon Sep 17 00:00:00 2001 From: CheetoHead Date: Mon, 16 Dec 2019 20:47:19 -0500 Subject: [PATCH 08/11] Update PaletteContainer.gd --- Scripts/PaletteContainer.gd | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Scripts/PaletteContainer.gd b/Scripts/PaletteContainer.gd index 7759f8c..096c350 100644 --- a/Scripts/PaletteContainer.gd +++ b/Scripts/PaletteContainer.gd @@ -115,12 +115,16 @@ func on_color_select(index : int) -> void: Global.update_right_custom_brush() func _load_palettes() -> void: + var file := File.new() var dir := Directory.new() if not dir.dir_exists("user://palettes"): dir.make_dir("user://palettes"); - dir.make_dir("user://custom/palettes") + if not dir.dir_exists("user://palettes/custom"): + dir.make_dir("user://palettes/custom") + if not file.file_exists("user://palettes/default_palette.json"): dir.copy("res://Assets/Graphics/Palette/default_palette.json","user://palettes/default_palette.json"); + if not file.file_exists("user://palettes/bubblegum16.json"): dir.copy("res://Assets/Graphics/Palette/bubblegum16.json","user://palettes/bubblegum16.json"); var palette_files : Array = get_palette_files("user://palettes") From c9071f30eb1e6be9ddceca69b678add7034b51db Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Tue, 17 Dec 2019 04:01:38 +0200 Subject: [PATCH 09/11] Changed brush color interpolation and LightenDarken amount's range from 0-100, instead of 0-1 --- Main.tscn | 136 ++++++++++++++++---------------- Scripts/Global.gd | 4 +- Scripts/Main.gd | 4 +- Themes & Styles/Main Theme.tres | 20 ++--- Translations/#Translations.csv | 2 +- 5 files changed, 85 insertions(+), 81 deletions(-) diff --git a/Main.tscn b/Main.tscn index e20a2e6..b9bcbdc 100644 --- a/Main.tscn +++ b/Main.tscn @@ -208,6 +208,7 @@ text = "[64×64]" align = 2 [node name="UI" type="HBoxContainer" parent="MenuAndUI"] +editor/display_folded = true margin_top = 28.0 margin_right = 1152.0 margin_bottom = 648.0 @@ -232,11 +233,13 @@ size_flags_vertical = 3 custom_constants/separation = 32 [node name="MenusAndTools" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools"] +editor/display_folded = true margin_right = 208.0 margin_bottom = 127.0 custom_constants/separation = 17 [node name="UtilityTools" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/MenusAndTools"] +editor/display_folded = true margin_right = 208.0 margin_bottom = 55.0 @@ -279,6 +282,7 @@ button_mask = 3 texture_normal = ExtResource( 4 ) [node name="DrawTools" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/MenusAndTools"] +editor/display_folded = true margin_top = 72.0 margin_right = 208.0 margin_bottom = 127.0 @@ -340,6 +344,7 @@ button_mask = 3 texture_normal = ExtResource( 8 ) [node name="ColorAndToolOptions" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools"] +editor/display_folded = true margin_top = 159.0 margin_right = 208.0 margin_bottom = 612.0 @@ -368,6 +373,7 @@ size_flags_vertical = 0 flat = true [node name="ColorButtonsCenter" type="CenterContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/ColorPickersCenter/ColorPickersHorizontal"] +editor/display_folded = true margin_left = 68.0 margin_right = 85.0 margin_bottom = 32.0 @@ -412,6 +418,7 @@ margin_right = 208.0 margin_bottom = 103.0 [node name="LeftToolOptions" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] +editor/display_folded = true margin_top = 111.0 margin_right = 208.0 margin_bottom = 242.0 @@ -484,26 +491,24 @@ suffix = "px" [node name="LeftColorInterpolation" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true visible = false -margin_top = 112.0 +margin_top = 96.0 margin_right = 208.0 -margin_bottom = 137.0 +margin_bottom = 113.0 [node name="ColorComesFrom" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftColorInterpolation"] -margin_top = 5.0 +margin_top = 1.0 margin_right = 90.0 -margin_bottom = 20.0 +margin_bottom = 16.0 hint_tooltip = "COLORFROM_HT" text = "Brush color from" [node name="LeftInterpolateFactor" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftColorInterpolation"] margin_left = 94.0 margin_right = 208.0 -margin_bottom = 25.0 +margin_bottom = 17.0 hint_tooltip = "COLORFROM_HT" size_flags_horizontal = 3 -max_value = 1.0 -step = 0.01 -value = 1.0 +value = 100.0 [node name="LeftFillArea" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true @@ -528,38 +533,37 @@ selected = 0 [node name="LeftLDOptions" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true visible = false -margin_top = 110.0 -margin_right = 244.0 -margin_bottom = 158.0 +margin_top = 96.0 +margin_right = 208.0 +margin_bottom = 140.0 [node name="LeftLightenDarken" type="OptionButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftLDOptions"] -margin_right = 244.0 -margin_bottom = 20.0 +margin_right = 208.0 +margin_bottom = 23.0 text = "Lighten" items = [ "Lighten", null, false, 0, null, "Darken", null, false, 1, null ] selected = 0 [node name="LeftLDAmount" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftLDOptions"] -margin_top = 24.0 -margin_right = 244.0 -margin_bottom = 48.0 +margin_top = 27.0 +margin_right = 208.0 +margin_bottom = 44.0 [node name="LDAmountLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftLDOptions/LeftLDAmount"] -margin_top = 5.0 -margin_right = 55.0 -margin_bottom = 19.0 +margin_top = 1.0 +margin_right = 47.0 +margin_bottom = 16.0 text = "Amount:" [node name="LeftLDAmountSpinbox" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftLDOptions/LeftLDAmount"] -margin_left = 59.0 -margin_right = 133.0 -margin_bottom = 24.0 +margin_left = 51.0 +margin_right = 115.0 +margin_bottom = 17.0 hint_tooltip = "LDAMOUNT_HT" -max_value = 1.0 -step = 0.01 -value = 0.1 +value = 10.0 [node name="LeftMirroring" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] +editor/display_folded = true margin_top = 96.0 margin_right = 208.0 margin_bottom = 131.0 @@ -667,26 +671,24 @@ suffix = "px" [node name="RightColorInterpolation" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true visible = false -margin_top = 112.0 +margin_top = 96.0 margin_right = 208.0 -margin_bottom = 137.0 +margin_bottom = 113.0 [node name="ColorComesFrom" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightColorInterpolation"] -margin_top = 5.0 +margin_top = 1.0 margin_right = 90.0 -margin_bottom = 20.0 +margin_bottom = 16.0 hint_tooltip = "COLORFROM_HT" text = "Brush color from" [node name="RightInterpolateFactor" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightColorInterpolation"] margin_left = 94.0 margin_right = 208.0 -margin_bottom = 25.0 +margin_bottom = 17.0 hint_tooltip = "COLORFROM_HT" size_flags_horizontal = 3 -max_value = 1.0 -step = 0.01 -value = 1.0 +value = 100.0 [node name="RightFillArea" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true @@ -711,36 +713,34 @@ selected = 0 [node name="RightLDOptions" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true visible = false -margin_top = 110.0 -margin_right = 244.0 -margin_bottom = 158.0 +margin_top = 96.0 +margin_right = 208.0 +margin_bottom = 140.0 [node name="RightLightenDarken" type="OptionButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightLDOptions"] -margin_right = 244.0 -margin_bottom = 20.0 +margin_right = 208.0 +margin_bottom = 23.0 text = "Lighten" items = [ "Lighten", null, false, 0, null, "Darken", null, false, 1, null ] selected = 0 [node name="RightLDAmount" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightLDOptions"] -margin_top = 24.0 -margin_right = 244.0 -margin_bottom = 48.0 +margin_top = 27.0 +margin_right = 208.0 +margin_bottom = 44.0 [node name="LDAmountLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightLDOptions/RightLDAmount"] -margin_top = 5.0 -margin_right = 55.0 -margin_bottom = 19.0 +margin_top = 1.0 +margin_right = 47.0 +margin_bottom = 16.0 text = "Amount:" [node name="RightLDAmountSpinbox" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightLDOptions/RightLDAmount"] -margin_left = 59.0 -margin_right = 133.0 -margin_bottom = 24.0 +margin_left = 51.0 +margin_right = 115.0 +margin_bottom = 17.0 hint_tooltip = "LDAMOUNT_HT" -max_value = 1.0 -step = 0.01 -value = 0.1 +value = 10.0 [node name="RightMirroring" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true @@ -774,6 +774,7 @@ mouse_default_cursor_shape = 2 text = "Vertical" [node name="CanvasAndTimeline" type="VBoxContainer" parent="MenuAndUI/UI"] +editor/display_folded = true margin_left = 224.0 margin_right = 928.0 margin_bottom = 620.0 @@ -888,6 +889,7 @@ zoom = Vector2( 0.15, 0.15 ) script = ExtResource( 16 ) [node name="AnimationTimeline" type="Panel" parent="MenuAndUI/UI/CanvasAndTimeline"] +editor/display_folded = true margin_top = 478.0 margin_right = 704.0 margin_bottom = 620.0 @@ -1113,6 +1115,7 @@ margin_right = 689.0 margin_bottom = 138.0 [node name="LayerPanel" type="Panel" parent="MenuAndUI/UI"] +editor/display_folded = true margin_left = 928.0 margin_right = 1152.0 margin_bottom = 620.0 @@ -1162,6 +1165,7 @@ margin_right = 224.0 margin_bottom = 199.0 [node name="LayerVBoxContainer" type="VBoxContainer" parent="MenuAndUI/UI/LayerPanel/LayersAndMisc"] +editor/display_folded = true margin_top = 203.0 margin_right = 224.0 margin_bottom = 384.0 @@ -1341,10 +1345,10 @@ hint_tooltip = "Pixel brush" visible = false anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = 4.0 -margin_top = 32.0 -margin_right = -4.0 -margin_bottom = -4.0 +margin_left = 5.0 +margin_top = 39.0 +margin_right = -5.0 +margin_bottom = -5.0 rect_min_size = Vector2( 0, 36 ) size_flags_horizontal = 3 scroll_horizontal_enabled = false @@ -1375,7 +1379,7 @@ margin_bottom = 70.0 margin_left = 8.0 margin_top = 8.0 margin_right = 192.0 -margin_bottom = 34.0 +margin_bottom = 31.0 [node name="ImageSize" type="Label" parent="CreateNewImage/VBoxContainer"] margin_right = 184.0 @@ -1441,8 +1445,8 @@ resizable = true mode = 0 access = 2 filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) -current_dir = "C:/Users/User/Desktop/Pixelorama themes" -current_path = "C:/Users/User/Desktop/Pixelorama themes/" +current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" +current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" [node name="SaveSprite" type="FileDialog" parent="."] anchor_left = 0.5 @@ -1457,8 +1461,8 @@ window_title = "Save Sprite as .pxo" resizable = true access = 2 filters = PoolStringArray( "*.pxo ; Pixelorama Project" ) -current_dir = "C:/Users/User/Desktop/Pixelorama themes" -current_path = "C:/Users/User/Desktop/Pixelorama themes/" +current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" +current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" [node name="ImportSprites" type="FileDialog" parent="."] margin_right = 515.0 @@ -1468,8 +1472,8 @@ resizable = true mode = 1 access = 2 filters = PoolStringArray( "*.bmp ; BMP Image", "*.hdr ; Radiance HDR Image", "*.jpg,*.jpeg ; JPEG Image", "*.png ; PNG Image", "*.svg ; SVG Image", "*.tga ; TGA Image", "*.webp ; WebP Image" ) -current_dir = "C:/Users/User/Desktop/Pixelorama themes" -current_path = "C:/Users/User/Desktop/Pixelorama themes/" +current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" +current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" [node name="ExportSprites" type="FileDialog" parent="."] anchor_left = 0.5 @@ -1484,8 +1488,8 @@ window_title = "Export Sprite" resizable = true access = 2 filters = PoolStringArray( "*.png ; PNG Image" ) -current_dir = "C:/Users/User/Desktop/Pixelorama themes" -current_path = "C:/Users/User/Desktop/Pixelorama themes/" +current_dir = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama" +current_path = "C:/Users/Overloaded/Dropbox/Orama Founding Members/εταιρικα αρχεια/Godot Projects/Pixelorama/" [node name="ScaleImage" type="ConfirmationDialog" parent="."] editor/display_folded = true @@ -1496,7 +1500,7 @@ margin_bottom = 114.0 margin_left = 8.0 margin_top = 8.0 margin_right = 192.0 -margin_bottom = 78.0 +margin_bottom = 75.0 [node name="ImageSize" type="Label" parent="ScaleImage/VBoxContainer"] margin_right = 184.0 @@ -1569,7 +1573,7 @@ anchor_right = 0.5 margin_left = -92.0 margin_top = 8.0 margin_right = 92.0 -margin_bottom = 34.0 +margin_bottom = 31.0 [node name="OptionsContainer" type="GridContainer" parent="PreferencesDialog/VBoxContainer"] margin_right = 184.0 @@ -1657,7 +1661,7 @@ script = ExtResource( 43 ) margin_left = 8.0 margin_top = 8.0 margin_right = 276.0 -margin_bottom = 150.0 +margin_bottom = 147.0 [node name="Pixelorama" type="Label" parent="AboutDialog/AboutUI"] margin_right = 268.0 diff --git a/Scripts/Global.gd b/Scripts/Global.gd index 6d2fa37..64615c3 100644 --- a/Scripts/Global.gd +++ b/Scripts/Global.gd @@ -439,7 +439,7 @@ func update_left_custom_brush() -> void: custom_brush.copy_from(custom_brushes[custom_left_brush_index]) var custom_brush_size = custom_brush.get_size() custom_brush.resize(custom_brush_size.x * left_brush_size, custom_brush_size.y * left_brush_size, Image.INTERPOLATE_NEAREST) - custom_left_brush_image = blend_image_with_color(custom_brush, left_color_picker.color, left_interpolate_slider.value) + custom_left_brush_image = blend_image_with_color(custom_brush, left_color_picker.color, left_interpolate_slider.value / 100) custom_left_brush_texture.create_from_image(custom_left_brush_image, 0) left_brush_type_button.get_child(0).texture = custom_left_brush_texture @@ -455,7 +455,7 @@ func update_right_custom_brush() -> void: custom_brush.copy_from(custom_brushes[custom_right_brush_index]) var custom_brush_size = custom_brush.get_size() custom_brush.resize(custom_brush_size.x * right_brush_size, custom_brush_size.y * right_brush_size, Image.INTERPOLATE_NEAREST) - custom_right_brush_image = blend_image_with_color(custom_brush, right_color_picker.color, right_interpolate_slider.value) + custom_right_brush_image = blend_image_with_color(custom_brush, right_color_picker.color, right_interpolate_slider.value / 100) custom_right_brush_texture.create_from_image(custom_right_brush_image, 0) right_brush_type_button.get_child(0).texture = custom_right_brush_texture diff --git a/Scripts/Main.gd b/Scripts/Main.gd index d6676e4..66062e0 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -1012,12 +1012,12 @@ func _on_RightFillAreaOptions_item_selected(ID : int) -> void: func _on_LeftLightenDarken_item_selected(ID : int) -> void: Global.left_ld = ID func _on_LeftLDAmountSpinbox_value_changed(value : float) -> void: - Global.left_ld_amount = value + Global.left_ld_amount = value / 100 func _on_RightLightenDarken_item_selected(ID : int) -> void: Global.right_ld = ID func _on_RightLDAmountSpinbox_value_changed(value : float) -> void: - Global.right_ld_amount = value + Global.right_ld_amount = value / 100 func _on_LeftHorizontalMirroring_toggled(button_pressed) -> void: Global.left_horizontal_mirror = button_pressed diff --git a/Themes & Styles/Main Theme.tres b/Themes & Styles/Main Theme.tres index 3f3ee5d..c9cffbb 100644 --- a/Themes & Styles/Main Theme.tres +++ b/Themes & Styles/Main Theme.tres @@ -53,7 +53,7 @@ bg_color = Color( 0.6, 0.6, 0.6, 0 ) [sub_resource type="StyleBoxFlat" id=7] bg_color = Color( 0.6, 0.6, 0.6, 0 ) -[sub_resource type="StyleBoxFlat" id=12] +[sub_resource type="StyleBoxFlat" id=8] bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) border_width_left = 8 border_width_top = 1 @@ -66,7 +66,7 @@ corner_radius_bottom_right = 4 corner_radius_bottom_left = 4 anti_aliasing = false -[sub_resource type="StyleBoxFlat" id=8] +[sub_resource type="StyleBoxFlat" id=9] bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) border_width_left = 5 border_width_top = 10 @@ -79,7 +79,7 @@ corner_radius_bottom_right = 4 corner_radius_bottom_left = 4 anti_aliasing = false -[sub_resource type="StyleBoxFlat" id=9] +[sub_resource type="StyleBoxFlat" id=10] bg_color = Color( 0.2, 0.2, 0.2, 1 ) border_width_left = 10 border_width_top = 6 @@ -87,7 +87,7 @@ border_width_right = 10 border_width_bottom = 8 border_color = Color( 0.2, 0.2, 0.2, 1 ) -[sub_resource type="StyleBoxFlat" id=10] +[sub_resource type="StyleBoxFlat" id=11] bg_color = Color( 0.145098, 0.145098, 0.164706, 1 ) border_width_left = 10 border_width_top = 6 @@ -95,7 +95,7 @@ border_width_right = 10 border_width_bottom = 8 border_color = Color( 0.145098, 0.145098, 0.164706, 1 ) -[sub_resource type="StyleBoxFlat" id=11] +[sub_resource type="StyleBoxFlat" id=12] bg_color = Color( 0.321569, 0.321569, 0.321569, 1 ) border_width_left = 10 border_width_top = 6 @@ -146,7 +146,7 @@ LineEdit/constants/minimum_spaces = 12 LineEdit/fonts/font = null LineEdit/icons/clear = null LineEdit/styles/focus = null -LineEdit/styles/normal = SubResource( 12 ) +LineEdit/styles/normal = SubResource( 8 ) LineEdit/styles/read_only = null TabContainer/colors/font_color_bg = Color( 0.690196, 0.690196, 0.690196, 1 ) TabContainer/colors/font_color_disabled = Color( 0.9, 0.9, 0.9, 0.2 ) @@ -163,8 +163,8 @@ TabContainer/icons/increment = null TabContainer/icons/increment_highlight = null TabContainer/icons/menu = null TabContainer/icons/menu_highlight = null -TabContainer/styles/panel = SubResource( 8 ) -TabContainer/styles/tab_bg = SubResource( 9 ) -TabContainer/styles/tab_disabled = SubResource( 10 ) -TabContainer/styles/tab_fg = SubResource( 11 ) +TabContainer/styles/panel = SubResource( 9 ) +TabContainer/styles/tab_bg = SubResource( 10 ) +TabContainer/styles/tab_disabled = SubResource( 11 ) +TabContainer/styles/tab_fg = SubResource( 12 ) VBoxContainer/constants/separation = 4 diff --git a/Translations/#Translations.csv b/Translations/#Translations.csv index d44035b..88144ab 100644 --- a/Translations/#Translations.csv +++ b/Translations/#Translations.csv @@ -81,7 +81,7 @@ Brush: Pixel,Brush: Pixel,Πινέλο: Εικονοστοιχείο,Brosse : Pi Custom brush,Custom brush,Προσαρμοσμένο πινέλο,Brosse personnalisée,Benutzerdefinierter Pinsel,Niestandardowy pędzel Brush size:,Brush size:,Μέγεθος πινέλου:,Taille de la brosse :,Pinselgröße:,Rozmiar pędzla: Brush color from,Brush color from,Χρώμα πινέλου από,Couleur de la brosse depuis,Pinselfarbe von,Nadpisywanie koloru pędzla -COLORFROM_HT,"0: Color from the brush itself, 1: the currently selected color","0: Χρώμα από το πινέλο, 1: επιλεγμένο χρώμα","0 : Couleur depuis la brosse elle-même, 1 : la couleur actuellement sélectionnée","0: Farbe von dem Pinsel selbst, 1: die aktuell ausgewählte Farbe","0: Kolor pochodzący z samego pędzla, 1: Obecnie wybrany kolor rysowania" +COLORFROM_HT,"0: Color from the brush itself, 100: the currently selected color","0: Χρώμα από το πινέλο, 100: επιλεγμένο χρώμα","0 : Couleur depuis la brosse elle-même, 100 : la couleur actuellement sélectionnée","0: Farbe von dem Pinsel selbst, 100: die aktuell ausgewählte Farbe","0: Kolor pochodzący z samego pędzla, 100: Obecnie wybrany kolor rysowania" Fill area:,Fill area:,Περιοχή γεμίσματος:,Remplissage de zone :,Fülle Bereich,Wypełnij przestrzeń: Area of the same color,Area of the same color,Περιοχή ίδιου χρώματος,Zone de la même couleur,Bereich mit der selben Farbe,Przestrzeń o takim samym kolorze All pixels of the same color,All pixels of the same color,Όλα τα πίξελ ίδιου χρώματος,Tous les pixels de la même couleur,Alle Pixel mit der selben Farbe,Wszystkie piksele tego samego koloru From dfc632e8f6010fe71df0b21cb29d57f4a40099c2 Mon Sep 17 00:00:00 2001 From: Overloaded <35376950+OverloadedOrama@users.noreply.github.com> Date: Tue, 17 Dec 2019 04:12:54 +0200 Subject: [PATCH 10/11] Re-added polish translation and description in project.godot --- project.godot | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/project.godot b/project.godot index 1bdf76d..5cb7618 100644 --- a/project.godot +++ b/project.godot @@ -33,6 +33,7 @@ _global_script_class_icons={ [application] config/name="Pixelorama" +config/description="A free & open-source 2D sprite editor" run/main_scene="res://Main.tscn" boot_splash/image="res://splash.png" boot_splash/bg_color=Color( 0.145098, 0.145098, 0.164706, 1 ) @@ -187,7 +188,7 @@ shift={ [locale] -translations=PoolStringArray( "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation" ) +translations=PoolStringArray( "res://Translations/#Translations.en.translation", "res://Translations/#Translations.el.translation", "res://Translations/#Translations.fr.translation", "res://Translations/#Translations.de.translation", "res://Translations/#Translations.pl.translation" ) locale_filter=[ 0, [ ] ] [rendering] From 3a29a729e941e5de9097fccaa7e82d643b559c8c Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Tue, 17 Dec 2019 04:22:39 +0200 Subject: [PATCH 11/11] Re-added Polish in Preferences and in Main.gd's loaded_locales --- Main.tscn | 257 ++++++++++++++++++------------------ Scripts/EditPalettePopup.gd | 29 ++-- Scripts/Main.gd | 4 +- Scripts/PaletteButton.gd | 13 -- Scripts/PaletteContainer.gd | 36 ++--- 5 files changed, 158 insertions(+), 181 deletions(-) diff --git a/Main.tscn b/Main.tscn index d6e7c2d..12451ea 100644 --- a/Main.tscn +++ b/Main.tscn @@ -147,7 +147,7 @@ margin_right = 1010.0 [node name="FileMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_right = 31.0 -margin_bottom = 21.0 +margin_bottom = 23.0 mouse_default_cursor_shape = 2 text = "File" switch_on_hover = true @@ -155,7 +155,7 @@ switch_on_hover = true [node name="EditMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 35.0 margin_right = 68.0 -margin_bottom = 21.0 +margin_bottom = 23.0 mouse_default_cursor_shape = 2 text = "Edit" switch_on_hover = true @@ -163,7 +163,7 @@ switch_on_hover = true [node name="ViewMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 72.0 margin_right = 110.0 -margin_bottom = 21.0 +margin_bottom = 23.0 mouse_default_cursor_shape = 2 text = "View" switch_on_hover = true @@ -171,7 +171,7 @@ switch_on_hover = true [node name="HelpMenu" type="MenuButton" parent="MenuAndUI/MenuContainer/MenuItems"] margin_left = 114.0 margin_right = 151.0 -margin_bottom = 21.0 +margin_bottom = 23.0 mouse_default_cursor_shape = 2 text = "Help" switch_on_hover = true @@ -348,9 +348,9 @@ custom_constants/separation = 8 alignment = 1 [node name="ColorPickersCenter" type="CenterContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] -margin_top = 35.0 +margin_top = 59.0 margin_right = 208.0 -margin_bottom = 67.0 +margin_bottom = 91.0 [node name="ColorPickersHorizontal" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/ColorPickersCenter"] margin_left = 27.0 @@ -406,13 +406,13 @@ flat = true color = Color( 1, 1, 1, 1 ) [node name="HSeparator" type="HSeparator" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] -margin_top = 75.0 +margin_top = 99.0 margin_right = 208.0 -margin_bottom = 79.0 +margin_bottom = 103.0 [node name="LeftToolOptions" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions"] editor/display_folded = true -margin_top = 87.0 +margin_top = 111.0 margin_right = 208.0 margin_bottom = 242.0 @@ -425,7 +425,7 @@ align = 1 [node name="LeftIndicatorCheckbox" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 43.0 +margin_bottom = 35.0 hint_tooltip = "LEFT_INDIC_HT" mouse_default_cursor_shape = 2 pressed = true @@ -433,9 +433,9 @@ text = "Left pixel indicator" [node name="LeftBrushType" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true -margin_top = 47.0 +margin_top = 39.0 margin_right = 208.0 -margin_bottom = 79.0 +margin_bottom = 71.0 [node name="LeftBrushTypeButton" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushType"] margin_right = 36.0 @@ -462,20 +462,20 @@ text = "Brush: Pixel" [node name="LeftBrushSize" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] editor/display_folded = true -margin_top = 83.0 +margin_top = 75.0 margin_right = 208.0 -margin_bottom = 108.0 +margin_bottom = 92.0 [node name="BrushSizeLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushSize"] -margin_top = 5.0 +margin_top = 1.0 margin_right = 58.0 -margin_bottom = 20.0 +margin_bottom = 16.0 text = "Brush size:" [node name="LeftBrushSizeEdit" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftBrushSize"] margin_left = 62.0 -margin_right = 124.0 -margin_bottom = 25.0 +margin_right = 126.0 +margin_bottom = 17.0 mouse_default_cursor_shape = 2 min_value = 1.0 value = 1.0 @@ -556,9 +556,9 @@ hint_tooltip = "LDAMOUNT_HT" value = 10.0 [node name="LeftMirroring" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions"] -margin_top = 112.0 +margin_top = 96.0 margin_right = 208.0 -margin_bottom = 155.0 +margin_bottom = 131.0 [node name="Label" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring"] margin_right = 208.0 @@ -568,19 +568,19 @@ text = "Mirroring" [node name="LeftMirrorButtons" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 43.0 +margin_bottom = 35.0 [node name="LeftHorizontalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring/LeftMirrorButtons"] -margin_right = 85.0 -margin_bottom = 24.0 +margin_right = 77.0 +margin_bottom = 16.0 hint_tooltip = "HORIZMIRROR_HT" mouse_default_cursor_shape = 2 text = "Horizontal" [node name="LeftVerticalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/LeftToolOptions/LeftMirroring/LeftMirrorButtons"] -margin_left = 89.0 -margin_right = 158.0 -margin_bottom = 24.0 +margin_left = 81.0 +margin_right = 142.0 +margin_bottom = 16.0 hint_tooltip = "VERTMIRROR_HT" mouse_default_cursor_shape = 2 text = "Vertical" @@ -594,7 +594,7 @@ margin_bottom = 254.0 editor/display_folded = true margin_top = 262.0 margin_right = 208.0 -margin_bottom = 417.0 +margin_bottom = 393.0 [node name="RightLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] margin_right = 208.0 @@ -605,16 +605,16 @@ align = 1 [node name="RightIndicatorCheckbox" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 43.0 +margin_bottom = 35.0 hint_tooltip = "RIGHT_INDIC_HT" mouse_default_cursor_shape = 2 text = "Right pixel indicator" [node name="RightBrushType" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 47.0 +margin_top = 39.0 margin_right = 208.0 -margin_bottom = 79.0 +margin_bottom = 71.0 [node name="RightBrushTypeButton" type="TextureButton" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushType"] margin_right = 36.0 @@ -641,20 +641,20 @@ text = "Brush: Pixel" [node name="RightBrushSize" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 83.0 +margin_top = 75.0 margin_right = 208.0 -margin_bottom = 108.0 +margin_bottom = 92.0 [node name="BrushSizeLabel" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushSize"] -margin_top = 5.0 +margin_top = 1.0 margin_right = 58.0 -margin_bottom = 20.0 +margin_bottom = 16.0 text = "Brush size:" [node name="RightBrushSizeEdit" type="SpinBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightBrushSize"] margin_left = 62.0 -margin_right = 124.0 -margin_bottom = 25.0 +margin_right = 126.0 +margin_bottom = 17.0 mouse_default_cursor_shape = 2 min_value = 1.0 value = 1.0 @@ -736,9 +736,9 @@ value = 10.0 [node name="RightMirroring" type="VBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions"] editor/display_folded = true -margin_top = 112.0 +margin_top = 96.0 margin_right = 208.0 -margin_bottom = 155.0 +margin_bottom = 131.0 [node name="Label" type="Label" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring"] margin_right = 208.0 @@ -748,19 +748,19 @@ text = "Mirroring" [node name="RightMirrorButtons" type="HBoxContainer" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring"] margin_top = 19.0 margin_right = 208.0 -margin_bottom = 43.0 +margin_bottom = 35.0 [node name="RightHorizontalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring/RightMirrorButtons"] -margin_right = 85.0 -margin_bottom = 24.0 +margin_right = 77.0 +margin_bottom = 16.0 hint_tooltip = "HORIZMIRROR_HT" mouse_default_cursor_shape = 2 text = "Horizontal" [node name="RightVerticalMirroring" type="CheckBox" parent="MenuAndUI/UI/ToolPanel/Tools/ColorAndToolOptions/RightToolOptions/RightMirroring/RightMirrorButtons"] -margin_left = 89.0 -margin_right = 158.0 -margin_bottom = 24.0 +margin_left = 81.0 +margin_right = 142.0 +margin_bottom = 16.0 hint_tooltip = "VERTMIRROR_HT" mouse_default_cursor_shape = 2 text = "Vertical" @@ -898,32 +898,32 @@ margin_left = 15.0 margin_top = 4.0 [node name="TimelineContainer" type="VBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] -margin_right = 562.0 -margin_bottom = 139.0 +margin_right = 570.0 +margin_bottom = 138.0 size_flags_horizontal = 3 [node name="AnimationButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_right = 562.0 -margin_bottom = 25.0 +margin_right = 570.0 +margin_bottom = 24.0 rect_min_size = Vector2( 0, 24 ) [node name="CurrentFrame" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] -margin_top = 5.0 -margin_right = 234.0 -margin_bottom = 20.0 +margin_top = 4.0 +margin_right = 237.0 +margin_bottom = 19.0 size_flags_horizontal = 3 text = "Current frame: 1/1" [node name="PlaybackButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] editor/display_folded = true -margin_left = 238.0 -margin_right = 378.0 -margin_bottom = 25.0 +margin_left = 241.0 +margin_right = 381.0 +margin_bottom = 24.0 size_flags_horizontal = 2 [node name="FirstFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_right = 20.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "FIRSTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false @@ -933,7 +933,7 @@ texture_normal = ExtResource( 19 ) [node name="PreviousFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 24.0 margin_right = 44.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "PREVIOUSFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false @@ -943,7 +943,7 @@ texture_normal = ExtResource( 20 ) [node name="PlayBackwards" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 48.0 margin_right = 68.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "PLAYBACKWARDS_HT" mouse_default_cursor_shape = 2 toggle_mode = true @@ -955,7 +955,7 @@ texture_pressed = ExtResource( 22 ) [node name="PlayForward" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 72.0 margin_right = 92.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "PLAYFORWARD_HT" mouse_default_cursor_shape = 2 size_flags_horizontal = 0 @@ -968,7 +968,7 @@ texture_pressed = ExtResource( 22 ) [node name="NextFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 96.0 margin_right = 116.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "NEXTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false @@ -978,7 +978,7 @@ texture_normal = ExtResource( 24 ) [node name="LastFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/PlaybackButtons"] margin_left = 120.0 margin_right = 140.0 -margin_bottom = 25.0 +margin_bottom = 24.0 hint_tooltip = "LASTFRAME_HT" mouse_default_cursor_shape = 2 shortcut_in_tooltip = false @@ -986,14 +986,14 @@ shortcut = SubResource( 17 ) texture_normal = ExtResource( 25 ) [node name="LoopButtons" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons"] -margin_left = 476.0 -margin_right = 562.0 -margin_bottom = 25.0 +margin_left = 482.0 +margin_right = 570.0 +margin_bottom = 24.0 size_flags_horizontal = 0 [node name="FPSValue" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/LoopButtons"] -margin_right = 62.0 -margin_bottom = 25.0 +margin_right = 64.0 +margin_bottom = 24.0 hint_tooltip = "FPS_HT" mouse_default_cursor_shape = 2 min_value = 0.1 @@ -1002,35 +1002,35 @@ value = 6.0 suffix = "FPS" [node name="LoopAnim" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/AnimationButtons/LoopButtons"] -margin_left = 66.0 -margin_right = 86.0 -margin_bottom = 25.0 +margin_left = 68.0 +margin_right = 88.0 +margin_bottom = 24.0 hint_tooltip = "No loop" mouse_default_cursor_shape = 2 texture_normal = ExtResource( 26 ) [node name="HSeparator" type="HSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 29.0 -margin_right = 562.0 -margin_bottom = 33.0 +margin_top = 28.0 +margin_right = 570.0 +margin_bottom = 32.0 [node name="TimelineSeconds" type="Control" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 37.0 -margin_right = 562.0 -margin_bottom = 53.0 +margin_top = 36.0 +margin_right = 570.0 +margin_bottom = 52.0 rect_min_size = Vector2( 0, 16 ) script = ExtResource( 27 ) [node name="HSeparator2" type="HSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] -margin_top = 57.0 -margin_right = 562.0 -margin_bottom = 61.0 +margin_top = 56.0 +margin_right = 570.0 +margin_bottom = 60.0 [node name="FrameAndButtonContainer" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer"] editor/display_folded = true -margin_top = 65.0 -margin_right = 562.0 -margin_bottom = 101.0 +margin_top = 64.0 +margin_right = 570.0 +margin_bottom = 100.0 [node name="AddFrame" type="TextureButton" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer"] margin_right = 36.0 @@ -1042,7 +1042,7 @@ texture_normal = ExtResource( 28 ) [node name="ScrollContainer" type="ScrollContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer"] margin_left = 40.0 -margin_right = 562.0 +margin_right = 570.0 margin_bottom = 36.0 size_flags_horizontal = 3 size_flags_vertical = 3 @@ -1051,56 +1051,56 @@ scroll_vertical_enabled = false [node name="FrameContainer" type="HBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/TimelineContainer/FrameAndButtonContainer/ScrollContainer"] [node name="VSeparator" type="VSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] -margin_left = 566.0 -margin_right = 570.0 -margin_bottom = 139.0 +margin_left = 574.0 +margin_right = 578.0 +margin_bottom = 138.0 [node name="OnionSkinningButtons" type="VBoxContainer" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] editor/display_folded = true -margin_left = 574.0 +margin_left = 582.0 margin_right = 681.0 -margin_bottom = 139.0 +margin_bottom = 138.0 [node name="OnionSkinning" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_right = 107.0 +margin_right = 99.0 margin_bottom = 15.0 text = "Onion Skinning:" [node name="OnionSkinningPast" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] margin_top = 19.0 -margin_right = 107.0 +margin_right = 99.0 margin_bottom = 34.0 text = "Past Frames" [node name="PastOnionSkinning" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] margin_top = 38.0 -margin_right = 107.0 -margin_bottom = 63.0 +margin_right = 99.0 +margin_bottom = 55.0 mouse_default_cursor_shape = 2 [node name="OnionSkinningFuture" type="Label" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 67.0 -margin_right = 107.0 -margin_bottom = 82.0 +margin_top = 59.0 +margin_right = 99.0 +margin_bottom = 74.0 text = "Future Frames" [node name="FutureOnionSkinning" type="SpinBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 86.0 -margin_right = 107.0 -margin_bottom = 111.0 +margin_top = 78.0 +margin_right = 99.0 +margin_bottom = 95.0 mouse_default_cursor_shape = 2 [node name="BlueRedMode" type="CheckBox" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer/OnionSkinningButtons"] -margin_top = 115.0 -margin_right = 107.0 -margin_bottom = 139.0 +margin_top = 99.0 +margin_right = 99.0 +margin_bottom = 115.0 mouse_default_cursor_shape = 2 text = "Blue-Red Mode" [node name="VSeparator2" type="VSeparator" parent="MenuAndUI/UI/CanvasAndTimeline/AnimationTimeline/AnimationContainer"] margin_left = 685.0 margin_right = 689.0 -margin_bottom = 139.0 +margin_bottom = 138.0 [node name="LayerPanel" type="Panel" parent="MenuAndUI/UI"] editor/display_folded = true @@ -1337,10 +1337,10 @@ hint_tooltip = "Pixel brush" visible = false anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = 4.0 -margin_top = 33.0 -margin_right = -4.0 -margin_bottom = -4.0 +margin_left = 5.0 +margin_top = 39.0 +margin_right = -5.0 +margin_bottom = -5.0 rect_min_size = Vector2( 0, 36 ) size_flags_horizontal = 3 scroll_horizontal_enabled = false @@ -1371,7 +1371,7 @@ margin_bottom = 70.0 margin_left = 8.0 margin_top = 8.0 margin_right = 192.0 -margin_bottom = 33.0 +margin_bottom = 31.0 [node name="ImageSize" type="Label" parent="CreateNewImage/VBoxContainer"] margin_right = 184.0 @@ -1492,7 +1492,7 @@ margin_bottom = 114.0 margin_left = 8.0 margin_top = 8.0 margin_right = 192.0 -margin_bottom = 77.0 +margin_bottom = 75.0 [node name="ImageSize" type="Label" parent="ScaleImage/VBoxContainer"] margin_right = 184.0 @@ -1565,7 +1565,7 @@ anchor_right = 0.5 margin_left = -92.0 margin_top = 8.0 margin_right = 92.0 -margin_bottom = 33.0 +margin_bottom = 31.0 [node name="OptionsContainer" type="GridContainer" parent="PreferencesDialog/VBoxContainer"] margin_right = 195.0 @@ -1583,7 +1583,7 @@ margin_left = 57.0 margin_right = 195.0 margin_bottom = 21.0 text = "System Language" -items = [ "System Language", null, false, 0, null, "German [de]", null, false, 1, null, "Greek [el]", null, false, 2, null, "English [en]", null, false, 3, null, "French [fr]", null, false, 4, null ] +items = [ "System Language", null, false, 0, null, "Deutsch [de]", null, false, 1, null, "Ελληνικά [el]", null, false, 2, null, "English [en]", null, false, 3, null, "Français [fr]", null, false, 4, null, "Polski [pl]", null, false, 5, null ] selected = 0 [node name="GridOptionsLabel" type="Label" parent="PreferencesDialog/VBoxContainer"] @@ -1653,7 +1653,7 @@ script = ExtResource( 43 ) margin_left = 8.0 margin_top = 8.0 margin_right = 276.0 -margin_bottom = 149.0 +margin_bottom = 147.0 [node name="Pixelorama" type="Label" parent="AboutDialog/AboutUI"] margin_right = 268.0 @@ -1679,7 +1679,7 @@ margin_bottom = 77.0 editor/display_folded = true margin_left = 37.0 margin_right = 231.0 -margin_bottom = 21.0 +margin_bottom = 23.0 [node name="Website" type="Button" parent="AboutDialog/AboutUI/Links/LinkButtons"] margin_right = 55.0 @@ -1719,7 +1719,6 @@ window_title = "Error!" dialog_text = "This is an error message!" [node name="EditPalettePopup" type="WindowDialog" parent="."] -visible = true margin_right = 600.0 margin_bottom = 550.0 rect_min_size = Vector2( 600, 550 ) @@ -1737,17 +1736,19 @@ size_flags_horizontal = 3 [node name="HBoxContainer" type="HBoxContainer" parent="EditPalettePopup/VBoxContainer"] margin_right = 580.0 -margin_bottom = 476.0 +margin_bottom = 482.0 size_flags_vertical = 3 [node name="EditPaletteColorPicker" type="ColorPicker" parent="EditPalettePopup/VBoxContainer/HBoxContainer"] -margin_right = 290.0 -margin_bottom = 476.0 +margin_left = 4.0 +margin_top = 4.0 +margin_right = 4.0 +margin_bottom = 4.0 [node name="Panel" type="Panel" parent="EditPalettePopup/VBoxContainer/HBoxContainer"] margin_left = 294.0 margin_right = 540.0 -margin_bottom = 476.0 +margin_bottom = 482.0 size_flags_horizontal = 3 [node name="EditPaletteGridContainer" type="GridContainer" parent="EditPalettePopup/VBoxContainer/HBoxContainer/Panel"] @@ -1760,7 +1761,7 @@ columns = 8 [node name="VBoxContainer" type="VBoxContainer" parent="EditPalettePopup/VBoxContainer/HBoxContainer"] margin_left = 544.0 margin_right = 580.0 -margin_bottom = 476.0 +margin_bottom = 482.0 [node name="AddSwatchButton" type="TextureButton" parent="EditPalettePopup/VBoxContainer/HBoxContainer/VBoxContainer"] margin_right = 36.0 @@ -1774,55 +1775,55 @@ margin_bottom = 72.0 texture_normal = ExtResource( 30 ) [node name="HBoxContainer3" type="HBoxContainer" parent="EditPalettePopup/VBoxContainer"] -margin_top = 480.0 +margin_top = 486.0 margin_right = 580.0 -margin_bottom = 505.0 +margin_bottom = 503.0 [node name="Label" type="Label" parent="EditPalettePopup/VBoxContainer/HBoxContainer3"] -margin_top = 5.0 +margin_top = 1.0 margin_right = 68.0 -margin_bottom = 20.0 +margin_bottom = 16.0 text = "Color Name:" [node name="EditPaletteColorNameLineEdit" type="LineEdit" parent="EditPalettePopup/VBoxContainer/HBoxContainer3"] margin_left = 72.0 margin_right = 580.0 -margin_bottom = 25.0 +margin_bottom = 17.0 size_flags_horizontal = 3 [node name="HBoxContainer2" type="HBoxContainer" parent="EditPalettePopup/VBoxContainer"] -margin_top = 509.0 +margin_top = 507.0 margin_right = 580.0 margin_bottom = 530.0 size_flags_horizontal = 3 [node name="SpacerControl" type="Control" parent="EditPalettePopup/VBoxContainer/HBoxContainer2"] margin_right = 159.0 -margin_bottom = 21.0 +margin_bottom = 23.0 size_flags_horizontal = 3 [node name="EditPaletteSaveButton" type="Button" parent="EditPalettePopup/VBoxContainer/HBoxContainer2"] margin_left = 163.0 margin_right = 201.0 -margin_bottom = 21.0 +margin_bottom = 23.0 text = "Save" [node name="SpacerControl2" type="Control" parent="EditPalettePopup/VBoxContainer/HBoxContainer2"] margin_left = 205.0 margin_right = 364.0 -margin_bottom = 21.0 +margin_bottom = 23.0 size_flags_horizontal = 3 [node name="EditPaletteCancelButton" type="Button" parent="EditPalettePopup/VBoxContainer/HBoxContainer2"] margin_left = 368.0 margin_right = 417.0 -margin_bottom = 21.0 +margin_bottom = 23.0 text = "Cancel" [node name="SpacerControl3" type="Control" parent="EditPalettePopup/VBoxContainer/HBoxContainer2"] margin_left = 421.0 margin_right = 580.0 -margin_bottom = 21.0 +margin_bottom = 23.0 size_flags_horizontal = 3 [node name="NewPaletteDialog" type="ConfirmationDialog" parent="."] @@ -1834,7 +1835,7 @@ window_title = "Create a new custom palette from existing default?" margin_left = 8.0 margin_top = 8.0 margin_right = 315.0 -margin_bottom = 33.0 +margin_bottom = 31.0 [node name="Label" type="Label" parent="NewPaletteDialog/HBoxContainer2"] margin_top = 5.0 diff --git a/Scripts/EditPalettePopup.gd b/Scripts/EditPalettePopup.gd index d48cad0..ba6d7d3 100644 --- a/Scripts/EditPalettePopup.gd +++ b/Scripts/EditPalettePopup.gd @@ -1,9 +1,5 @@ extends WindowDialog -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - onready var palette_grid = $VBoxContainer/HBoxContainer/Panel/EditPaletteGridContainer onready var color_name_edit = $VBoxContainer/HBoxContainer3/EditPaletteColorNameLineEdit onready var color_picker = $VBoxContainer/HBoxContainer/EditPaletteColorPicker @@ -14,28 +10,25 @@ var current_palette : String var current_swatch := -1 var working_palette : Dictionary -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. func open(palette : String) -> void: current_palette = palette if Global.palettes.has(palette): working_palette = Global.palettes[palette].duplicate() - + _display_palette() - + self.popup_centered() pass func _display_palette() -> void: _clear_swatches() var index := 0 - + for color_data in working_palette.colors: var color = Color(color_data.data) var new_button = palette_button.instance() - + new_button.color = color new_button.get_child(0).modulate = color new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name @@ -43,7 +36,7 @@ func _display_palette() -> void: new_button.index = index new_button.connect("on_drop_data", self, "on_move_swatch") new_button.connect("pressed", self, "on_swatch_select", [index]) - + palette_grid.add_child(new_button) index += 1 @@ -63,9 +56,9 @@ func on_move_swatch(from : int, to : int) -> void: var color_to_move = working_palette.colors[from] working_palette.colors.remove(from) working_palette.colors.insert(to, color_to_move) - + palette_grid.move_child(palette_grid.get_child(from), to) - + # Re-index swatches with new order var index := 0 for child in palette_grid.get_children(): @@ -73,10 +66,6 @@ func on_move_swatch(from : int, to : int) -> void: index += 1 pass -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass - func _on_AddSwatchButton_pressed() -> void: var color = Color.white var color_data = {} @@ -84,7 +73,7 @@ func _on_AddSwatchButton_pressed() -> void: color_data.name = "no name" working_palette.colors.push_back(color_data) var new_button = palette_button.instance() - + new_button.color = color new_button.get_child(0).modulate = color new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name @@ -93,7 +82,7 @@ func _on_AddSwatchButton_pressed() -> void: new_button.index = index new_button.connect("on_drop_data", self, "on_move_swatch") new_button.connect("pressed", self, "on_swatch_select", [index]) - + palette_grid.add_child(new_button) pass # Replace with function body. diff --git a/Scripts/Main.gd b/Scripts/Main.gd index 30b04a7..72f6438 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -30,7 +30,7 @@ func _ready() -> void: loaded_locales = TranslationServer.get_loaded_locales() else: # Hardcoded list of locales - loaded_locales = ["de", "el", "en", "fr"] + loaded_locales = ["de", "el", "en", "fr", "pl"] # Make sure locales are always sorted, in the same order loaded_locales.sort() @@ -1051,7 +1051,7 @@ func _on_PaletteOptionButton_item_selected(ID) -> void: func _on_EditPalette_pressed() -> void: Global.palette_container.on_edit_palette() pass - + func _on_RemovePalette_pressed() -> void: Global.palette_container.remove_current_palette() pass diff --git a/Scripts/PaletteButton.gd b/Scripts/PaletteButton.gd index 492bda6..72e9b85 100644 --- a/Scripts/PaletteButton.gd +++ b/Scripts/PaletteButton.gd @@ -1,9 +1,4 @@ extends Button - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - signal on_drop_data export var index := 0; @@ -12,10 +7,6 @@ export var draggable := false var drag_preview_texture = preload("res://Assets/Graphics/Palette/swatch_drag_preview.png") -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. - func get_drag_data(position): var data = null; if(draggable): @@ -33,7 +24,3 @@ func can_drop_data(position, data): func drop_data(position, data): emit_signal("on_drop_data", data.source_index, index); pass; - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass diff --git a/Scripts/PaletteContainer.gd b/Scripts/PaletteContainer.gd index 096c350..ef75a25 100644 --- a/Scripts/PaletteContainer.gd +++ b/Scripts/PaletteContainer.gd @@ -23,12 +23,12 @@ func on_palette_select(palette_name : String) -> void: if Global.palettes.has(palette_name): #Palette exists in memory current_palette = palette_name var palette : Dictionary = Global.palettes[palette_name] - + Global.remove_palette_button.disabled = true # Cannot remove by default if palette.has("editable"): if palette.editable: Global.remove_palette_button.disabled = false # Can remove if custom palette - + _display_palette(palette) else: #Use default on fail current_palette = "Default" @@ -36,7 +36,7 @@ func on_palette_select(palette_name : String) -> void: func on_edit_palette() -> void: var palette : Dictionary = Global.palettes[current_palette] - + var create_new_palette := true # Create new palette by default if palette.has("editable"): if palette.editable: @@ -59,15 +59,15 @@ func on_new_palette_confirmed() -> void: func create_new_palette(name : String, from_palette : Dictionary = {}) -> String: # Returns empty string, else error string var new_palette : Dictionary = {} - + # Check if new name is valid if name.empty(): return "Error: Palette must have a valid name." if Global.palettes.has(name): return "Error: Palette '" + name + "' already exists!" - + new_palette.name = name - + # Check if source palette has data if from_palette.has("name"): new_palette = from_palette.duplicate() @@ -77,36 +77,36 @@ func create_new_palette(name : String, from_palette : Dictionary = {}) -> String new_palette.colors = [] new_palette.comments = "" new_palette.editable = true - + # Add palette to Global and options Global.palettes[name] = new_palette Global.palette_option_button.add_item(name) var index := Global.palette_option_button.get_item_count() - 1 Global.palette_option_button.set_item_metadata(index, name) Global.palette_option_button.select(index) - + save_palette(name, name + ".json") - + on_palette_select(name) return "" func _display_palette(palette : Dictionary) -> void: var index := 0 - + for color_data in palette.colors: var color = Color(color_data.data) var new_button = palette_button.instance() - + new_button.get_child(0).modulate = color new_button.hint_tooltip = color_data.data.to_upper() + " " + color_data.name new_button.connect("pressed", self, "on_color_select", [index]) - + add_child(new_button) index += 1 func on_color_select(index : int) -> void: var color = Color(Global.palettes[current_palette].colors[index].data) - + if Input.is_action_just_released("left_mouse"): Global.left_color_picker.color = color Global.update_left_custom_brush() @@ -137,10 +137,10 @@ func _load_palettes() -> void: Global.palette_option_button.set_item_metadata(index, result) if result == "Default": Global.palette_option_button.select(index) - + dir.open("user://palettes/custom") var custom_palette_files : Array = get_palette_files("user://palettes/custom") - + for file_name in custom_palette_files: var result : String = load_palette("user://palettes/custom/" + file_name) if result: @@ -151,7 +151,7 @@ func _load_palettes() -> void: func get_palette_files(path : String) -> Array: var dir := Directory.new() var results = [] - + dir.open(path) dir.list_dir_begin() @@ -163,7 +163,7 @@ func get_palette_files(path : String) -> Array: results.append(file_name) dir.list_dir_end() - + return results func load_palette(path : String) -> String: @@ -200,7 +200,7 @@ func remove_current_palette() -> void: Global.palette_option_button.remove_item(selected_index) if(selected_index - 1 >= 0): Global.palette_option_button.select(selected_index - 1) - on_palette_select(Global.palette_option_button.get_item_metadata(selected_index - 1)) + on_palette_select(Global.palette_option_button.get_item_metadata(selected_index - 1)) pass func _delete_palette_file(file_name : String) -> void: