diff --git a/Scenes/Node Types/CyberChuck.tscn b/Scenes/Node Types/CyberChuck.tscn index a55cbe0..01a426b 100644 --- a/Scenes/Node Types/CyberChuck.tscn +++ b/Scenes/Node Types/CyberChuck.tscn @@ -18,9 +18,9 @@ layout_mode = 0 tooltip_text = "Cyberamic Chuck E. Cheese animatronic featuring the late 2000s/Avenger era outfit" script = ExtResource("2_icn0g") identification = "AA_CYBERCHUCK" -visual_name = "Chuck E. (Avenger)" names = PackedStringArray("Mouth", "Head Up", "Head Right", "Head Left", "Eyes Right", "Eyes Left", "Eyelids", "Right Arm") types = PackedStringArray("bool", "bool", "bool", "bool", "bool", "bool", "bool", "bool") +visual_name = "Chuck E. (Avenger)" [connection signal="mouse_entered" from="Node" to="Node" method="mouse_enter"] [connection signal="mouse_exited" from="Node" to="Node" method="mouse_exit"] diff --git a/Scenes/Nodes/Node Row.tscn b/Scenes/Nodes/Node Row.tscn index aa5e458..451bbdb 100644 --- a/Scenes/Nodes/Node Row.tscn +++ b/Scenes/Nodes/Node Row.tscn @@ -1,5 +1,6 @@ -[gd_scene load_steps=6 format=3 uid="uid://bdcxusbd86oox"] +[gd_scene load_steps=7 format=3 uid="uid://bdcxusbd86oox"] +[ext_resource type="FontFile" uid="uid://g33624ku0v3y" path="res://UI/Fonts/OpenMoji.ttf" id="1_4uocr"] [ext_resource type="Script" uid="uid://dwl36vn5chqmq" path="res://Scripts/GL_Node_Point.gd" id="1_fygh4"] [ext_resource type="Script" uid="uid://q5qlhwvjb16w" path="res://Scripts/GL_Node_Picker_Float.gd" id="2_vlx6y"] [ext_resource type="Script" uid="uid://dflftb37a7ind" path="res://Scripts/GL_Node_Picker_Color.gd" id="3_tf34m"] @@ -11,7 +12,8 @@ [node name="Input" type="Button" parent="." groups=["Outputs"]] layout_mode = 2 mouse_default_cursor_shape = 2 -text = "◉" +theme_override_fonts/font = ExtResource("1_4uocr") +text = "🔘" script = ExtResource("1_fygh4") [node name="Label" type="Label" parent="."] @@ -56,7 +58,8 @@ allow_reselect = true [node name="Button" type="Button" parent="Pick Audio/HBox"] layout_mode = 2 -text = "🗀" +theme_override_fonts/font = ExtResource("1_4uocr") +text = "📁" [node name="FileDialog" type="FileDialog" parent="Pick Audio"] title = "Open a File" @@ -69,7 +72,8 @@ access = 2 [node name="Output" type="Button" parent="." groups=["Outputs"]] layout_mode = 2 mouse_default_cursor_shape = 2 -text = "◉" +theme_override_fonts/font = ExtResource("1_4uocr") +text = "🔘" script = ExtResource("1_fygh4") [connection signal="button_down" from="Input" to="Input" method="_detatch"] diff --git a/Scenes/Nodes/Node.tscn b/Scenes/Nodes/Node.tscn index 5637091..56d7882 100644 --- a/Scenes/Nodes/Node.tscn +++ b/Scenes/Nodes/Node.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://b0arjg8r75f8y"] -[ext_resource type="Theme" uid="uid://b3wjoiiv6sq22" path="res://UI/Themes/Default.tres" id="1_arhwt"] +[ext_resource type="Theme" uid="uid://cxi113pis5rln" path="res://UI/Themes/Default.tres" id="1_arhwt"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_arhwt"] diff --git a/Scenes/Stages/2Stage.tscn b/Scenes/Stages/2Stage.tscn index cd67492..b8d8111 100644 --- a/Scenes/Stages/2Stage.tscn +++ b/Scenes/Stages/2Stage.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=19 format=3 uid="uid://qvo7vlvac8o5"] +[gd_scene load_steps=20 format=3 uid="uid://qvo7vlvac8o5"] [ext_resource type="Script" uid="uid://8vyuhyx0xogt" path="res://Scripts/freecam.gd" id="1_ru8gb"] +[ext_resource type="Script" uid="uid://c5kxam0k3beml" path="res://Scripts/GL_Speaker.gd" id="2_lubev"] [ext_resource type="PackedScene" uid="uid://c57u187iciexi" path="res://Scenes/UI/Node Map.tscn" id="3_u0wf5"] [ext_resource type="PackedScene" uid="uid://dwdcfwbmoo36b" path="res://Models/Props/stage_base.glb" id="4_ol4ys"] [ext_resource type="PackedScene" uid="uid://dlf6gkpsv5g05" path="res://Models/Props/keyboard.glb" id="5_ti4ja"] @@ -31,6 +32,11 @@ ambient_light_energy = 0.01 transform = Transform3D(0.999998, 0.00163928, -0.000874435, -0.00163943, 0.999999, -0.000166063, 0.000874161, 0.000167496, 1, 0.01889, 3.26498, 9.74284) script = ExtResource("1_ru8gb") +[node name="Direct Output" type="Node" parent="Camera3D" groups=["DIRECT_OUTPUT"]] +script = ExtResource("2_lubev") + +[node name="Speaker" type="AudioStreamPlayer" parent="Camera3D/Direct Output"] + [node name="NodeMap" parent="." instance=ExtResource("3_u0wf5")] [node name="Props" type="Node" parent="."] diff --git a/Scenes/UI/Node Map.tscn b/Scenes/UI/Node Map.tscn index fd72e3e..400959b 100644 --- a/Scenes/UI/Node Map.tscn +++ b/Scenes/UI/Node Map.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://i4p62x8fnqpn" path="res://Scripts/GL_Node_Map.gd" id="1_jyqbx"] [ext_resource type="PackedScene" uid="uid://mowdu1i1rldt" path="res://Scenes/UI/Search.tscn" id="1_xwfut"] -[ext_resource type="Theme" uid="uid://b3wjoiiv6sq22" path="res://UI/Themes/Default.tres" id="2_2eix6"] +[ext_resource type="Theme" uid="uid://cxi113pis5rln" path="res://UI/Themes/Default.tres" id="2_2eix6"] [sub_resource type="Gradient" id="Gradient_2eix6"] offsets = PackedFloat32Array(0) diff --git a/Scripts/GL_Node.gd b/Scripts/GL_Node.gd index d57d874..deeff8c 100644 --- a/Scripts/GL_Node.gd +++ b/Scripts/GL_Node.gd @@ -110,7 +110,7 @@ func give_input_point_pos(name:String) -> Vector2: func _set_inout_type(label:Button, value): match typeof(value): TYPE_FLOAT: - label.text = "◉" + label.text = "🔘" label.add_theme_color_override("font_color", Color.ROYAL_BLUE) TYPE_BOOL: label.text = "◆" diff --git a/Scripts/GL_Node_Map.gd b/Scripts/GL_Node_Map.gd index ca16bbe..50879e8 100644 --- a/Scripts/GL_Node_Map.gd +++ b/Scripts/GL_Node_Map.gd @@ -13,6 +13,7 @@ var optionsVar:OptionButton var _workspace_ID:String var save_name: String = "My Save" var author_name: String = "Unnamed Author" +var showtapesPath: String = "user://Showtapes/" var version: String = ProjectSettings.get_setting("application/config/version") var game_title: String = ProjectSettings.get_setting("application/config/name") var time_created: String = "" @@ -97,8 +98,9 @@ func save_everything(): for child in holder.get_children(): child = child.get_child(0) + print(child._get_title() + ", " + child.nodePath) if child is not GL_Node: - print(child.name) + print(child) continue var id = "SAVE_" + str(rng.randi()) @@ -113,7 +115,7 @@ func save_everything(): # Save recording if it's a GL_Record and has enough data if child is GL_Record and child.recording != null: if child.recording.size() >= 3: - var recording_file_path = "user://My Precious Save Files/" + str(_workspace_ID) + "/" + child.uuid + "_recording.tres" + var recording_file_path = showtapesPath + str(_workspace_ID) + "/" + child.uuid + "_recording.tres" var recording_config = ConfigFile.new() recording_config.set_value("recording", "data", child.recording) var err = recording_config.save(recording_file_path) @@ -132,7 +134,7 @@ func save_everything(): saveDict[id] = node_data - var save_dir = "user://My Precious Save Files/" + str(_workspace_ID) + var save_dir = showtapesPath + str(_workspace_ID) DirAccess.make_dir_recursive_absolute(save_dir) var file_path = save_dir + "/node_workspace.tres" @@ -164,7 +166,7 @@ func save_everything(): func load_everything(): - var file_path = "user://My Precious Save Files/" + str(_workspace_ID) + "/node_workspace.tres" + var file_path = showtapesPath + str(_workspace_ID) + "/node_workspace.tres" var resource = ConfigFile.new() var err = resource.load(file_path) if err != OK: @@ -204,7 +206,7 @@ func load_everything(): node.rows = data[key].get("rows",{}) node._update_visuals() if node is GL_Record: - var recording_file = "user://My Precious Save Files/" + str(_workspace_ID) + "/" + node.uuid + "_recording.tres" + var recording_file = showtapesPath + str(_workspace_ID) + "/" + node.uuid + "_recording.tres" var config = ConfigFile.new() if config.load(recording_file) == OK: node.recording = config.get_value("recording", "data", {}) @@ -224,7 +226,7 @@ func populate_workspace_options(): optionsVar.clear() optionsVar.add_item("New Workspace") - var dir := DirAccess.open("user://My Precious Save Files") + var dir := DirAccess.open(showtapesPath) if dir: dir.list_dir_begin() var name = dir.get_next() diff --git a/Scripts/GL_Node_Picker_Audio.gd b/Scripts/GL_Node_Picker_Audio.gd index 6c3c2e4..44def33 100644 --- a/Scripts/GL_Node_Picker_Audio.gd +++ b/Scripts/GL_Node_Picker_Audio.gd @@ -76,6 +76,6 @@ func _set_audio_path(file: String): func find_audio_path() -> String: for node in get_tree().get_nodes_in_group("Node Map"): if node is GL_Node_Map: - return "user://My Precious Save Files/" + node._workspace_ID + "/Audio" + return "user://Showtapes/" + node._workspace_ID + "/Audio" printerr("Uhhhhh") return "" diff --git a/Scripts/GL_Output.gd b/Scripts/GL_Output.gd index 30b8639..eea7125 100644 --- a/Scripts/GL_Output.gd +++ b/Scripts/GL_Output.gd @@ -7,6 +7,7 @@ extends GL_Node func _ready(): super._ready() _set_title(identification) + if (visual_name != ""): _set_title(visual_name) for i in names.size(): match(types[i].to_lower()): "float": diff --git a/Scripts/GL_Search.gd b/Scripts/GL_Search.gd index 30f22ce..fab7b5e 100644 --- a/Scripts/GL_Search.gd +++ b/Scripts/GL_Search.gd @@ -63,9 +63,11 @@ func _set_rows(): container.call_deferred("add_child",row) func _create_node(name:String): - var node = load("res://Scenes/Node Types/" + name + ".tscn").instantiate() + var path = "res://Scenes/Node Types/" + name + ".tscn" + var node = load(path).instantiate() get_parent().get_node("Holder").add_child(node) node = (node as Control).get_child(0) as GL_Node + node.nodePath = path node.position = lastMousePos node._create_uuid() diff --git a/Scripts/GL_Speaker.gd b/Scripts/GL_Speaker.gd index f9af39a..b62352f 100644 --- a/Scripts/GL_Speaker.gd +++ b/Scripts/GL_Speaker.gd @@ -14,7 +14,6 @@ func _sent_signals(anim_name: String, value): match(anim_name): "Audio": - print(value.value) if value is not GL_AudioType: return var path = (value as GL_AudioType).value diff --git a/UI/Fonts/DejaVuSans.ttf b/UI/Fonts/DejaVuSans.ttf new file mode 100644 index 0000000..e5f7eec Binary files /dev/null and b/UI/Fonts/DejaVuSans.ttf differ diff --git a/UI/Fonts/DejaVuSans.ttf.import b/UI/Fonts/DejaVuSans.ttf.import new file mode 100644 index 0000000..35001be --- /dev/null +++ b/UI/Fonts/DejaVuSans.ttf.import @@ -0,0 +1,35 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dcdio2wynh45e" +path="res://.godot/imported/DejaVuSans.ttf-6ab86727a992bf60e7dc8a22f570ec7c.fontdata" + +[deps] + +source_file="res://UI/Fonts/DejaVuSans.ttf" +dest_files=["res://.godot/imported/DejaVuSans.ttf-6ab86727a992bf60e7dc8a22f570ec7c.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=4 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/UI/Fonts/OpenMoji-black-glyf.ttf b/UI/Fonts/OpenMoji-black-glyf.ttf new file mode 100644 index 0000000..920751b Binary files /dev/null and b/UI/Fonts/OpenMoji-black-glyf.ttf differ diff --git a/UI/Fonts/OpenMoji.ttf.import b/UI/Fonts/OpenMoji.ttf.import new file mode 100644 index 0000000..58215a0 --- /dev/null +++ b/UI/Fonts/OpenMoji.ttf.import @@ -0,0 +1,35 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://g33624ku0v3y" +path="res://.godot/imported/OpenMoji.ttf-9a7765726db11a4ea74a9eeb97dd208a.fontdata" + +[deps] + +source_file="res://UI/Fonts/OpenMoji.ttf" +dest_files=["res://.godot/imported/OpenMoji.ttf-9a7765726db11a4ea74a9eeb97dd208a.fontdata"] + +[params] + +Rendering=null +antialiasing=1 +generate_mipmaps=false +disable_embedded_bitmaps=true +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=true +force_autohinter=false +hinting=1 +subpixel_positioning=4 +keep_rounding_remainders=true +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/UI/Themes/Default.tres b/UI/Themes/Default.tres index baf9add..f59a1ea 100644 --- a/UI/Themes/Default.tres +++ b/UI/Themes/Default.tres @@ -1,10 +1,24 @@ -[gd_resource type="Theme" load_steps=2 format=3 uid="uid://b3wjoiiv6sq22"] +[gd_resource type="Theme" load_steps=4 format=3 uid="uid://cxi113pis5rln"] +[ext_resource type="FontFile" uid="uid://dcdio2wynh45e" path="res://UI/Fonts/DejaVuSans.ttf" id="1_crk4k"] [ext_resource type="StyleBox" uid="uid://crsm0yvhb6rv1" path="res://UI/Themes/NodeTheme.tres" id="1_ne1i0"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_crk4k"] + [resource] +Button/fonts/font = ExtResource("1_crk4k") +Label/colors/font_color = Color(1, 1, 1, 1) +Label/colors/font_outline_color = Color(0, 0, 0, 1) +Label/colors/font_shadow_color = Color(0, 0, 0, 0) +Label/constants/line_spacing = 3 +Label/constants/outline_size = 0 +Label/constants/shadow_offset_x = 1 +Label/constants/shadow_offset_y = 1 +Label/constants/shadow_outline_size = 1 Label/font_sizes/font_size = 12 -Label/fonts/font = null +Label/fonts/font = ExtResource("1_crk4k") +Label/styles/normal = SubResource("StyleBoxEmpty_crk4k") +LineEdit/fonts/font = ExtResource("1_crk4k") MarginContainer/constants/margin_bottom = 10 MarginContainer/constants/margin_left = 10 MarginContainer/constants/margin_right = 10 diff --git a/UI/icon.png.import b/UI/icon.png.import index a62989d..7dfa490 100644 --- a/UI/icon.png.import +++ b/UI/icon.png.import @@ -2,7 +2,7 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c3hmtf0h6vtnr" +uid="uid://dkesga4w80a58" path="res://.godot/imported/icon.png-d44ad423496976af115f803f6386bc82.ctex" metadata={ "vram_texture": false diff --git a/project.godot b/project.godot index 0f3a1f1..5a78db8 100644 --- a/project.godot +++ b/project.godot @@ -12,7 +12,7 @@ config_version=5 config/name="Give LIFE Cybers" config/description="Cyberamics Simulator and programmer using Give LIFE's engine" -config/version="0.1-base0.2a" +config/version="0.1-base0.4" run/main_scene="uid://qvo7vlvac8o5" config/features=PackedStringArray("4.4", "Forward Plus") config/icon="uid://c3hmtf0h6vtnr"