Skip to content

Commit

Permalink
GUI templates structure and appearance update
Browse files Browse the repository at this point in the history
Progress in standarizing GUI templates

Set base_gui_theme.tres as default theme for all GUIs

- **upd** Update structure of some components to have a Control node as
  root (this is a way to standarize all the GUI components).
- Replace all the uses of 9_verb_theme and sierra_theme by
  base_gui_theme.

Make all Popochiu popups have a Control as root

Update base_gui_theme Buttons' style

Now the buttons have a simpler style.

- **upd** Create DialogLine script to wrap the DialogText nodes that
  will allow render dialog lines with different styles.

Progress on creating Popochiu GUI components for each dialog style

Separate logic for the different DialogText styles

Now each dialog style has its own scene and script so the specific logic
of each component relies in its own script.

Fix issues after testing GUI template selection

Fix issues in Simple Click GUI template

Now it is possible to make the inventory bar and the settings bar to
show when moving the mouse on top of the viewport.

- **fix** Fix wrong position calculation for DialogMenu component.

Standarize popups

Now all popups have the same structure and use a .tres file to define
the style of their PanelContainer node (the one that containts the
content of the popup).

Fix wrong calculations in DialogText component

Now the Overhead dialog works as expected.

- **fix** Fix closing PopochiuPopups by clicking the Overlay node.

Fix issues in Sierra GUI

The inventory wasn't working, and the DialogPortrait component was
having an unexpected behavior.

Add avatar background panels to DialogPortrait

refs #264: Some changes to the base GUI theme, with the news consistent style. Also added new "Minecraftia Regular" font.

refs #264: Components cleanup: redundant theme assignement removed, aesthetic matching everywhere, some small structural change to inventory grid.

refs #264: Aesthetic changes to 9Verbs template (missing popups).

refs #264: SimpleClick template redundant theme assignment cleanup.

refs #264: Sierra template cleanup from redundant themeing, plus aesthetic changes to the main elements. Some WIP on the popups.

refs #264: Inventory up and down buttons are referred to by unique names in script.

refs #264: All popup buttons are now coherent (OK, Back, Cancel), plus the quit popup is translucent.

refs #264: All overlays are now transparent (StyleBoxEmpty) to support translucent popups.

refs #264: NEEDS REVIEW by @carenalga! - Overlays are now always open in "exclusive mode", so when one is visible the other ones in the stack are hidden.

refs #264: New Sierra menu icons and cursors.

refs #264: Update GUI scripts creation and folder renaming (#270)

* refs #264: Update scripts created for game GUI.

Now the original script attached to a component is copied to the game
folder, and a *_custom.gd is created so that devs can easily modify the
default behavior.

- **upd** Now the `graphic_interface` folder inside the plugin's folder is
  named `gui`.

* refs #264: Fix path issues in some GUI components.

- **fix** Fix type infer bug in Dialog Overhead component.

* Fix GUI theme Panel overwrite issue in Dialog Menu component

refs #264: Fix issues in Sierra and Simple Click GUIs

- **fix** Change mouse_filter in Dialog Portrait component to "IGNORE".
- **fix** Remove unnecessary uses of preload in some GUI components.
- **upd** Improve inheritance of btn_dialog_speed in Simple Click GUI.

refs #264: Deselect active inventory item with RMB in Sierra GUI

- **upd** Add I.deselect_active() and PopochiuInventoryItem.deselect()
  methods to make deselection easier.
- **fix** Update Sierra Inventory popup buttons' atlas texture sizes and positions in order to match the new 24x24 icons.

refs #264: Move Settings button to bottom panel in 9 Verb GUI

Now the button to open the Settings popup in the 9 Verb GUI is located
between the UP and DOWN arrows in its bottom panel.

- **upd** Create custom script for 9 Verb Inventory Grid.

refs #264: 9 Verbs GUI icons are done.

Fix click blocking when using DialogPortrait.

- **upd** Rename the idle animation in Popochiu's default cursor to
match the correct name ("normal").
- **upd** Reduce the custom minimum size of the Popochiud dock since all
those pixels are no longer needed.

refs #264: Padding for Sierra dialog panel.

refs #264: New inventory arrow icons for Sierra GUI.

refs #264: New toolbar icons for SimpleClick GUI.

refs #264: Fixed fonts and outlines for SimpleClick GUI.

refs #264: Add option to hide HoverText when a dialog line is shown

This can be configured by devs with the export variable in the HoverText
component.

- **upd** Hide the GUI tab in Popochiu dock while we define how it
should work.
- **upd** Hide "Use translations" and "Dialog style" options in `Project
Settings > Popochiu > Dialogs`.

refs #264: New icons for dialogue controls.

refs #264: SimpleClick GUI now opens text settings popup. Removed useless setting from the same popup.

refs #264: SimpleClick GUI now shows a confirmation popup before quitting the game.

refs #264: Fixed a visual glitch on Sierra toolbar buttons.

refs #264: Useless SimpleClick icons cleanup.

refs #264: SimpleClick GUI icons are now colored.

refs #264: Fix history button in Simple Click GUI

refs #264: Hide Custom button in Setup popup

We agreed to release Popochiu 2.0 with only 3 GUI options since enabling
the Empty (a.k.a. Custom) GUI will require more documentation to be done
so devs have a guide on how to create their GUIs from zero.

refs #264: SimpleClick GUI icons are now colored - Missing icons.

Fix double-click double-tap issue in DialogText component

refs #264: Update base retro resolution to 356x200
  • Loading branch information
mapedorr committed Sep 8, 2024
1 parent 9dcfe94 commit 3e2c001
Show file tree
Hide file tree
Showing 270 changed files with 3,566 additions and 3,549 deletions.
20 changes: 10 additions & 10 deletions addons/popochiu/editor/config/config.gd
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ enum DialogStyle {
ABOVE_CHARACTER,
PORTRAIT,
CAPTION,
PORTRAIT_ABOVE_CHARACTER,
BUBBLE_ABOVE_CHARACTER,
#PORTRAIT_ABOVE_CHARACTER, # TODO: Create a GUI node to make this option available
#BUBBLE_ABOVE_CHARACTER, # TODO: Create a GUI node to make this option available
}

# Thanks to @drbloop for providing the bases of the new approach for moving the popochiu settings to
Expand Down Expand Up @@ -84,14 +84,14 @@ static func initialize_project_settings():
# ---- Dialogs ---------------------------------------------------------------------------------
_initialize_project_setting(TEXT_SPEED, TYPE_FLOAT, PROPERTY_HINT_RANGE, "0.0,0.1")
_initialize_project_setting(AUTO_CONTINUE_TEXT, TYPE_BOOL)
_initialize_project_setting(USE_TRANSLATIONS, TYPE_BOOL)
_initialize_project_setting(
DIALOG_STYLE,
TYPE_INT,
PROPERTY_HINT_ENUM,
# TODO: Add other options: Portrait Above Character, Bubble Above Character
"Above Character,Portrait,Caption"
)
#_initialize_project_setting(USE_TRANSLATIONS, TYPE_BOOL)
#_initialize_project_setting(
#DIALOG_STYLE,
#TYPE_INT,
#PROPERTY_HINT_ENUM,
## TODO: Add other options: Portrait Above Character, Bubble Above Character
#"Above Character,Portrait,Caption"
#)

# ---- Inventory -------------------------------------------------------------------------------
_initialize_project_setting(INVENTORY_LIMIT, TYPE_INT)
Expand Down
76 changes: 46 additions & 30 deletions addons/popochiu/editor/helpers/popochiu_gui_templates_helper.gd
Original file line number Diff line number Diff line change
Expand Up @@ -44,28 +44,29 @@ static func copy_gui_template(

# ---- Make a copy of the selected GUI template ------------------------------------------------
if _create_scene(scene_path) != OK:
# TODO: Delete the graphic_interface folder and all its contents?
PopochiuUtils.print_error("Couldn't create %s file" % PopochiuResources.GUI_GAME_SCENE)
return

await _wait(2.0)
on_progress.call(10, "Copying a bunch of components")

# Copy the components used by the GUI template to the res://game/graphic_interface/components
# Copy the components used by the GUI template to the res://game/gui/components
# folder so devs can play with them freely -----------------------------------------------------
await copy_components(scene_path, true)

on_progress.call(60, "Creating scripts")

# Create a copy of the corresponding commands template -----------------------------------------
_copy_scripts(commands_template_path, PopochiuResources.GUI_COMMANDS, script_path, scene_path)
_copy_commands_and_gui_scripts(
commands_template_path, PopochiuResources.GUI_COMMANDS, script_path, scene_path
)

await _wait(1.5)
on_progress.call(80, "Assigning scripts")

# Update the script of the created graphic_interface.tscn so it uses the copy created above ----
# Update the script of the created gui.tscn so it uses the copy created above ------------------
if _update_scene_script(script_path) != OK:
PopochiuUtils.print_error("Couldn't update graphic_interface.tscn script")
PopochiuUtils.print_error("Couldn't update gui.tscn script")
return

await _wait()
Expand All @@ -78,8 +79,9 @@ static func copy_gui_template(

on_progress.call(100, "All in place. Thanks for your patience.")
PopochiuUtils.print_normal("[wave]Selected GUI template successfully applied[/wave]")

await _wait()
await PopochiuEditorHelper.filesystem_scanned()

on_complete.call()


Expand Down Expand Up @@ -120,7 +122,7 @@ static func copy_component(source_scene_path: String) -> String:


## Makes a copy of the components used by the original GUI template to the
## **res://game/graphic_interface/components/** folder so devs can play with those scenes without
## **res://game/gui/components/** folder so devs can play with those scenes without
## affecting the ones in the plugin's folder.
static func copy_components(source_scene_path: String, is_gui_game_scene := false) -> void:
var dependencies_to_update: Array[Dictionary] = []
Expand Down Expand Up @@ -160,7 +162,7 @@ static func copy_components(source_scene_path: String, is_gui_game_scene := fals
if is_gui_game_scene and _template_theme_path.is_empty():
# Change the name of the GUI template theme so it differs from the original one
dependency_data.target_path = "%s/%s" % [
target_folder, "graphic_interface_theme.tres"
target_folder, "gui_theme.tres"
]
_template_theme_path = dependency_data.target_path
elif not is_gui_game_scene:
Expand All @@ -177,7 +179,7 @@ static func copy_components(source_scene_path: String, is_gui_game_scene := fals

# --- Make a copy of the original file -----------------------------------------------------
if source_file_path.get_extension() == "gd":
_copy_script(source_file_path, target_folder, dependency_data.target_path)
_copy_component_script(source_file_path, dependency_data.target_path)
else:
_copy_file(source_file_path, target_folder, dependency_data.target_path)

Expand All @@ -204,23 +206,23 @@ static func copy_components(source_scene_path: String, is_gui_game_scene := fals
#endregion

#region Private ####################################################################################
## Create the **graphic_interface.tscn** file as a copy of the selected GUI template scene.
## Create the **gui.tscn** file as a copy of the selected GUI template scene.
## If a template change is being made, all components of the previous template are removed along
## with the **.tscn** file before copying the new one.
static func _create_scene(scene_path: String) -> int:
# Create the res://game/graphic_interface/ folder
# Create the res://game/gui/ folder
if not FileAccess.file_exists(PopochiuResources.GUI_GAME_SCENE):
DirAccess.make_dir_recursive_absolute(PopochiuResources.GUI_GAME_FOLDER)
else:
# Remove the graphic_interface.tscn file
# Remove the gui.tscn file
DirAccess.remove_absolute(PopochiuResources.GUI_GAME_SCENE)
EditorInterface.get_resource_filesystem().scan()

for dir_name: String in DirAccess.get_directories_at(PopochiuResources.GUI_GAME_FOLDER):
_remove_components(PopochiuResources.GUI_GAME_FOLDER + dir_name)

# Make a copy of the selected GUI template (.tscn) and save it in
# res://game/graphic_interface/graphic_interface.tscn ------------------------------------------
# res://game/gui/gui.tscn ------------------------------------------
var gi_scene := load(scene_path).duplicate(true)
gi_scene.resource_path = PopochiuResources.GUI_GAME_SCENE

Expand All @@ -241,22 +243,33 @@ static func _remove_components(dir_path: String) -> void:
EditorInterface.get_resource_filesystem().scan()


static func _copy_script(
source_file_path: String, _target_folder: String, target_file_path: String
## Makes a copy of a GUI component's script.
static func _copy_component_script(
source_file_path: String, target_file_path: String
) -> void:
var file_write = FileAccess.open(target_file_path, FileAccess.WRITE)
# Make a copy of the original script -----------------------------------------------------------
var source_file := FileAccess.open(source_file_path, FileAccess.READ)
var source_code := source_file.get_as_text()
source_file.close()

if load(source_file_path).is_tool():
file_write.store_string("@tool\n")
if "class_name " in source_code:
source_code = source_code.replace("class_name Popochiu", "class_name GUI")

file_write.store_string('extends "%s"' % source_file_path)
var file_write := FileAccess.open(target_file_path, FileAccess.WRITE)
file_write.store_string(source_code)
file_write.close()

# Create a script for devs to overwrite the functionality of the original's copy script --------
file_write = FileAccess.open(target_file_path.replace(".gd", "_custom.gd"), FileAccess.WRITE)
if "@tool" in source_code:
file_write.store_string("@tool\n")
file_write.store_string('extends "%s"' % target_file_path.get_file())


static func _copy_file(
source_file_path: String, target_folder: String, target_file_path: String
) -> void:
# ---- Create a copy of the scene file -----------------------------------------------------
# ---- Create a copy of the scene file ---------------------------------------------------------
if source_file_path.get_extension() in ["tscn", "tres"]:
var file_resource := load(source_file_path).duplicate(true)
file_resource.resource_path = target_file_path
Expand All @@ -278,11 +291,14 @@ static func _update_dependencies(scene_path: String, dependencies_to_update: Arr
file_read.close()

for dic: Dictionary in dependencies_to_update:
text = text.replace(dic.source_path, dic.target_path)
var target_path: String = dic.target_path

var target_uid := ResourceUID.id_to_text(
ResourceLoader.get_resource_uid(dic.target_path)
)
if ".gd" in target_path:
target_path = target_path.replace(".gd", "_custom.gd")

text = text.replace(dic.source_path, target_path)

var target_uid := ResourceUID.id_to_text(ResourceLoader.get_resource_uid(target_path))

if "invalid" in target_uid: continue

Expand All @@ -296,14 +312,14 @@ static func _update_dependencies(scene_path: String, dependencies_to_update: Arr
## Copy the commands and graphic interface scripts of the chosen GUI template. The new graphic
## interface scripts inherits from the one originally assigned to the .tscn file of the selected
## template.
static func _copy_scripts(
static func _copy_commands_and_gui_scripts(
commands_template_path: String, commands_path: String, script_path: String, scene_path: String
) -> void:
DirAccess.copy_absolute(commands_template_path, commands_path)

# Create a copy of the graphic interface script template ---------------------------------------
var template_path := (
PopochiuResources.GUI_SCRIPT_TEMPLATES_FOLDER + "graphic_interface_template.gd"
PopochiuResources.GUI_SCRIPT_TEMPLATES_FOLDER + "gui_template.gd"
)
var script_file := FileAccess.open(template_path, FileAccess.READ)
var source_code := script_file.get_as_text()
Expand All @@ -317,8 +333,8 @@ static func _copy_scripts(
script_file.close()


## Updates the script of the created **res://game/graphic_interface/graphic_interface.tscn** file so
## it uses the one created in `_copy_scripts(...)`.
## Updates the script of the created [b]res://game/gui/gui.tscn[/b] file so it uses the one created
## in [method _copy_commands_and_gui_scripts].
static func _update_scene_script(script_path: String) -> int:
# Update the script of the GUI -----------------------------------------------------------------
var scene := (load(
Expand All @@ -327,7 +343,7 @@ static func _update_scene_script(script_path: String) -> int:
scene.set_script(load(script_path))

# Set the name of the root node
scene.name = "GraphicInterface"
scene.name = "GUI"

var packed_scene: PackedScene = PackedScene.new()
packed_scene.pack(scene)
Expand All @@ -337,7 +353,7 @@ static func _update_scene_script(script_path: String) -> int:


static func _wait(max := 1.0) -> void:
await EditorInterface.get_base_control().get_tree().create_timer(randf_range(0.5, max)).timeout
await PopochiuEditorHelper.secs_passed(randf_range(0.5, max))


#endregion
17 changes: 11 additions & 6 deletions addons/popochiu/editor/main_dock/popochiu_dock.gd
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ signal move_folders_pressed
@onready var tab_main: VBoxContainer = %Main
@onready var tab_room: VBoxContainer = %Room
@onready var tab_audio: VBoxContainer = %Audio
@onready var tab_ui: VBoxContainer = %UI
@onready var tab_gui: VBoxContainer = %GUI
# ---- FOOTER --------------------------------------------------------------------------------------
@onready var version: Label = %Version
@onready var btn_setup: Button = %BtnSetup
Expand All @@ -23,6 +23,9 @@ func _ready() -> void:
# Set the Main tab selected by default
tab_container.current_tab = 0

# Hide the GUI tab while we decide how it will work based on devs feedback
tab_container.set_tab_hidden(tab_gui.get_index(), true)

# Connect to childrens' signals
tab_container.tab_changed.connect(_on_tab_changed)
btn_setup.pressed.connect(open_setup)
Expand All @@ -44,14 +47,16 @@ func scene_changed(scene_root: Node) -> void:
if not is_instance_valid(tab_room): return
tab_room.scene_changed(scene_root)

if not is_instance_valid(tab_ui): return
tab_ui.on_scene_changed(scene_root)
# TODO: Uncomment these lines when working on the GUI tab again
#if not is_instance_valid(tab_gui): return
#tab_gui.on_scene_changed(scene_root)

if (
not scene_root
or (
not scene_root is PopochiuRoom
and not scene_root.scene_file_path == PopochiuResources.GUI_GAME_SCENE
# TODO: Uncomment this line when working on the GUI tab again
#and not scene_root.scene_file_path == PopochiuResources.GUI_GAME_SCENE
)
):
# Open the Popochiu Main tab if the opened scene in the Editor2D is not a PopochiuRoom nor
Expand Down Expand Up @@ -81,8 +86,8 @@ func _on_tab_changed(tab: int) -> void:
if tab == tab_main.get_index():
tab_main.check_data()

if tab == tab_ui.get_index():
tab_ui.open_gui_scene()
if tab == tab_gui.get_index():
tab_gui.open_gui_scene()


func _check_node(node: Node) -> void:
Expand Down
17 changes: 9 additions & 8 deletions addons/popochiu/editor/main_dock/popochiu_dock.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

[ext_resource type="PackedScene" uid="uid://bynwdds8o3tcx" path="res://addons/popochiu/editor/main_dock/tab_main/tab_main.tscn" id="2_oxyje"]
[ext_resource type="Script" path="res://addons/popochiu/editor/main_dock/popochiu_dock.gd" id="7"]
[ext_resource type="PackedScene" uid="uid://4etgd0rwjgct" path="res://addons/popochiu/editor/main_dock/tab_ui/tab_ui.tscn" id="10_82goo"]
[ext_resource type="PackedScene" uid="uid://4etgd0rwjgct" path="res://addons/popochiu/editor/main_dock/tab_gui/tab_gui.tscn" id="10_82goo"]
[ext_resource type="PackedScene" uid="uid://q1bjkxavt2ay" path="res://addons/popochiu/editor/main_dock/tab_room/tab_room.tscn" id="12"]
[ext_resource type="PackedScene" uid="uid://bpj8jlet25coy" path="res://addons/popochiu/editor/main_dock/tab_audio/tab_audio.tscn" id="13"]

[sub_resource type="Image" id="Image_dpguj"]
[sub_resource type="Image" id="Image_q4a6k"]
data = {
"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
"format": "RGBA8",
Expand All @@ -15,12 +15,12 @@ data = {
"width": 16
}

[sub_resource type="ImageTexture" id="ImageTexture_gerh2"]
image = SubResource("Image_dpguj")
[sub_resource type="ImageTexture" id="ImageTexture_e4obm"]
image = SubResource("Image_q4a6k")

[node name="Popochiu" type="Panel"]
clip_contents = true
custom_minimum_size = Vector2(408, 0)
custom_minimum_size = Vector2(320, 0)
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
Expand All @@ -45,6 +45,7 @@ unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
current_tab = 0

[node name="Main" parent="MarginContainer/VBoxContainer/TabContainer" instance=ExtResource("2_oxyje")]
unique_name_in_owner = true
Expand All @@ -64,7 +65,7 @@ layout_mode = 2
focus_mode = 2
metadata/_tab_index = 2

[node name="UI" parent="MarginContainer/VBoxContainer/TabContainer" instance=ExtResource("10_82goo")]
[node name="GUI" parent="MarginContainer/VBoxContainer/TabContainer" instance=ExtResource("10_82goo")]
unique_name_in_owner = true
visible = false
layout_mode = 2
Expand All @@ -89,11 +90,11 @@ unique_name_in_owner = true
layout_mode = 2
tooltip_text = "Opens wiki in web browser"
text = "Setup"
icon = SubResource("ImageTexture_gerh2")
icon = SubResource("ImageTexture_e4obm")

[node name="BtnDocs" type="Button" parent="MarginContainer/VBoxContainer/FooterPanel/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
tooltip_text = "Opens wiki in web browser"
text = "Documentation"
icon = SubResource("ImageTexture_gerh2")
icon = SubResource("ImageTexture_e4obm")
Loading

0 comments on commit 3e2c001

Please sign in to comment.