First commit 🎉

This commit is contained in:
Tony Bark 2025-07-17 01:49:18 -04:00
commit 43ea213f9b
728 changed files with 37080 additions and 0 deletions

View file

@ -0,0 +1,37 @@
extends Control
@export var score := 0
@export var max_score := 100
@onready var lbl_game_name: Label = %LblGameName
@onready var lbl_score: Label = %LblScore
#region Public #####################################################################################
func set_game_name(game_name: String) -> void:
lbl_game_name.text = game_name
func reset_score() -> void:
score = 0
_update_text()
func add_score(value: int) -> void:
score += value
_update_text()
func subtract_score(value: int) -> void:
score -= value
_update_text()
#endregion
#region Private ####################################################################################
func _update_text() -> void:
lbl_score.text = "%d/%d" % [score, max_score]
#endregion

View file

@ -0,0 +1,42 @@
[gd_scene load_steps=4 format=3 uid="uid://cv2o5p3gp1fgx"]
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_26r7d"]
[ext_resource type="PackedScene" uid="uid://esorelppu4hw" path="res://addons/popochiu/engine/objects/gui/components/hover_text/hover_text.tscn" id="1_tlpex"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_bar/sierra_bar.gd" id="2_u87it"]
[node name="SierraBar" type="Control" groups=["popochiu_gui_component"]]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme = ExtResource("1_26r7d")
script = ExtResource("2_u87it")
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 15.0
grow_horizontal = 2
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="LblGameName" type="Label" parent="PanelContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Sierra GUI"
[node name="HoverText" parent="PanelContainer/HBoxContainer" instance=ExtResource("1_tlpex")]
layout_mode = 2
size_flags_horizontal = 3
theme = null
[node name="LblScore" type="Label" parent="PanelContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Score: 0"

View file

@ -0,0 +1,19 @@
extends TextureButton
@export var command: SierraCommands.Commands = 0
#region Godot ######################################################################################
func _ready() -> void:
toggled.connect(on_toggled)
#endregion
#region Public #####################################################################################
func on_toggled(is_pressed: bool) -> void:
if is_pressed:
PopochiuUtils.e.current_command = command
#endregion

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cqbvve00a0t28"
path="res://.godot/imported/btn_down.png-12b18f18ccfb54bf98274b28b5007301.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/images/btn_down.png"
dest_files=["res://.godot/imported/btn_down.png-12b18f18ccfb54bf98274b28b5007301.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bhhrpk5utqhm7"
path="res://.godot/imported/btn_up.png-696879c6c7b5785fe7036ec4187fb9d5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/images/btn_up.png"
dest_files=["res://.godot/imported/btn_up.png-696879c6c7b5785fe7036ec4187fb9d5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -0,0 +1,4 @@
[gd_resource type="ButtonGroup" format=3 uid="uid://dyskyd66yevlj"]
[resource]
resource_name = "SierraInventoryButtonGroup"

View file

@ -0,0 +1,98 @@
[gd_scene load_steps=14 format=3 uid="uid://26dqxcqhmj44"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/components/inventory_grid/inventory_grid.gd" id="1_3bsof"]
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_8acwo"]
[ext_resource type="PackedScene" uid="uid://yw6qpn52gnp5" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/sierra_inventory_slot/sierra_inventory_slot.tscn" id="2_l732n"]
[ext_resource type="Texture2D" uid="uid://bhhrpk5utqhm7" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/images/btn_up.png" id="3_f4xq7"]
[ext_resource type="Texture2D" uid="uid://cqbvve00a0t28" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/images/btn_down.png" id="4_ptth4"]
[sub_resource type="AtlasTexture" id="AtlasTexture_f4cmp"]
atlas = ExtResource("3_f4xq7")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_0587n"]
atlas = ExtResource("3_f4xq7")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_331sn"]
atlas = ExtResource("3_f4xq7")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_d48vi"]
atlas = ExtResource("3_f4xq7")
region = Rect2(48, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_phqhs"]
atlas = ExtResource("4_ptth4")
region = Rect2(0, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_i0t7f"]
atlas = ExtResource("4_ptth4")
region = Rect2(32, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_pyaw7"]
atlas = ExtResource("4_ptth4")
region = Rect2(16, 0, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_wnjlk"]
atlas = ExtResource("4_ptth4")
region = Rect2(48, 0, 16, 16)
[node name="SierraInventoryGrid" type="HBoxContainer"]
offset_right = 158.0
offset_bottom = 64.0
size_flags_horizontal = 3
size_flags_vertical = 3
mouse_filter = 0
theme = ExtResource("1_8acwo")
script = ExtResource("1_3bsof")
slot_scene = ExtResource("2_l732n")
columns = 5
visible_rows = 3
number_of_slots = 20
h_separation = 2
v_separation = 2
[node name="ScrollContainer" type="ScrollContainer" parent="."]
custom_minimum_size = Vector2(128, 76)
layout_mode = 2
size_flags_horizontal = 3
scroll_vertical_custom_step = 27.0
horizontal_scroll_mode = 3
vertical_scroll_mode = 3
[node name="Box" type="GridContainer" parent="ScrollContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 3
theme_override_constants/h_separation = 2
theme_override_constants/v_separation = 2
columns = 5
[node name="ScrollButtons" type="VBoxContainer" parent="."]
custom_minimum_size = Vector2(16, 0)
layout_mode = 2
theme_override_constants/separation = 0
[node name="Up" type="TextureButton" parent="ScrollButtons"]
unique_name_in_owner = true
texture_filter = 1
layout_mode = 2
size_flags_vertical = 3
texture_normal = SubResource("AtlasTexture_f4cmp")
texture_pressed = SubResource("AtlasTexture_0587n")
texture_hover = SubResource("AtlasTexture_331sn")
texture_disabled = SubResource("AtlasTexture_d48vi")
stretch_mode = 3
[node name="Down" type="TextureButton" parent="ScrollButtons"]
unique_name_in_owner = true
texture_filter = 1
layout_mode = 2
size_flags_vertical = 3
texture_normal = SubResource("AtlasTexture_phqhs")
texture_pressed = SubResource("AtlasTexture_i0t7f")
texture_hover = SubResource("AtlasTexture_pyaw7")
texture_disabled = SubResource("AtlasTexture_wnjlk")
stretch_mode = 3

View file

@ -0,0 +1,67 @@
@tool
extends PopochiuPopup
var _command_when_opened: int = -1
@onready var interact: TextureButton = %Interact
@onready var look: TextureButton = %Look
@onready var talk: TextureButton = %Talk
#region Godot ######################################################################################
func _ready() -> void:
super()
interact.pressed.connect(_on_interact_pressed)
look.pressed.connect(_on_look_pressed)
talk.pressed.connect(_on_talk_pressed)
#endregion
#region Virtual ####################################################################################
func _open() -> void:
_command_when_opened = PopochiuUtils.e.current_command
PopochiuUtils.e.current_command = -1
for button: TextureButton in %CommandsContainer.get_children():
button.set_pressed_no_signal(false)
func _close() -> void:
if PopochiuUtils.i.active:
PopochiuUtils.cursor.set_secondary_cursor_texture(PopochiuUtils.i.active.texture)
PopochiuUtils.cursor.hide_main_cursor()
else:
if PopochiuUtils.e.current_command == -1:
PopochiuUtils.e.current_command = _command_when_opened
PopochiuUtils.cursor.show_cursor(PopochiuUtils.e.get_current_command_name().to_snake_case())
#endregion
#region Private ####################################################################################
func _on_interact_pressed() -> void:
_select_command(SierraCommands.Commands.INTERACT)
func _on_look_pressed() -> void:
_select_command(SierraCommands.Commands.LOOK)
func _on_talk_pressed() -> void:
_select_command(SierraCommands.Commands.TALK)
func _select_command(command: int) -> void:
if is_instance_valid(PopochiuUtils.i.active):
PopochiuUtils.i.active = null
PopochiuUtils.e.current_command = command
# Force changing the cursor passing `true` as second parameter
PopochiuUtils.cursor.show_cursor(PopochiuUtils.e.get_current_command_name().to_snake_case(), true)
#endregion

View file

@ -0,0 +1,195 @@
[gd_scene load_steps=31 format=3 uid="uid://dc7crw22yevoo"]
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_ok1rg"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/sierra_inventory_popup.gd" id="2_xj17e"]
[ext_resource type="Texture2D" uid="uid://cmxrewai8t2lm" path="res://addons/popochiu/engine/objects/gui/resources/images/close.png" id="3_7aa5u"]
[ext_resource type="Texture2D" uid="uid://p32i25numi5e" path="res://addons/popochiu/engine/objects/gui/resources/images/close_highlight.png" id="4_vd0bg"]
[ext_resource type="PackedScene" uid="uid://26dqxcqhmj44" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/sierra_inventory_grid.tscn" id="5_i15hx"]
[ext_resource type="ButtonGroup" uid="uid://dyskyd66yevlj" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/sierra_inventory_button_group.tres" id="6_gcms1"]
[ext_resource type="Texture2D" uid="uid://mbfkdny6pub7" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_interact.png" id="7_ietfy"]
[ext_resource type="Texture2D" uid="uid://57nl6xfjetoe" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_look.png" id="8_m3ulb"]
[ext_resource type="Texture2D" uid="uid://b5vpolfm4o5f4" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_talk.png" id="9_ur807"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_0yihc"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_d512i"]
content_margin_left = 0.0
content_margin_top = 0.0
content_margin_right = 0.0
content_margin_bottom = 0.0
bg_color = Color(0, 0, 0, 0.705882)
expand_margin_left = 4.0
expand_margin_top = 4.0
expand_margin_right = 4.0
expand_margin_bottom = 4.0
[sub_resource type="AtlasTexture" id="AtlasTexture_t6f3x"]
atlas = ExtResource("7_ietfy")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_2tl6r"]
atlas = ExtResource("7_ietfy")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_u6es1"]
atlas = ExtResource("7_ietfy")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_3r3in"]
atlas = ExtResource("8_m3ulb")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_2idn6"]
atlas = ExtResource("8_m3ulb")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_mndsc"]
atlas = ExtResource("8_m3ulb")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_hb12v"]
atlas = ExtResource("9_ur807")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_b4bqk"]
atlas = ExtResource("9_ur807")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_w2dlm"]
atlas = ExtResource("9_ur807")
region = Rect2(0, 24, 24, 24)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rqb31"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3xhdb"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vkbfs"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_lha4x"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ba8hg"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ksnpe"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7a16g"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_g5f4c"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7d0vl"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dpu0r"]
[node name="SierraInventoryPopup" type="Control" groups=["popochiu_gui_popup"]]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_ok1rg")
script = ExtResource("2_xj17e")
script_name = &"SierraInventoryPopup"
title = "Inventory"
[node name="Overlay" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_0yihc")
[node name="PanelContainer" type="PanelContainer" parent="Overlay"]
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme_override_styles/panel = SubResource("StyleBoxFlat_d512i")
[node name="VBoxContainer" type="VBoxContainer" parent="Overlay/PanelContainer"]
layout_mode = 2
[node name="HeaderContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
layout_mode = 2
[node name="Title" type="Label" parent="Overlay/PanelContainer/VBoxContainer/HeaderContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "Inventory"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Close" type="TextureButton" parent="Overlay/PanelContainer/VBoxContainer/HeaderContainer"]
unique_name_in_owner = true
texture_filter = 1
layout_mode = 2
size_flags_vertical = 4
texture_normal = ExtResource("3_7aa5u")
texture_pressed = ExtResource("4_vd0bg")
texture_hover = ExtResource("4_vd0bg")
[node name="SierraInventoryGrid" parent="Overlay/PanelContainer/VBoxContainer" instance=ExtResource("5_i15hx")]
layout_mode = 2
[node name="FooterContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 10
[node name="CommandsContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer"]
unique_name_in_owner = true
layout_mode = 2
[node name="Interact" type="TextureButton" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer/CommandsContainer"]
unique_name_in_owner = true
texture_filter = 1
layout_mode = 2
toggle_mode = true
button_group = ExtResource("6_gcms1")
texture_normal = SubResource("AtlasTexture_t6f3x")
texture_pressed = SubResource("AtlasTexture_2tl6r")
texture_hover = SubResource("AtlasTexture_u6es1")
[node name="Look" type="TextureButton" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer/CommandsContainer"]
unique_name_in_owner = true
texture_filter = 1
layout_mode = 2
toggle_mode = true
button_group = ExtResource("6_gcms1")
texture_normal = SubResource("AtlasTexture_3r3in")
texture_pressed = SubResource("AtlasTexture_2idn6")
texture_hover = SubResource("AtlasTexture_mndsc")
[node name="Talk" type="TextureButton" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer/CommandsContainer"]
unique_name_in_owner = true
texture_filter = 1
layout_mode = 2
toggle_mode = true
button_group = ExtResource("6_gcms1")
texture_normal = SubResource("AtlasTexture_hb12v")
texture_pressed = SubResource("AtlasTexture_b4bqk")
texture_hover = SubResource("AtlasTexture_w2dlm")
[node name="Ok" type="Button" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_styles/focus = SubResource("StyleBoxEmpty_rqb31")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_3xhdb")
theme_override_styles/hover = SubResource("StyleBoxEmpty_vkbfs")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_lha4x")
theme_override_styles/normal = SubResource("StyleBoxEmpty_ba8hg")
text = "OK"
[node name="Cancel" type="Button" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_styles/focus = SubResource("StyleBoxEmpty_ksnpe")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_7a16g")
theme_override_styles/hover = SubResource("StyleBoxEmpty_g5f4c")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_7d0vl")
theme_override_styles/normal = SubResource("StyleBoxEmpty_dpu0r")
text = "Back"

View file

@ -0,0 +1,76 @@
extends PanelContainer
@export var hover_color := Color("ffffff")
@export var selected_color := Color("edf171")
var _is_selected := false
@onready var _style_box_flat: StyleBoxFlat = get_theme_stylebox("panel").duplicate()
@onready var _dflt_border_color := _style_box_flat.border_color
#region Godot ######################################################################################
func _ready() -> void:
add_theme_stylebox_override("panel", _style_box_flat)
# Connect to own signals
mouse_entered.connect(_on_mouse_entered)
mouse_exited.connect(_on_mouse_exited)
child_entered_tree.connect(_on_item_assigned)
child_exiting_tree.connect(_on_item_removed)
#endregion
#region Public #####################################################################################
func get_content_height() -> float:
# Subtract the value of the sum of the top and bottom borders of the StyleBoxFlat of this slot
return size.y - 2
#endregion
#region Private ####################################################################################
func _on_mouse_entered() -> void:
_style_box_flat.border_color = hover_color
func _on_mouse_exited() -> void:
_style_box_flat.border_color = _dflt_border_color if not _is_selected else selected_color
func _on_item_assigned(node: Node) -> void:
if not node is PopochiuInventoryItem:
return
var inventory_item: PopochiuInventoryItem = node
inventory_item.mouse_entered.connect(_on_mouse_entered)
inventory_item.mouse_exited.connect(_on_mouse_exited)
inventory_item.selected.connect(_on_item_selected)
inventory_item.unselected.connect(_on_item_unselected)
func _on_item_removed(node: Node) -> void:
if not node is PopochiuInventoryItem:
return
var inventory_item: PopochiuInventoryItem = node
inventory_item.mouse_entered.disconnect(_on_mouse_entered)
inventory_item.mouse_exited.disconnect(_on_mouse_exited)
inventory_item.selected.disconnect(_on_item_selected)
inventory_item.unselected.disconnect(_on_item_unselected)
func _on_item_selected(item: PopochiuInventoryItem) -> void:
_style_box_flat.border_color = selected_color
_is_selected = true
func _on_item_unselected() -> void:
_is_selected = false
_style_box_flat.border_color = _dflt_border_color
#endregion

View file

@ -0,0 +1,18 @@
[gd_scene load_steps=4 format=3 uid="uid://yw6qpn52gnp5"]
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_6ds34"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/sierra_inventory_slot/sierra_inventory_slot.gd" id="1_ettj2"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_7pmgd"]
draw_center = false
border_width_left = 1
border_width_top = 1
border_width_right = 1
border_width_bottom = 1
border_color = Color(0.482353, 0.482353, 0.482353, 1)
[node name="SierraInventorySlot" type="PanelContainer"]
custom_minimum_size = Vector2(24, 24)
theme = ExtResource("1_6ds34")
theme_override_styles/panel = SubResource("StyleBoxFlat_7pmgd")
script = ExtResource("1_ettj2")

View file

@ -0,0 +1,20 @@
extends HBoxContainer
#region Godot ######################################################################################
func _ready() -> void:
PopochiuUtils.e.command_selected.connect(_on_command_selected)
#endregion
#region Public #####################################################################################
func _on_command_selected() -> void:
for b in get_children():
(b as TextureButton).set_pressed_no_signal(false)
(get_child(PopochiuUtils.e.current_command) as TextureButton).set_pressed_no_signal(true)
PopochiuUtils.cursor.show_cursor(PopochiuUtils.e.get_current_command_name().to_snake_case())
#endregion

View file

@ -0,0 +1,78 @@
extends Control
## Defines the height in pixels of the zone where moving the mouse in the top of the screen will
## make the bar to show. Note: This value will be affected by the Experimental Scale GUI checkbox
## in Project Settings > Popochiu > GUI.
@export var input_zone_height := 4
@onready var panel_container: PanelContainer = $PanelContainer
@onready var inventory = %Inventory
@onready var settings = %Settings
@onready var help = %Help
@onready var quit = %Quit
#region Godot ######################################################################################
func _ready():
inventory.pressed.connect(_on_inventory_pressed)
settings.pressed.connect(_on_settings_pressed)
help.pressed.connect(_on_help_pressed)
quit.pressed.connect(_on_quit_pressed)
hide()
func _input(event: InputEvent) -> void:
if PopochiuUtils.g.is_blocked: return
if event is InputEventMouseMotion:
var rect := panel_container.get_rect()
if not visible:
rect.size.y = input_zone_height
if PopochiuUtils.e.settings.scale_gui:
rect = Rect2(
panel_container.get_rect().position * PopochiuUtils.e.scale,
(Vector2(
panel_container.get_rect().size.x,
panel_container.get_rect().size.y if visible
else panel_container.get_rect().size.y / 2.0
)) * PopochiuUtils.e.scale
)
if not visible and rect.has_point(get_global_mouse_position()):
# Show the top menu
if not PopochiuUtils.i.active:
PopochiuUtils.cursor.show_cursor("gui")
show()
elif visible and not rect.has_point(get_global_mouse_position()):
# Hide the top menu
if not PopochiuUtils.i.active:
PopochiuUtils.cursor.show_cursor(PopochiuUtils.e.get_current_command_name().to_snake_case())
hide()
#endregion
#region Private ####################################################################################
func _on_inventory_pressed() -> void:
hide()
PopochiuUtils.g.popup_requested.emit("SierraInventoryPopup")
func _on_settings_pressed() -> void:
hide()
PopochiuUtils.g.popup_requested.emit("SierraSettingsPopup")
func _on_help_pressed() -> void:
# TODO: Open the help popup
pass
func _on_quit_pressed() -> void:
PopochiuUtils.g.popup_requested.emit("QuitPopup")
#endregion

View file

@ -0,0 +1,204 @@
[gd_scene load_steps=35 format=3 uid="uid://bhx2hkpkjs7dk"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_menu/sierra_menu.gd" id="1_8uwkl"]
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_ocp4m"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_menu/sierra_commands_container.gd" id="2_3ic0i"]
[ext_resource type="Texture2D" uid="uid://cnxdologw7ax8" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_walk.png" id="2_eg6ow"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_command_button/sierra_command_button.gd" id="3_lg2l4"]
[ext_resource type="Texture2D" uid="uid://57nl6xfjetoe" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_look.png" id="4_sthn3"]
[ext_resource type="Texture2D" uid="uid://mbfkdny6pub7" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_interact.png" id="5_3vslp"]
[ext_resource type="Texture2D" uid="uid://b5vpolfm4o5f4" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_talk.png" id="6_0y8dr"]
[ext_resource type="Texture2D" uid="uid://binqewyag102g" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_inventory.png" id="8_uijy7"]
[ext_resource type="Texture2D" uid="uid://d3hyq5v4c2seb" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_settings.png" id="9_g1qod"]
[ext_resource type="Texture2D" uid="uid://djve4vu1lpi34" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_help.png" id="10_bvuyo"]
[ext_resource type="Texture2D" uid="uid://c1gik8lkdekx4" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_quit.png" id="11_marqj"]
[sub_resource type="AtlasTexture" id="AtlasTexture_csu2p"]
atlas = ExtResource("2_eg6ow")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_ylk7h"]
atlas = ExtResource("2_eg6ow")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_ao1oe"]
atlas = ExtResource("2_eg6ow")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_irg4s"]
atlas = ExtResource("4_sthn3")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_sijr3"]
atlas = ExtResource("4_sthn3")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_msotb"]
atlas = ExtResource("4_sthn3")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_u5ilp"]
atlas = ExtResource("5_3vslp")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_nkumn"]
atlas = ExtResource("5_3vslp")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_ddbjm"]
atlas = ExtResource("5_3vslp")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_r0y6q"]
atlas = ExtResource("6_0y8dr")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_yyrpv"]
atlas = ExtResource("6_0y8dr")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_m2m36"]
atlas = ExtResource("6_0y8dr")
region = Rect2(0, 24, 24, 24)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_a3v2b"]
[sub_resource type="AtlasTexture" id="AtlasTexture_uvguw"]
atlas = ExtResource("8_uijy7")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_mdjye"]
atlas = ExtResource("8_uijy7")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_odwa6"]
atlas = ExtResource("8_uijy7")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_wy7fm"]
atlas = ExtResource("9_g1qod")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_eccvv"]
atlas = ExtResource("9_g1qod")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_0ahol"]
atlas = ExtResource("9_g1qod")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_f8jt5"]
atlas = ExtResource("11_marqj")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_c0o1t"]
atlas = ExtResource("11_marqj")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_hs767"]
atlas = ExtResource("11_marqj")
region = Rect2(0, 24, 24, 24)
[node name="SierraMenu" type="Control" groups=["popochiu_gui_component"]]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme = ExtResource("1_ocp4m")
script = ExtResource("1_8uwkl")
[node name="PanelContainer" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 24.0
grow_horizontal = 2
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 0
[node name="SierraCommandsContainer" type="HBoxContainer" parent="PanelContainer/HBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 0
script = ExtResource("2_3ic0i")
[node name="Walk" type="TextureButton" parent="PanelContainer/HBoxContainer/SierraCommandsContainer"]
texture_filter = 1
layout_mode = 2
toggle_mode = true
texture_normal = SubResource("AtlasTexture_csu2p")
texture_pressed = SubResource("AtlasTexture_ylk7h")
texture_hover = SubResource("AtlasTexture_ao1oe")
script = ExtResource("3_lg2l4")
[node name="Look" type="TextureButton" parent="PanelContainer/HBoxContainer/SierraCommandsContainer"]
texture_filter = 1
layout_mode = 2
toggle_mode = true
texture_normal = SubResource("AtlasTexture_irg4s")
texture_pressed = SubResource("AtlasTexture_sijr3")
texture_hover = SubResource("AtlasTexture_msotb")
script = ExtResource("3_lg2l4")
command = 1
[node name="Interact" type="TextureButton" parent="PanelContainer/HBoxContainer/SierraCommandsContainer"]
texture_filter = 1
layout_mode = 2
toggle_mode = true
texture_normal = SubResource("AtlasTexture_u5ilp")
texture_pressed = SubResource("AtlasTexture_nkumn")
texture_hover = SubResource("AtlasTexture_ddbjm")
script = ExtResource("3_lg2l4")
command = 2
[node name="Talk" type="TextureButton" parent="PanelContainer/HBoxContainer/SierraCommandsContainer"]
texture_filter = 1
layout_mode = 2
toggle_mode = true
texture_normal = SubResource("AtlasTexture_r0y6q")
texture_pressed = SubResource("AtlasTexture_yyrpv")
texture_hover = SubResource("AtlasTexture_m2m36")
script = ExtResource("3_lg2l4")
command = 3
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/HBoxContainer"]
texture_filter = 1
layout_mode = 2
size_flags_horizontal = 3
theme_override_styles/panel = SubResource("StyleBoxEmpty_a3v2b")
[node name="Inventory" type="TextureButton" parent="PanelContainer/HBoxContainer"]
unique_name_in_owner = true
texture_filter = 1
layout_mode = 2
texture_normal = SubResource("AtlasTexture_uvguw")
texture_pressed = SubResource("AtlasTexture_mdjye")
texture_hover = SubResource("AtlasTexture_odwa6")
[node name="Settings" type="TextureButton" parent="PanelContainer/HBoxContainer"]
unique_name_in_owner = true
texture_filter = 1
layout_mode = 2
texture_normal = SubResource("AtlasTexture_wy7fm")
texture_pressed = SubResource("AtlasTexture_eccvv")
texture_hover = SubResource("AtlasTexture_0ahol")
[node name="Help" type="TextureButton" parent="PanelContainer/HBoxContainer"]
unique_name_in_owner = true
visible = false
texture_filter = 1
layout_mode = 2
texture_normal = ExtResource("10_bvuyo")
[node name="Quit" type="TextureButton" parent="PanelContainer/HBoxContainer"]
unique_name_in_owner = true
visible = false
texture_filter = 1
layout_mode = 2
texture_normal = SubResource("AtlasTexture_f8jt5")
texture_pressed = SubResource("AtlasTexture_c0o1t")
texture_hover = SubResource("AtlasTexture_hs767")

View file

@ -0,0 +1,42 @@
@tool
extends PopochiuPopup
signal option_selected(option_name)
@onready var save: Button = %Save
@onready var load: Button = %Load
@onready var sound: Button = %Sound
@onready var text: Button = %Text
@onready var quit: Button = %Quit
#region Godot ######################################################################################
func _ready() -> void:
super()
if Engine.is_editor_hint(): return
# Connect to childrens' signals
save.pressed.connect(_on_option_pressed.bind("save"))
load.pressed.connect(_on_option_pressed.bind("load"))
sound.pressed.connect(_on_option_pressed.bind("sound"))
text.pressed.connect(_on_option_pressed.bind("text"))
quit.pressed.connect(_on_option_pressed.bind("quit"))
# Connect to autoloads signals
# Fix #219: Close the popup whenever a slot is selected for saving or loading
PopochiuUtils.e.game_saved.connect(close)
PopochiuUtils.e.game_load_started.connect(close)
if OS.has_feature("web"):
quit.hide()
#endregion
#region Private ####################################################################################
func _on_option_pressed(option_name: String) -> void:
option_selected.emit(option_name)
#endregion

View file

@ -0,0 +1,111 @@
[gd_scene load_steps=7 format=3 uid="uid://c24vj4s0u08jr"]
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_mo7nx"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_settings_popup/sierra_settings_popup.gd" id="2_3iqg8"]
[ext_resource type="Texture2D" uid="uid://cmxrewai8t2lm" path="res://addons/popochiu/engine/objects/gui/resources/images/close.png" id="3_65lvt"]
[ext_resource type="StyleBox" uid="uid://dbajakvkltfaj" path="res://addons/popochiu/engine/objects/gui/components/popups/popochiu_popup_panel_container.tres" id="3_qdhes"]
[ext_resource type="Texture2D" uid="uid://p32i25numi5e" path="res://addons/popochiu/engine/objects/gui/resources/images/close_highlight.png" id="4_38rye"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_fkove"]
[node name="SierraSettingsPopup" type="Control" groups=["popochiu_gui_popup"]]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_mo7nx")
script = ExtResource("2_3iqg8")
script_name = &"SierraSettingsPopup"
title = "Options"
[node name="Overlay" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_fkove")
[node name="PanelContainer" type="PanelContainer" parent="Overlay"]
custom_minimum_size = Vector2(120, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme_override_styles/panel = ExtResource("3_qdhes")
[node name="VBoxContainer" type="VBoxContainer" parent="Overlay/PanelContainer"]
layout_mode = 2
[node name="HeaderContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
layout_mode = 2
[node name="Title" type="Label" parent="Overlay/PanelContainer/VBoxContainer/HeaderContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "Options"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Close" type="TextureButton" parent="Overlay/PanelContainer/VBoxContainer/HeaderContainer"]
unique_name_in_owner = true
visible = false
texture_filter = 1
layout_mode = 2
size_flags_vertical = 4
texture_normal = ExtResource("3_65lvt")
texture_pressed = ExtResource("4_38rye")
texture_hover = ExtResource("4_38rye")
[node name="BodyContainer" type="VBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
custom_minimum_size = Vector2(112, 0)
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer/BodyContainer"]
layout_mode = 2
[node name="Save" type="Button" parent="Overlay/PanelContainer/VBoxContainer/BodyContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "Save"
[node name="Load" type="Button" parent="Overlay/PanelContainer/VBoxContainer/BodyContainer/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "Load"
[node name="Sound" type="Button" parent="Overlay/PanelContainer/VBoxContainer/BodyContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Sound options"
[node name="Text" type="Button" parent="Overlay/PanelContainer/VBoxContainer/BodyContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Text options"
[node name="Quit" type="Button" parent="Overlay/PanelContainer/VBoxContainer/BodyContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Quit"
[node name="FooterContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 10
alignment = 1
[node name="Ok" type="Button" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
text = "OK"
[node name="Cancel" type="Button" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Back"

View file

@ -0,0 +1,81 @@
[gd_scene load_steps=8 format=3 uid="uid://mh7ymcslp4xv"]
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_wcf4y"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/components/popups/popochiu_popup.gd" id="2_mv3ym"]
[ext_resource type="Texture2D" uid="uid://cmxrewai8t2lm" path="res://addons/popochiu/engine/objects/gui/resources/images/close.png" id="3_3cpvg"]
[ext_resource type="StyleBox" uid="uid://dbajakvkltfaj" path="res://addons/popochiu/engine/objects/gui/components/popups/popochiu_popup_panel_container.tres" id="3_bth8c"]
[ext_resource type="Texture2D" uid="uid://p32i25numi5e" path="res://addons/popochiu/engine/objects/gui/resources/images/close_highlight.png" id="4_5cjf6"]
[ext_resource type="PackedScene" uid="uid://drx0r8w00ivck" path="res://addons/popochiu/engine/objects/gui/components/sound_volumes/sound_volumes.tscn" id="5_tjqww"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ygj01"]
[node name="SierraSoundPopup" type="Control" groups=["popochiu_gui_popup"]]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_wcf4y")
script = ExtResource("2_mv3ym")
script_name = &"SierraSoundPopup"
title = "Sound options"
[node name="Overlay" type="PanelContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxEmpty_ygj01")
[node name="PanelContainer" type="PanelContainer" parent="Overlay"]
custom_minimum_size = Vector2(0, 140)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme_override_styles/panel = ExtResource("3_bth8c")
[node name="VBoxContainer" type="VBoxContainer" parent="Overlay/PanelContainer"]
layout_mode = 2
[node name="HeaderContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
layout_mode = 2
[node name="Title" type="Label" parent="Overlay/PanelContainer/VBoxContainer/HeaderContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
text = "Sound options"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Close" type="TextureButton" parent="Overlay/PanelContainer/VBoxContainer/HeaderContainer"]
unique_name_in_owner = true
visible = false
texture_filter = 1
layout_mode = 2
size_flags_vertical = 4
texture_normal = ExtResource("3_3cpvg")
texture_pressed = ExtResource("4_5cjf6")
texture_hover = ExtResource("4_5cjf6")
[node name="SoundVolumes" parent="Overlay/PanelContainer/VBoxContainer" instance=ExtResource("5_tjqww")]
layout_mode = 2
[node name="FooterContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 10
alignment = 1
[node name="Ok" type="Button" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer"]
unique_name_in_owner = true
visible = false
layout_mode = 2
text = "OK"
[node name="Cancel" type="Button" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Back"

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djve4vu1lpi34"
path="res://.godot/imported/btn_help.png-592c502a90463f8cda0e6f4947df41be.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_help.png"
dest_files=["res://.godot/imported/btn_help.png-592c502a90463f8cda0e6f4947df41be.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://mbfkdny6pub7"
path="res://.godot/imported/btn_interact.png-70e04edd4fb17ba2c34cabb13d7856ce.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_interact.png"
dest_files=["res://.godot/imported/btn_interact.png-70e04edd4fb17ba2c34cabb13d7856ce.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://binqewyag102g"
path="res://.godot/imported/btn_inventory.png-3f4bfa91c4fca8542ad5cce586f0d975.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_inventory.png"
dest_files=["res://.godot/imported/btn_inventory.png-3f4bfa91c4fca8542ad5cce586f0d975.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://57nl6xfjetoe"
path="res://.godot/imported/btn_look.png-937d7dd609333dd445f73f227717f53c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_look.png"
dest_files=["res://.godot/imported/btn_look.png-937d7dd609333dd445f73f227717f53c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1gik8lkdekx4"
path="res://.godot/imported/btn_quit.png-0e4de86f43d10e7267c0f33d0a402b2a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_quit.png"
dest_files=["res://.godot/imported/btn_quit.png-0e4de86f43d10e7267c0f33d0a402b2a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://pxmndq6c60g3"
path="res://.godot/imported/btn_select.png-f0e43cf2f7ed196c8bce893f479ee340.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_select.png"
dest_files=["res://.godot/imported/btn_select.png-f0e43cf2f7ed196c8bce893f479ee340.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3hyq5v4c2seb"
path="res://.godot/imported/btn_settings.png-eaf578a5a9f0522f89a5b20e386eec06.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_settings.png"
dest_files=["res://.godot/imported/btn_settings.png-eaf578a5a9f0522f89a5b20e386eec06.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b5vpolfm4o5f4"
path="res://.godot/imported/btn_talk.png-0f8d60228439bd491203613702107d3d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_talk.png"
dest_files=["res://.godot/imported/btn_talk.png-0f8d60228439bd491203613702107d3d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dpbuqxha7cos2"
path="res://.godot/imported/btn_walk.png-1c05a8b429f79cffaf55cccac17f2f51.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/btn_walk.png"
dest_files=["res://.godot/imported/btn_walk.png-1c05a8b429f79cffaf55cccac17f2f51.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dwn416xagjwtd"
path="res://.godot/imported/sierra_cursor.png-405ce398f40274eea750fdb8e1a91200.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://addons/popochiu/engine/objects/gui/templates/sierra/images/sierra_cursor.png"
dest_files=["res://.godot/imported/sierra_cursor.png-405ce398f40274eea750fdb8e1a91200.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View file

@ -0,0 +1,93 @@
class_name SierraCommands
extends PopochiuCommands
## Defines the commands and fallback methods for the Sierra GUI.
##
## In this GUI, players can use one of four commands to interact with objects: Walk, Look, Interact
## and Talk. This behavior is based on the one used in King's Quest VI and Conquests of the Longbow.
enum Commands { ## Defines the commands of the GUI.
WALK, ## Used when players want to make the PC to walk.
LOOK, ## Used when players want to make the PC to look an object.
INTERACT, ## Used when players want to make the PC to interact with an object.
TALK ## Used when players want to make the PC to talk with an object.
}
#region Godot ######################################################################################
func _init() -> void:
super()
PopochiuUtils.e.register_command(Commands.WALK, "Walk", walk)
PopochiuUtils.e.register_command(Commands.LOOK, "Look", look)
PopochiuUtils.e.register_command(Commands.INTERACT, "Interact", interact)
PopochiuUtils.e.register_command(Commands.TALK, "Talk", talk)
#endregion
#region Public #####################################################################################
## Should return the name of this class, or the identifier you want to use in scripts to know the
## type of the current GUI commands.
static func get_script_name() -> String:
return "SierraCommands"
## Called by [Popochiu] when a command doesn't have an associated [Callable]. By default this calls
## [method walk].
func fallback() -> void:
walk()
## Called when [code]E.current_command == Commands.WALK[/code] and [code]E.command_fallback()[/code]
## is triggered.[br]
## By default makes the character walk to the clicked [PopochiuClickable].
func walk() -> void:
if PopochiuUtils.e.clicked:
PopochiuUtils.c.walk_to_clicked()
## Called when [code]E.current_command == Commands.LOOK[/code] and [code]E.command_fallback()[/code]
## is triggered.
func look() -> void:
PopochiuUtils.g.show_system_text(
"%s has nothing to say about that object" % PopochiuUtils.c.player.description
)
## Called when [code]E.current_command == Commands.INTERACT[/code] and
## [code]E.command_fallback()[/code] is triggered.
func interact() -> void:
if (
(PopochiuUtils.i.active and PopochiuUtils.i.clicked)
and PopochiuUtils.i.active != PopochiuUtils.i.clicked
):
# Item used on another item
PopochiuUtils.g.show_system_text("%s can't use %s with %s" % [
PopochiuUtils.c.player.description,
PopochiuUtils.i.active.description,
PopochiuUtils.i.clicked.description
])
elif PopochiuUtils.i.active and PopochiuUtils.e.clicked:
# Item used on a PopochiuClickable
PopochiuUtils.g.show_system_text("%s can't use %s with %s" % [
PopochiuUtils.c.player.description,
PopochiuUtils.i.active.description,
PopochiuUtils.e.clicked.description
])
elif PopochiuUtils.i.clicked:
# Item selected in inventory
PopochiuUtils.i.clicked.set_active()
else:
# PopochiuClickable clicked
PopochiuUtils.g.show_system_text(
"%s doesn't want to do anything with that object" % PopochiuUtils.c.player.description
)
## Called when [code]E.current_command == Commands.TALK[/code] and [code]E.command_fallback()[/code]
## is triggered.
func talk() -> void:
PopochiuUtils.g.show_system_text("%s can't talk with that" % PopochiuUtils.c.player.description)
#endregion

View file

@ -0,0 +1 @@
uid://xrw3ig57uotu

View file

@ -0,0 +1,178 @@
class_name SierraGUI
extends PopochiuGraphicInterface
## Defines the behavior of the Sierra GUI.
##
## In this GUI players interact with objects based on the active command, which can be changed with
## right click or by using the buttons in the top bar that appears when the cursor moves to the
## top of the screen. The inventory can be opened with a button in the top bar, same for the
## settings.
@onready var sierra_bar: Control = %SierraBar
@onready var sierra_menu: Control = %SierraMenu
@onready var sierra_inventory_popup: Control = %SierraInventoryPopup
@onready var sierra_settings_popup: Control = %SierraSettingsPopup
@onready var sierra_sound_popup: Control = %SierraSoundPopup
@onready var text_settings_popup: Control = %TextSettingsPopup
@onready var save_and_load_popup: Control = %SaveAndLoadPopup
@onready var quit_popup: Control = %QuitPopup
#region Godot ######################################################################################
func _ready() -> void:
super()
PopochiuUtils.cursor.replace_frames($Cursor)
PopochiuUtils.cursor.show_cursor()
$Cursor.hide()
PopochiuUtils.e.current_command = SierraCommands.Commands.WALK
# Connect to child signals
sierra_settings_popup.option_selected.connect(_on_settings_option_selected)
sierra_menu.visibility_changed.connect(_on_menu_visibility_changed)
func _input(event: InputEvent) -> void:
if PopochiuUtils.g.is_blocked: return
match PopochiuUtils.get_click_or_touch_index(event):
MOUSE_BUTTON_LEFT:
# NOTE: When clicking anywhere with the Left Mouse Button, block
# the player from moving to the clicked position since the Sierra
# GUI allows characters to move only when the WALK command is
# active.
if (
not sierra_menu.visible
and not PopochiuUtils.e.hovered
and PopochiuUtils.e.current_command != SierraCommands.Commands.WALK
):
accept_event()
MOUSE_BUTTON_RIGHT:
accept_event()
if PopochiuUtils.i.active:
PopochiuUtils.i.active = null
PopochiuUtils.e.current_command = SierraCommands.Commands.WALK
else:
PopochiuUtils.e.current_command = posmod(
PopochiuUtils.e.current_command + 1, SierraCommands.Commands.size()
)
#endregion
#region Virtual ####################################################################################
## Called when the GUI is blocked. Makes the GUI to stop processing input.
func _on_blocked(props := { blocking = true }) -> void:
set_process_input(false)
## Called when the GUI is unblocked. Makes the GUI to start processing input.
func _on_unblocked() -> void:
set_process_input(true)
## Called when the mouse enters (hovers) [param clickable]. It displays a text with the
## [member PopochiuClickable.description] in the [HoverText] component.
func _on_mouse_entered_clickable(clickable: PopochiuClickable) -> void:
if PopochiuUtils.g.is_blocked: return
if not PopochiuUtils.i.active:
PopochiuUtils.g.show_hover_text(clickable.description)
else:
PopochiuUtils.g.show_hover_text(
"Use %s with %s" % [PopochiuUtils.i.active.description, clickable.description]
)
## Called when the mouse exits [param clickable]. Clears the text in the [HoverText] component.
func _on_mouse_exited_clickable(clickable: PopochiuClickable) -> void:
if PopochiuUtils.g.is_blocked: return
PopochiuUtils.g.show_hover_text()
## Called when a dialogue line starts. It shows the [code]"wait"[/code] cursor.
func _on_dialog_line_started() -> void:
PopochiuUtils.cursor.hide()
## Called when a dialogue line finishes. It shows the [code]"normal"[/code] cursor.
func _on_dialog_line_finished() -> void:
PopochiuUtils.cursor.show()
## Called when a [PopochiuDialog] starts. It shows the [code]"gui"[/code] cursor.
func _on_dialog_started(_dialog: PopochiuDialog) -> void:
PopochiuUtils.cursor.show_cursor("gui")
## Called when the running [PopochiuDialog] shows its options on screen. It shows the
## [code]"gui"[/code] cursor.
func _on_dialog_options_shown() -> void:
PopochiuUtils.cursor.unblock()
PopochiuUtils.cursor.show_cursor("gui")
## Called when a [PopochiuDialog] finishes. It shows the cursor of the last active command.
func _on_dialog_finished(_dialog: PopochiuDialog) -> void:
PopochiuUtils.cursor.show_cursor(PopochiuUtils.e.get_current_command_name().to_snake_case())
## Called when the active [PopochiuInventoryItem] changes. If there is one, it hides the main cursor
## to show the one that shows the [member PopochiuInventoryItem.texture], otherwise it shows the
## default cursor.
func _on_inventory_item_selected(item: PopochiuInventoryItem) -> void:
if is_instance_valid(item):
PopochiuUtils.cursor.set_secondary_cursor_texture(item.texture, true)
PopochiuUtils.cursor.hide_main_cursor()
else:
PopochiuUtils.cursor.remove_secondary_cursor_texture()
PopochiuUtils.cursor.show_cursor()
## Called when the game is saved. By default, it shows [code]Game saved[/code] in the SystemText
## component.
func _on_game_saved() -> void:
PopochiuUtils.g.show_system_text("Game saved")
## Called when a game is loaded. [param loaded_game] has the loaded data. By default, it shows
## [code]Game loaded[/code] in the SystemText component.
func _on_game_loaded(loaded_game: Dictionary) -> void:
await PopochiuUtils.g.show_system_text("Game loaded")
super(loaded_game)
## Called by [b]cursor.gd[/b] to get the name of the cursor texture to show.
func _get_cursor_name() -> String:
return PopochiuUtils.e.get_current_command_name().to_snake_case()
#endregion
#region Private ####################################################################################
func _on_settings_option_selected(option_name: String) -> void:
match option_name:
"sound":
sierra_sound_popup.open()
"text":
text_settings_popup.open()
"save":
save_and_load_popup.open_save()
"load":
save_and_load_popup.open_load()
"quit":
quit_popup.open()
func _on_menu_visibility_changed():
if sierra_menu.visible:
sierra_bar.hide()
else:
sierra_bar.show()
#endregion

View file

@ -0,0 +1 @@
uid://bpuyqleq1uwh2

View file

@ -0,0 +1,178 @@
[gd_scene load_steps=23 format=3 uid="uid://6ucg5xkcreh5"]
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_3jlpr"]
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/sierra/sierra_gui.gd" id="1_40nsv"]
[ext_resource type="PackedScene" uid="uid://cv2o5p3gp1fgx" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_bar/sierra_bar.tscn" id="4_hjdb7"]
[ext_resource type="PackedScene" uid="uid://bhx2hkpkjs7dk" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_menu/sierra_menu.tscn" id="5_ffq7i"]
[ext_resource type="PackedScene" uid="uid://33wmak2jumqm" path="res://addons/popochiu/engine/objects/gui/components/dialog_text/dialog_portrait/dialog_portrait.tscn" id="5_nehoj"]
[ext_resource type="Texture2D" uid="uid://dwn416xagjwtd" path="res://addons/popochiu/engine/objects/gui/templates/sierra/images/sierra_cursor.png" id="13_udys2"]
[ext_resource type="PackedScene" uid="uid://dhsfl8ot4j5fj" path="res://addons/popochiu/engine/objects/gui/components/dialog_menu/dialog_menu.tscn" id="14_3gq4k"]
[ext_resource type="PackedScene" uid="uid://dc7crw22yevoo" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_inventory_popup/sierra_inventory_popup.tscn" id="15_2hyjp"]
[ext_resource type="PackedScene" uid="uid://c24vj4s0u08jr" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sierra_settings_popup/sierra_settings_popup.tscn" id="18_sv4ik"]
[ext_resource type="PackedScene" uid="uid://bdgs3xsbq3gdd" path="res://addons/popochiu/engine/objects/gui/components/system_text/system_text.tscn" id="18_x7swu"]
[ext_resource type="PackedScene" uid="uid://mh7ymcslp4xv" path="res://addons/popochiu/engine/objects/gui/templates/sierra/components/sound_popup/sierra_sound_popup.tscn" id="19_3kc82"]
[ext_resource type="PackedScene" uid="uid://de68lx1xqv7fb" path="res://addons/popochiu/engine/objects/gui/components/popups/text_settings_popup/text_settings_popup.tscn" id="20_anvsw"]
[ext_resource type="PackedScene" uid="uid://cndputybyj57n" path="res://addons/popochiu/engine/objects/gui/components/popups/save_and_load_popup/save_and_load_popup.tscn" id="21_1xmwq"]
[ext_resource type="PackedScene" uid="uid://bnjo044fkdcq7" path="res://addons/popochiu/engine/objects/gui/components/popups/quit_popup/quit_popup.tscn" id="24_50bps"]
[sub_resource type="AtlasTexture" id="AtlasTexture_vyqmk"]
atlas = ExtResource("13_udys2")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_xo8dr"]
atlas = ExtResource("13_udys2")
region = Rect2(64, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_yxgj0"]
atlas = ExtResource("13_udys2")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_p3f06"]
atlas = ExtResource("13_udys2")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_cvutg"]
atlas = ExtResource("13_udys2")
region = Rect2(96, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_hlutb"]
atlas = ExtResource("13_udys2")
region = Rect2(160, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_e0opo"]
atlas = ExtResource("13_udys2")
region = Rect2(0, 0, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_eo6w8"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_vyqmk")
}],
"loop": true,
"name": &"gui",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_xo8dr")
}],
"loop": true,
"name": &"interact",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_yxgj0")
}],
"loop": true,
"name": &"look",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_p3f06")
}],
"loop": true,
"name": &"normal",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_cvutg")
}],
"loop": true,
"name": &"talk",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_hlutb")
}],
"loop": true,
"name": &"wait",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_e0opo")
}],
"loop": true,
"name": &"walk",
"speed": 5.0
}]
[node name="SierraGUI" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme = ExtResource("1_3jlpr")
script = ExtResource("1_40nsv")
[node name="Cursor" type="AnimatedSprite2D" parent="."]
texture_filter = 1
sprite_frames = SubResource("SpriteFrames_eo6w8")
animation = &"gui"
offset = Vector2(16, 16)
[node name="SierraBar" parent="." instance=ExtResource("4_hjdb7")]
unique_name_in_owner = true
layout_mode = 1
[node name="SierraMenu" parent="." instance=ExtResource("5_ffq7i")]
unique_name_in_owner = true
layout_mode = 1
[node name="DialogPortrait" parent="." instance=ExtResource("5_nehoj")]
layout_mode = 1
[node name="DialogMenu" parent="." instance=ExtResource("14_3gq4k")]
visible = false
layout_mode = 1
[node name="SystemText" parent="." instance=ExtResource("18_x7swu")]
z_index = 1
layout_mode = 1
[node name="Popups" type="Control" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="SierraInventoryPopup" parent="Popups" instance=ExtResource("15_2hyjp")]
unique_name_in_owner = true
visible = false
layout_mode = 1
[node name="SierraSettingsPopup" parent="Popups" instance=ExtResource("18_sv4ik")]
unique_name_in_owner = true
visible = false
layout_mode = 1
[node name="SierraSoundPopup" parent="Popups" instance=ExtResource("19_3kc82")]
unique_name_in_owner = true
visible = false
layout_mode = 1
[node name="TextSettingsPopup" parent="Popups" instance=ExtResource("20_anvsw")]
unique_name_in_owner = true
visible = false
layout_mode = 1
[node name="SaveAndLoadPopup" parent="Popups" instance=ExtResource("21_1xmwq")]
unique_name_in_owner = true
visible = false
layout_mode = 1
[node name="QuitPopup" parent="Popups" instance=ExtResource("24_50bps")]
unique_name_in_owner = true
visible = false
layout_mode = 1

View file

@ -0,0 +1,15 @@
[gd_resource type="Resource" script_class="PopochiuGUIInfo" load_steps=3 format=3 uid="uid://g70ov7n7io6l"]
[ext_resource type="Script" path="res://addons/popochiu/engine/others/popochiu_gui_info.gd" id="1_0p2sc"]
[ext_resource type="Texture2D" uid="uid://c7ncrxebt8ry" path="res://addons/popochiu/icons/ico_sierra.png" id="1_4w2ga"]
[resource]
script = ExtResource("1_0p2sc")
description = "- Use the Sierra Online commands: [b]Walk[/b], [b]Look[/b], [b]Interact[/b] and [b]Talk[/b]. Which can be selected in the top menu.
- [b]Left click[/b] to execute selected command.
- [b]Right click[/b] to change command.
- [b]Inventory popup[/b] which opens with a button in the top menu.
- [b]Settings popup[/b] which opens with a button in the top menu.
Like in games such as Gabriel Knight, Crusader King."
icon = ExtResource("1_4w2ga")