diff --git a/src/dev-util/bug_button.gd b/src/dev-util/bug_button.gd new file mode 100644 index 0000000..80748c1 --- /dev/null +++ b/src/dev-util/bug_button.gd @@ -0,0 +1,29 @@ +class_name BugButton extends Button + +func _ready() -> void: + pressed.connect(create_bug_report) + text = "copy Debug Info & open Log" + tooltip_text = "Get what is nessecary to create a Bug Report in the Steam Community Forums" + +func create_bug_report(): + OS.shell_show_in_file_manager(ProjectSettings.globalize_path(ProjectSettings.get_setting("debug/file_logging/log_path"))) + var debug_text:String = """Help us identify the bug by + 1. Telling us what you did before it happened + 2. Describing what you expected to happen and what ended up happening + 3. Attaching a screenshot if possible + 4. Attaching the Log file that should have popped up on your screen. + 5. Leaving in this information: + + OS: %s + GPU: %s + Current Focus: %s + Current Scene: %s + Mementos: %s + """ % [OS.get_name(), OS.get_video_adapter_driver_info(), State.stage_list, State.current_room, Scenes.completed_sequences] + + + #debug_text = debug_text.replace(" ", "%20").replace("\n", "%0A").replace("\t", "") + DisplayServer.clipboard_set(debug_text) + + + #print("mailto:support@polynormal.games?subject=Frame%20of%20Mind%20Demo%20-%20Bug%20Report&body=" + debug_text) diff --git a/src/dev-util/bug_button.gd.uid b/src/dev-util/bug_button.gd.uid new file mode 100644 index 0000000..1d8f1e8 --- /dev/null +++ b/src/dev-util/bug_button.gd.uid @@ -0,0 +1 @@ +uid://sa15wakvpj2e diff --git a/src/dev-util/bug_button.tscn b/src/dev-util/bug_button.tscn new file mode 100644 index 0000000..343f81e --- /dev/null +++ b/src/dev-util/bug_button.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=3 uid="uid://bcce5c1o6g13w"] + +[ext_resource type="Script" uid="uid://sa15wakvpj2e" path="res://dev-util/bug_button.gd" id="1_jjjqg"] + +[node name="BugButton" type="Button"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_jjjqg") diff --git a/src/main.tscn b/src/main.tscn index f9a0488..681fa8f 100644 --- a/src/main.tscn +++ b/src/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=66 format=3 uid="uid://befxf8uruwnrl"] +[gd_scene load_steps=67 format=3 uid="uid://befxf8uruwnrl"] [ext_resource type="Script" uid="uid://k8yppfbkq0xv" path="res://main.gd" id="1_rqkns"] [ext_resource type="PackedScene" uid="uid://gldtxysavetf" path="res://logic-scenes/startup/startup.tscn" id="1_v5rpm"] @@ -12,6 +12,7 @@ [ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="9_l7v4b"] [ext_resource type="Texture2D" uid="uid://bdyg065h8vcdi" path="res://base-environments/youth_room/shaders/starlight-textures.png" id="10_pipov"] [ext_resource type="Script" uid="uid://dr7xhgd53cvmf" path="res://addons/markdownlabel/markdownlabel.gd" id="12_074og"] +[ext_resource type="Script" uid="uid://sa15wakvpj2e" path="res://dev-util/bug_button.gd" id="12_cegan"] [ext_resource type="Script" uid="uid://2nt1uho85s8f" path="res://addons/markdownlabel/header_formats/h1_format.gd" id="13_cegan"] [ext_resource type="Script" uid="uid://c0sorgri1jvgp" path="res://addons/markdownlabel/header_formats/h2_format.gd" id="14_82xsv"] [ext_resource type="Script" uid="uid://bxp6pmnguqayg" path="res://addons/markdownlabel/header_formats/h3_format.gd" id="15_getpj"] @@ -127,7 +128,7 @@ tracks/7/keys = { tracks/8/type = "value" tracks/8/imported = false tracks/8/enabled = true -tracks/8/path = NodePath("../../CenterContainer:visible") +tracks/8/path = NodePath("../../PauseContainer:visible") tracks/8/interp = 1 tracks/8/loop_wrap = true tracks/8/keys = { @@ -139,7 +140,7 @@ tracks/8/keys = { tracks/9/type = "value" tracks/9/imported = false tracks/9/enabled = true -tracks/9/path = NodePath("../../CenterContainer/TextureRect:modulate") +tracks/9/path = NodePath("../../PauseContainer/TextureRect:modulate") tracks/9/interp = 1 tracks/9/loop_wrap = true tracks/9/keys = { @@ -151,7 +152,7 @@ tracks/9/keys = { tracks/10/type = "value" tracks/10/imported = false tracks/10/enabled = true -tracks/10/path = NodePath("../../CenterContainer/PauseMenu/VBoxContainer:modulate") +tracks/10/path = NodePath("../../PauseContainer/PauseMenu/VBoxContainer:modulate") tracks/10/interp = 1 tracks/10/loop_wrap = true tracks/10/keys = { @@ -163,7 +164,7 @@ tracks/10/keys = { tracks/11/type = "value" tracks/11/imported = false tracks/11/enabled = true -tracks/11/path = NodePath("../../CenterContainer/PauseMenu:modulate") +tracks/11/path = NodePath("../../PauseContainer/PauseMenu:modulate") tracks/11/interp = 1 tracks/11/loop_wrap = true tracks/11/keys = { @@ -330,7 +331,7 @@ length = 2.0 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("../../CenterContainer:visible") +tracks/0/path = NodePath("../../PauseContainer:visible") tracks/0/interp = 0 tracks/0/loop_wrap = true tracks/0/keys = { @@ -342,7 +343,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("../../CenterContainer/TextureRect:modulate") +tracks/1/path = NodePath("../../PauseContainer/TextureRect:modulate") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -354,7 +355,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("../../CenterContainer/PauseMenu/VBoxContainer:modulate") +tracks/2/path = NodePath("../../PauseContainer/PauseMenu/VBoxContainer:modulate") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -366,7 +367,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("../../CenterContainer/PauseMenu:modulate") +tracks/3/path = NodePath("../../PauseContainer/PauseMenu:modulate") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -675,7 +676,7 @@ resource_name = "reveal_pause_menu" tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true -tracks/0/path = NodePath("../../CenterContainer:visible") +tracks/0/path = NodePath("../../PauseContainer:visible") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { @@ -687,7 +688,7 @@ tracks/0/keys = { tracks/1/type = "value" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("../../CenterContainer/TextureRect:modulate") +tracks/1/path = NodePath("../../PauseContainer/TextureRect:modulate") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { @@ -699,7 +700,7 @@ tracks/1/keys = { tracks/2/type = "value" tracks/2/imported = false tracks/2/enabled = true -tracks/2/path = NodePath("../../CenterContainer/PauseMenu/VBoxContainer:modulate") +tracks/2/path = NodePath("../../PauseContainer/PauseMenu/VBoxContainer:modulate") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { @@ -711,7 +712,7 @@ tracks/2/keys = { tracks/3/type = "value" tracks/3/imported = false tracks/3/enabled = true -tracks/3/path = NodePath("../../CenterContainer/PauseMenu:modulate") +tracks/3/path = NodePath("../../PauseContainer/PauseMenu:modulate") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { @@ -1152,7 +1153,7 @@ parameters/conditions/start_game = false [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="MenuAnimationPlayer/MenuAnimationTree"] bus = &"music" -[node name="CenterContainer" type="CenterContainer" parent="."] +[node name="PauseContainer" type="CenterContainer" parent="."] visible = false anchors_preset = 15 anchor_right = 1.0 @@ -1160,62 +1161,67 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -[node name="TextureRect" type="TextureRect" parent="CenterContainer"] +[node name="TextureRect" type="TextureRect" parent="PauseContainer"] material = SubResource("ShaderMaterial_knlqd") layout_mode = 2 texture = SubResource("GradientTexture2D_swtmc") -[node name="PauseMenu" type="PanelContainer" parent="CenterContainer"] +[node name="PauseMenu" type="PanelContainer" parent="PauseContainer"] unique_name_in_owner = true layout_mode = 2 script = ExtResource("9_ihfph") -[node name="VBoxContainer" type="VBoxContainer" parent="CenterContainer/PauseMenu"] +[node name="VBoxContainer" type="VBoxContainer" parent="PauseContainer/PauseMenu"] modulate = Color(1, 1, 1, 0) layout_mode = 2 -[node name="Label" type="Label" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="Label" type="Label" parent="PauseContainer/PauseMenu/VBoxContainer"] layout_mode = 2 theme_type_variation = &"HeaderLarge" text = "Game Paused" -[node name="ResumeButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="ResumeButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 text = "Resume" -[node name="ToMenuButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="BugButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"] +layout_mode = 2 +script = ExtResource("12_cegan") +metadata/_custom_type_script = "uid://sa15wakvpj2e" + +[node name="ToMenuButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"] unique_name_in_owner = true visible = false layout_mode = 2 text = "Return to Menu" -[node name="ToSettingsButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="ToSettingsButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"] unique_name_in_owner = true visible = false layout_mode = 2 text = "Open Settings" -[node name="ToDesktopButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="ToDesktopButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 text = "Quit to Desktop" -[node name="HSeparator" type="HSeparator" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="HSeparator" type="HSeparator" parent="PauseContainer/PauseMenu/VBoxContainer"] custom_minimum_size = Vector2(0, 20) layout_mode = 2 -[node name="FindHelplineButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="FindHelplineButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 text = "Find Help-Lines" -[node name="Label2" type="Label" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="Label2" type="Label" parent="PauseContainer/PauseMenu/VBoxContainer"] layout_mode = 2 text = "opens findahelpline.com" horizontal_alignment = 1 -[node name="SkipStoryButton" type="Button" parent="CenterContainer/PauseMenu/VBoxContainer"] +[node name="SkipStoryButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"] unique_name_in_owner = true visible = false layout_mode = 2 diff --git a/src/main_menu.tscn b/src/main_menu.tscn index 2e52e85..58c720b 100644 --- a/src/main_menu.tscn +++ b/src/main_menu.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=17 format=3 uid="uid://b51wdql4mby47"] +[gd_scene load_steps=18 format=3 uid="uid://b51wdql4mby47"] [ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/handwriting.theme" id="1_2dg4n"] [ext_resource type="Script" uid="uid://c3o65t2rwpbtn" path="res://logic-scenes/main menu/main_menu.gd" id="2_rm576"] [ext_resource type="PackedScene" uid="uid://gmxenhavh1lp" path="res://logic-scenes/main menu/video_settings.tscn" id="3_f0dcd"] [ext_resource type="Texture2D" uid="uid://d3ewjumh0b0g6" path="res://logic-scenes/main menu/logo.png" id="3_xb2np"] +[ext_resource type="Script" uid="uid://sa15wakvpj2e" path="res://dev-util/bug_button.gd" id="4_j5v2v"] [ext_resource type="Script" uid="uid://byiih47fi6740" path="res://dev-util/settings_popup.gd" id="4_k8jo0"] [ext_resource type="PackedScene" uid="uid://dfhkfocy8axb8" path="res://logic-scenes/main menu/audio_settings.tscn" id="4_o07mg"] [ext_resource type="Script" uid="uid://0tb763w0vfv7" path="res://tab_container.gd" id="5_lhfti"] @@ -314,6 +315,11 @@ layout_mode = 2 tooltip_text = "Plays the Game Credits" text = "Attribution" +[node name="BugButton" type="Button" parent="PanelContainer"] +layout_mode = 2 +script = ExtResource("4_j5v2v") +metadata/_custom_type_script = "uid://sa15wakvpj2e" + [node name="QuitButton" type="Button" parent="PanelContainer"] layout_mode = 2 text = "quit" diff --git a/src/project.godot b/src/project.godot index 8e7470f..64922f5 100644 --- a/src/project.godot +++ b/src/project.godot @@ -31,6 +31,8 @@ PromptManager="*res://addons/input_prompts/input_prompt_manager.gd" [debug] +file_logging/enable_file_logging=true +file_logging/log_path="user://logs/frame-of-mind.log" gdscript/warnings/native_method_override=0 [display]