diff --git a/gmtk_2024/CommodoreSixtyFour.ttf b/gmtk_2024/CommodoreSixtyFour.ttf new file mode 100644 index 0000000..8fa2229 Binary files /dev/null and b/gmtk_2024/CommodoreSixtyFour.ttf differ diff --git a/gmtk_2024/CommodoreSixtyFour.ttf.import b/gmtk_2024/CommodoreSixtyFour.ttf.import new file mode 100644 index 0000000..00b20ab --- /dev/null +++ b/gmtk_2024/CommodoreSixtyFour.ttf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://d3pbvdemdbxes" +path="res://.godot/imported/CommodoreSixtyFour.ttf-500f068f8657866f33df01894c79f165.fontdata" + +[deps] + +source_file="res://CommodoreSixtyFour.ttf" +dest_files=["res://.godot/imported/CommodoreSixtyFour.ttf-500f068f8657866f33df01894c79f165.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=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/gmtk_2024/Winds 7.ttf b/gmtk_2024/Winds 7.ttf new file mode 100644 index 0000000..a49900e Binary files /dev/null and b/gmtk_2024/Winds 7.ttf differ diff --git a/gmtk_2024/Winds 7.ttf.import b/gmtk_2024/Winds 7.ttf.import new file mode 100644 index 0000000..13b2a24 --- /dev/null +++ b/gmtk_2024/Winds 7.ttf.import @@ -0,0 +1,34 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://b1m5vkvhmf1x8" +path="res://.godot/imported/Winds 7.ttf-d65fb42952f9ffdf099366b21f03c274.fontdata" + +[deps] + +source_file="res://Winds 7.ttf" +dest_files=["res://.godot/imported/Winds 7.ttf-d65fb42952f9ffdf099366b21f03c274.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=1 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/gmtk_2024/canvas_layer.tscn b/gmtk_2024/canvas_layer.tscn new file mode 100644 index 0000000..9f54ec3 --- /dev/null +++ b/gmtk_2024/canvas_layer.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=3 format=3 uid="uid://7rnltps0ssra"] + +[ext_resource type="Shader" path="res://shaders/crt.gdshader" id="2_wxq0n"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_c8ly2"] +shader = ExtResource("2_wxq0n") +shader_parameter/crt_curve = 0.02 +shader_parameter/crt_scan_line_color = 0.347 +shader_parameter/aperture_grille_rate = 0.4 +shader_parameter/rf_switch_esque_blur = 1.0 +shader_parameter/white_noise_rate = 0.0 + +[node name="CanvasLayer" type="CanvasLayer"] + +[node name="ColorRect" type="ColorRect" parent="."] +material = SubResource("ShaderMaterial_c8ly2") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 diff --git a/gmtk_2024/levels/TestingField.tscn b/gmtk_2024/levels/TestingField.tscn index 24c7eb4..c523876 100644 --- a/gmtk_2024/levels/TestingField.tscn +++ b/gmtk_2024/levels/TestingField.tscn @@ -1,11 +1,12 @@ -[gd_scene load_steps=10 format=4 uid="uid://ctc0arg3efa5k"] +[gd_scene load_steps=11 format=4 uid="uid://ctc0arg3efa5k"] [ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_ad6qp"] [ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="2_60gse"] [ext_resource type="Texture2D" uid="uid://bki6ucvk6bjwk" path="res://textures/Level 01.png" id="2_gi0pl"] -[ext_resource type="Texture2D" uid="uid://c35kb2k4l1ku" path="res://textures/level01-spritesheet.png" id="3_3ou1v"] +[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="3_3ou1v"] [ext_resource type="PackedScene" uid="uid://vtwswrkfkgas" path="res://objects/EnemyMover.tscn" id="4_3fnma"] [ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="6_e2vpu"] +[ext_resource type="PackedScene" uid="uid://cpa66thuxma15" path="res://objects/MirrorOrb.tscn" id="7_gc26r"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e817v"] texture = ExtResource("3_3ou1v") @@ -163,3 +164,6 @@ direction = -1 [node name="Goal" parent="." index="11" instance=ExtResource("6_e2vpu")] position = Vector2(582, -317) + +[node name="MirrorOrb" parent="." index="12" instance=ExtResource("7_gc26r")] +position = Vector2(-431, -212) diff --git a/gmtk_2024/menu/level_menu/level_button.tscn b/gmtk_2024/menu/level_menu/level_button.tscn new file mode 100644 index 0000000..177f0b6 --- /dev/null +++ b/gmtk_2024/menu/level_menu/level_button.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=5 format=3 uid="uid://t83eid7pf4iv"] + +[ext_resource type="Texture2D" uid="uid://yg2u8vwwbpv1" path="res://textures/File-Icon.png" id="1_2sfn6"] +[ext_resource type="Texture2D" uid="uid://bc2ictes4mln1" path="res://textures/File-Icon-Closed.png" id="2_6ev1f"] +[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="3_732s0"] +[ext_resource type="Script" path="res://scripts/level_menu_level_button.gd" id="3_t0h1w"] + +[node name="LevelButton" type="TextureButton"] +custom_minimum_size = Vector2(50, 50) +offset_right = 40.0 +offset_bottom = 40.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +disabled = true +texture_normal = ExtResource("1_2sfn6") +texture_disabled = ExtResource("2_6ev1f") +ignore_texture_size = true +stretch_mode = 5 +script = ExtResource("3_t0h1w") + +[node name="Label" type="Label" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_colors/font_outline_color = Color(0, 0, 0, 1) +theme_override_constants/outline_size = 3 +theme_override_fonts/font = ExtResource("3_732s0") +theme_override_font_sizes/font_size = 35 +text = "1" +horizontal_alignment = 1 +vertical_alignment = 1 + +[connection signal="pressed" from="." to="." method="_on_pressed"] diff --git a/gmtk_2024/menu/level_menu/level_select.tscn b/gmtk_2024/menu/level_menu/level_select.tscn new file mode 100644 index 0000000..418c50b --- /dev/null +++ b/gmtk_2024/menu/level_menu/level_select.tscn @@ -0,0 +1,86 @@ +[gd_scene load_steps=5 format=3 uid="uid://bvvxwhg4tihng"] + +[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_3v0vu"] +[ext_resource type="Texture2D" uid="uid://dr4ayedb5xb2k" path="res://textures/file_editor.png" id="1_44xee"] +[ext_resource type="Script" path="res://scripts/level_select.gd" id="2_nurro"] +[ext_resource type="PackedScene" uid="uid://t83eid7pf4iv" path="res://menu/level_menu/level_button.tscn" id="4_0d7hu"] + +[node name="LevelSelect" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_3v0vu") +script = ExtResource("2_nurro") + +[node name="Background" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("1_44xee") +expand_mode = 1 + +[node name="Label" type="Label" parent="Background"] +layout_mode = 0 +offset_left = 30.0 +offset_top = -8.0 +offset_right = 272.0 +offset_bottom = 42.0 +theme_override_font_sizes/font_size = 45 +text = "level select" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="QuitButton" type="Button" parent="Background"] +layout_mode = 0 +offset_left = 1232.0 +offset_top = 2.0 +offset_right = 1270.0 +offset_bottom = 40.0 +flat = true + +[node name="ClipControl" type="Control" parent="Background"] +layout_mode = 1 +anchor_left = 0.005 +anchor_top = 0.11 +anchor_right = 0.956 +anchor_bottom = 0.924 +offset_left = 0.599999 +offset_top = -0.200005 +offset_right = 0.319946 +offset_bottom = -0.280029 + +[node name="GridContainer" type="GridContainer" parent="Background/ClipControl"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +columns = 3 + +[node name="LevelButton" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")] +layout_mode = 2 + +[node name="LevelButton2" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")] +layout_mode = 2 + +[node name="LevelButton3" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")] +layout_mode = 2 + +[node name="LevelButton4" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")] +layout_mode = 2 +level_num = 2 + +[node name="LevelButton5" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")] +layout_mode = 2 + +[node name="LevelButton6" parent="Background/ClipControl/GridContainer" instance=ExtResource("4_0d7hu")] +layout_mode = 2 + +[connection signal="pressed" from="Background/QuitButton" to="." method="_on_quit_button_pressed"] diff --git a/gmtk_2024/menu/main_menu/CreditsScene.tscn b/gmtk_2024/menu/main_menu/CreditsScene.tscn new file mode 100644 index 0000000..95c7a98 --- /dev/null +++ b/gmtk_2024/menu/main_menu/CreditsScene.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=3 uid="uid://cut2xjnvh8i58"] + +[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_tmf11"] +[ext_resource type="Script" path="res://scripts/menu_credit_control.gd" id="2_ogwi7"] + +[node name="CreditScene" type="MarginContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_tmf11") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 2 +color = Color(0, 0, 0, 1) + +[node name="Control" type="Control" parent="."] +layout_mode = 2 +script = ExtResource("2_ogwi7") + +[node name="Label" type="Label" parent="Control"] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 13.0 diff --git a/gmtk_2024/menu/main_menu/MainMenu.tscn b/gmtk_2024/menu/main_menu/MainMenu.tscn new file mode 100644 index 0000000..7f15265 --- /dev/null +++ b/gmtk_2024/menu/main_menu/MainMenu.tscn @@ -0,0 +1,84 @@ +[gd_scene load_steps=4 format=3 uid="uid://1h2urto6y63r"] + +[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="1_1tx2i"] +[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_kkajn"] +[ext_resource type="Script" path="res://scripts/menu_main_control.gd" id="2_g8c7b"] + +[node name="MainMenu" type="MarginContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_kkajn") + +[node name="ColorRect" type="ColorRect" parent="."] +layout_mode = 2 +color = Color(0, 0, 0, 1) + +[node name="Control" type="Control" parent="."] +layout_mode = 2 +script = ExtResource("2_g8c7b") + +[node name="VBoxContainer" type="VBoxContainer" parent="Control"] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 + +[node name="VBoxContainer2" type="VBoxContainer" parent="Control/VBoxContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="Control/VBoxContainer/VBoxContainer2"] +layout_mode = 2 + +[node name="VBoxContainer3" type="VBoxContainer" parent="Control/VBoxContainer"] +layout_mode = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="Control/VBoxContainer/VBoxContainer3"] +visible = false +layout_mode = 2 + +[node name="Label" type="Label" parent="Control/VBoxContainer/VBoxContainer3/HBoxContainer"] +custom_minimum_size = Vector2(8, 0) +layout_mode = 2 +theme_override_fonts/font = ExtResource("1_1tx2i") +text = ">" + +[node name="start" type="Button" parent="Control/VBoxContainer/VBoxContainer3/HBoxContainer"] +layout_mode = 2 +text = "start" +flat = true + +[node name="HBoxContainer2" type="HBoxContainer" parent="Control/VBoxContainer/VBoxContainer3"] +visible = false +layout_mode = 2 + +[node name="Label" type="Label" parent="Control/VBoxContainer/VBoxContainer3/HBoxContainer2"] +custom_minimum_size = Vector2(8, 0) +layout_mode = 2 +theme_override_fonts/font = ExtResource("1_1tx2i") +text = ">" + +[node name="credits" type="Button" parent="Control/VBoxContainer/VBoxContainer3/HBoxContainer2"] +layout_mode = 2 +text = "credits" +flat = true + +[node name="HBoxContainer3" type="HBoxContainer" parent="Control/VBoxContainer/VBoxContainer3"] +visible = false +layout_mode = 2 + +[node name="Label" type="Label" parent="Control/VBoxContainer/VBoxContainer3/HBoxContainer3"] +custom_minimum_size = Vector2(8, 0) +layout_mode = 2 +theme_override_fonts/font = ExtResource("1_1tx2i") +text = ">" + +[node name="quit" type="Button" parent="Control/VBoxContainer/VBoxContainer3/HBoxContainer3"] +layout_mode = 2 +text = "quit" +flat = true + +[connection signal="pressed" from="Control/VBoxContainer/VBoxContainer3/HBoxContainer/start" to="Control" method="_on_start_button_pressed"] +[connection signal="pressed" from="Control/VBoxContainer/VBoxContainer3/HBoxContainer2/credits" to="Control" method="_on_credits_button_pressed"] +[connection signal="pressed" from="Control/VBoxContainer/VBoxContainer3/HBoxContainer3/quit" to="Control" method="_on_quit_button_pressed"] diff --git a/gmtk_2024/menu/main_menu/MainMenuTheme.tres b/gmtk_2024/menu/main_menu/MainMenuTheme.tres new file mode 100644 index 0000000..13841fe --- /dev/null +++ b/gmtk_2024/menu/main_menu/MainMenuTheme.tres @@ -0,0 +1,19 @@ +[gd_resource type="Theme" load_steps=3 format=3 uid="uid://cohbys634cf18"] + +[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="1_ep67t"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vnp6n"] + +[resource] +default_font = ExtResource("1_ep67t") +Button/colors/font_color = Color(0, 1, 0, 1) +Label/colors/font_color = Color(0, 1, 0, 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 = 16 +Label/styles/normal = SubResource("StyleBoxEmpty_vnp6n") diff --git a/gmtk_2024/menu/main_menu/conFBFE.tmp b/gmtk_2024/menu/main_menu/conFBFE.tmp new file mode 100644 index 0000000..0c2e91e --- /dev/null +++ b/gmtk_2024/menu/main_menu/conFBFE.tmp @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=3 uid="uid://cscsuljo8ivad"] + +[ext_resource type="Script" path="res://control.gd" id="1_demfw"] +[ext_resource type="PackedScene" uid="uid://cxbalfjqtp06t" path="res://canvas_layer.tscn" id="2_jr3s0"] + +[node name="Control" type="Control"] +layout_mode = 3 +anchors_preset = 0 +offset_right = 40.0 +offset_bottom = 40.0 +script = ExtResource("1_demfw") + +[node name="Label" type="Label" parent="."] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 23.0 + +[node name="CanvasLayer" parent="." instance=ExtResource("2_jr3s0")] diff --git a/gmtk_2024/objects/Goal.tscn b/gmtk_2024/objects/Goal.tscn index e9c3aad..667594d 100644 --- a/gmtk_2024/objects/Goal.tscn +++ b/gmtk_2024/objects/Goal.tscn @@ -9,6 +9,8 @@ radius = 41.0488 [node name="Goal" type="Area2D" node_paths=PackedStringArray("img", "img2")] scale = Vector2(0.5, 0.5) +collision_layer = 0 +collision_mask = 4 script = ExtResource("1_xjaxa") img = NodePath("GoalImg") img2 = NodePath("GoalBg") @@ -23,3 +25,5 @@ texture = ExtResource("1_y0s3c") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("CircleShape2D_fjcci") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/gmtk_2024/objects/MirrorOrb.tscn b/gmtk_2024/objects/MirrorOrb.tscn new file mode 100644 index 0000000..9088ace --- /dev/null +++ b/gmtk_2024/objects/MirrorOrb.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=3 uid="uid://cpa66thuxma15"] + +[ext_resource type="Texture2D" uid="uid://hsp64ixwg2bb" path="res://temp_assets/goal.png" id="1_xnjup"] +[ext_resource type="Texture2D" uid="uid://bs8mevd0fornj" path="res://temp_assets/goal_bg.png" id="2_iknpl"] + +[node name="MirrorOrb" type="Area2D"] + +[node name="Orb" type="Sprite2D" parent="."] +scale = Vector2(0.4, 0.4) +texture = ExtResource("1_xnjup") + +[node name="Aura" type="Sprite2D" parent="."] +modulate = Color(1, 1, 1, 0.227451) +z_index = -1 +texture = ExtResource("2_iknpl") diff --git a/gmtk_2024/project.godot b/gmtk_2024/project.godot index 3d00d7f..59474e7 100644 --- a/gmtk_2024/project.godot +++ b/gmtk_2024/project.godot @@ -13,7 +13,7 @@ config_version=5 config/name="GMTK_2024" run/main_scene="res://levels/TestingField.tscn" config/features=PackedStringArray("4.3", "GL Compatibility") -config/icon="res://temp_assets/icon.svg" +config/icon="res://icon.svg" [display] @@ -39,6 +39,11 @@ player_jump={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) ] } +click={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) +] +} [layer_names] diff --git a/gmtk_2024/project.godot.orig b/gmtk_2024/project.godot.orig new file mode 100644 index 0000000..c123d89 --- /dev/null +++ b/gmtk_2024/project.godot.orig @@ -0,0 +1,58 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="GMTK_2024" +<<<<<<< HEAD +run/main_scene="res://menu/main_menu/MainMenu.tscn" +======= +run/main_scene="res://levels/TestingField.tscn" +>>>>>>> dev +config/features=PackedStringArray("4.3", "GL Compatibility") +config/icon="res://temp_assets/icon.svg" + +[display] + +window/size/viewport_width=1280 +window/size/viewport_height=720 +window/size/mode=2 +window/stretch/mode="viewport" + +[input] + +player_right={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"location":0,"echo":false,"script":null) +] +} +player_left={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null) +] +} +player_jump={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) +] +} +click={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) +] +} + +[rendering] + +textures/canvas_textures/default_texture_filter=0 +renderer/rendering_method="gl_compatibility" +renderer/rendering_method.mobile="gl_compatibility" +environment/defaults/default_clear_color=Color(0.785573, 0.700355, 0.83902, 1) +2d/snap/snap_2d_transforms_to_pixel=true diff --git a/gmtk_2024/scripts/goal.gd b/gmtk_2024/scripts/goal.gd index bd766e6..89fa9d3 100644 --- a/gmtk_2024/scripts/goal.gd +++ b/gmtk_2024/scripts/goal.gd @@ -1,6 +1,6 @@ extends Node -@export var next : Node +@export var next : PackedScene @export var img : Sprite2D @export var img2 : Sprite2D @@ -9,3 +9,7 @@ func _process(delta: float) -> void: img.rotate(2 * delta) img2.rotate(1 * delta) + + +func _on_body_entered(body: Node2D) -> void: + get_tree().change_scene_to_packed(next) diff --git a/gmtk_2024/scripts/level_menu_level_button.gd b/gmtk_2024/scripts/level_menu_level_button.gd new file mode 100644 index 0000000..8144dfe --- /dev/null +++ b/gmtk_2024/scripts/level_menu_level_button.gd @@ -0,0 +1,24 @@ +@tool +extends TextureButton + +signal level_selected + +@export var level_num: int = 1 +@export var locked: bool = true: + set(value): + locked = value + level_locked() if locked else level_unlocked() + +func level_locked() -> void: + level_state(true) + +func level_unlocked() -> void: + level_state(false) + +func level_state(value: bool) -> void: + disabled = value + $Label.visible = not value + + +func _on_pressed(): + level_selected.emit(level_num) diff --git a/gmtk_2024/scripts/level_select.gd b/gmtk_2024/scripts/level_select.gd new file mode 100644 index 0000000..db4ad08 --- /dev/null +++ b/gmtk_2024/scripts/level_select.gd @@ -0,0 +1,13 @@ +extends Control + +func _ready(): + setup_level_box() + +func setup_level_box(): + for box in $Background/ClipControl/GridContainer.get_children(): + box.level_num = box.get_index() + 1 + box.locked = false + + +func _on_quit_button_pressed(): + get_tree().change_scene_to_file("res://menu/main_menu/MainMenu.tscn") diff --git a/gmtk_2024/scripts/menu_credit_control.gd b/gmtk_2024/scripts/menu_credit_control.gd new file mode 100644 index 0000000..c6e6147 --- /dev/null +++ b/gmtk_2024/scripts/menu_credit_control.gd @@ -0,0 +1,42 @@ +extends Control + +var credits_text = """ +CREDITS: +----------- +Programming: Jannis, Fabio +Design: Leon +Music: TBN +""" + +var current_text = "" +var char_index = 0 +var typing_speed = 0.05 +var fast_typing_speed = 0.005 + +func _ready(): + _start_typing() + +func _process(_delta: float) -> void: + if Input.is_action_pressed("ui_accept") or Input.is_action_pressed("click"): + typing_speed = fast_typing_speed + else: + typing_speed = 0.05 + +func _start_typing() -> void: + current_text = "" + char_index = 0 + _update_text() + +func _update_text() -> void: + if char_index < credits_text.length(): + current_text += credits_text[char_index] + $Label.text = current_text + char_index += 1 + await get_tree().create_timer(typing_speed).timeout + _update_text() + else: + _return_to_main_menu() + +func _return_to_main_menu() -> void: + await get_tree().create_timer(2).timeout + get_tree().change_scene_to_file("res://menu/main_menu/MainMenu.tscn") diff --git a/gmtk_2024/scripts/menu_main_control.gd b/gmtk_2024/scripts/menu_main_control.gd new file mode 100644 index 0000000..e445554 --- /dev/null +++ b/gmtk_2024/scripts/menu_main_control.gd @@ -0,0 +1,68 @@ +extends Control + +var display_text = """ +SYSTEM INITIALIZATION... +--------------------------------------- +PLACEHOLDER BOOT SEQUENCE +COPYRIGHT PLACEHOLDER + +> CPU: +> MEMORY: +> STORAGE: +> GPU: + +>> WARNING: +>> RECOMMENDED ACTION: + +SYSTEM READY. +PRESS START TO INITIATE. + +""" + +var current_text = "" +var char_index = 0 +var typing_speed = 0.05 +var fast_typing_speed = 0.005 + +func _ready(): + for hbox in $VBoxContainer/VBoxContainer3.get_children(): + hbox.visible = false + + _start_typing() + +func _process(_delta: float) -> void: + if Input.is_action_pressed("ui_accept") or Input.is_action_pressed("click"): + typing_speed = fast_typing_speed + else: + typing_speed = 0.05 + +func _start_typing() -> void: + current_text = "" + char_index = 0 + _update_text() + +func _update_text() -> void: + if char_index < display_text.length(): + current_text += display_text[char_index] + $VBoxContainer/VBoxContainer2/Label.text = current_text + char_index += 1 + await get_tree().create_timer(typing_speed).timeout + _update_text() + else: + _show_menu_options() + +func _show_menu_options() -> void: + for hbox in $VBoxContainer/VBoxContainer3.get_children(): + hbox.visible = true + + +func _on_start_button_pressed() -> void: + get_tree().change_scene_to_file("res://menu/level_menu/level_select.tscn") + +func _on_credits_button_pressed() -> void: + get_tree().change_scene_to_file("res://menu/main_menu/CreditsScene.tscn") + +func _on_quit_button_pressed() -> void: + $VBoxContainer/VBoxContainer2/Label.text += "\nLogging out!" + await get_tree().create_timer(0.5).timeout + get_tree().quit() diff --git a/gmtk_2024/textures/File-Icon-Closed.png b/gmtk_2024/textures/File-Icon-Closed.png new file mode 100644 index 0000000..04f4227 Binary files /dev/null and b/gmtk_2024/textures/File-Icon-Closed.png differ diff --git a/gmtk_2024/textures/File-Icon.png b/gmtk_2024/textures/File-Icon.png new file mode 100644 index 0000000..d23a9a8 Binary files /dev/null and b/gmtk_2024/textures/File-Icon.png differ diff --git a/gmtk_2024/textures/level01-spritesheet.png.import b/gmtk_2024/textures/level01-spritesheet.png.import new file mode 100644 index 0000000..2f5f288 --- /dev/null +++ b/gmtk_2024/textures/level01-spritesheet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3m4os8kteaix" +path="res://.godot/imported/level01-spritesheet.png-1916fd85baf9b82e97ba6ec03a3146d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://textures/level01-spritesheet.png" +dest_files=["res://.godot/imported/level01-spritesheet.png-1916fd85baf9b82e97ba6ec03a3146d9.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