diff --git a/Music/menu_transposed.mp3 b/Music/menu_transposed.mp3 new file mode 100644 index 0000000..8360615 Binary files /dev/null and b/Music/menu_transposed.mp3 differ diff --git a/Music/menu_transposed.mp3.import b/Music/menu_transposed.mp3.import new file mode 100644 index 0000000..5da7b93 --- /dev/null +++ b/Music/menu_transposed.mp3.import @@ -0,0 +1,15 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +path="res://.import/menu_transposed.mp3-cb1f2749d4b614dca17436c9442ea3de.mp3str" + +[deps] + +source_file="res://Music/menu_transposed.mp3" +dest_files=[ "res://.import/menu_transposed.mp3-cb1f2749d4b614dca17436c9442ea3de.mp3str" ] + +[params] + +loop=true +loop_offset=0 diff --git a/Scenes/Credits.tscn b/Scenes/Credits.tscn new file mode 100644 index 0000000..bdde71d --- /dev/null +++ b/Scenes/Credits.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://Textures/credit_finished.png" type="Texture" id=1] +[ext_resource path="res://Textures/Buttons/menu.png" type="Texture" id=2] +[ext_resource path="res://Textures/Buttons/menu_pressed.png" type="Texture" id=3] +[ext_resource path="res://Script/Credits.gd" type="Script" id=4] +[ext_resource path="res://Textures/credit_unfinished.png" type="Texture" id=5] + +[node name="Credits" type="Node2D"] +script = ExtResource( 4 ) +finished = ExtResource( 1 ) +not_finished = ExtResource( 5 ) + +[node name="Background" type="Sprite" parent="."] +position = Vector2( 960, 538.413 ) +texture = ExtResource( 5 ) + +[node name="Menu" type="TextureButton" parent="."] +margin_left = 1300.0 +margin_top = 850.0 +margin_right = 1650.0 +margin_bottom = 1010.0 +texture_normal = ExtResource( 2 ) +texture_pressed = ExtResource( 3 ) +texture_hover = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/Scenes/End.tscn b/Scenes/End.tscn new file mode 100644 index 0000000..eeb31c0 --- /dev/null +++ b/Scenes/End.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Music/menu_transposed.mp3" type="AudioStream" id=1] +[ext_resource path="res://Script/End.gd" type="Script" id=2] +[ext_resource path="res://Scenes/Credits.tscn" type="PackedScene" id=10] + +[node name="End" type="Node2D"] +script = ExtResource( 2 ) + +[node name="Sound" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 1 ) +autoplay = true + +[node name="Credits" parent="." instance=ExtResource( 10 )] diff --git a/Scenes/MainMenu.tscn b/Scenes/MainMenu.tscn index 4b361c0..50143e9 100644 --- a/Scenes/MainMenu.tscn +++ b/Scenes/MainMenu.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=10 format=2] +[gd_scene load_steps=11 format=2] [ext_resource path="res://Textures/title-screen.png" type="Texture" id=1] [ext_resource path="res://Textures/Buttons/exit.png" type="Texture" id=2] @@ -9,15 +9,18 @@ [ext_resource path="res://Script/MainMenu.gd" type="Script" id=7] [ext_resource path="res://Textures/Buttons/start_pressed.png" type="Texture" id=8] [ext_resource path="res://Music/menu.mp3" type="AudioStream" id=9] +[ext_resource path="res://Scenes/Credits.tscn" type="PackedScene" id=10] [node name="MainMenu" type="Node2D"] script = ExtResource( 7 ) -[node name="Background" type="Sprite" parent="."] +[node name="Main" type="Node2D" parent="."] + +[node name="Background" type="Sprite" parent="Main"] position = Vector2( 960, 538.413 ) texture = ExtResource( 1 ) -[node name="Start" type="TextureButton" parent="."] +[node name="Start" type="TextureButton" parent="Main"] margin_left = 1400.0 margin_top = 540.0 margin_right = 1750.0 @@ -29,7 +32,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Credits" type="TextureButton" parent="."] +[node name="Credits" type="TextureButton" parent="Main"] margin_left = 1400.0 margin_top = 710.0 margin_right = 1750.0 @@ -41,7 +44,7 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Exit" type="TextureButton" parent="."] +[node name="Exit" type="TextureButton" parent="Main"] margin_left = 1400.0 margin_top = 880.0 margin_right = 1750.0 @@ -53,6 +56,9 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Menu" type="AudioStreamPlayer" parent="."] +[node name="Sound" type="AudioStreamPlayer" parent="."] stream = ExtResource( 9 ) autoplay = true + +[node name="Credits" parent="." instance=ExtResource( 10 )] +visible = false diff --git a/Script/Credits.gd b/Script/Credits.gd new file mode 100644 index 0000000..ad075c4 --- /dev/null +++ b/Script/Credits.gd @@ -0,0 +1,13 @@ +extends Node2D + +export (Texture) var finished +export (Texture) var not_finished + +func _ready(): + check() + +func check(force := false): + if File.new().file_exists("user://finished.dat") or force: + $Background.texture = finished + else: + $Background.texture = not_finished diff --git a/Script/End.gd b/Script/End.gd new file mode 100644 index 0000000..c127c29 --- /dev/null +++ b/Script/End.gd @@ -0,0 +1,13 @@ +extends Node2D + + + +func _ready(): + var file = File.new() + file.open("user://finished.dat", File.WRITE) + file.close() + $Credits.check(true) + $Credits/Menu.connect("pressed", self, "back_menu") + +func back_menu(): + get_tree().change_scene("res://Scenes/MainMenu.tscn") diff --git a/Script/MainMenu.gd b/Script/MainMenu.gd index 6692b6e..188e419 100644 --- a/Script/MainMenu.gd +++ b/Script/MainMenu.gd @@ -2,14 +2,24 @@ extends Node2D func _ready(): - $Start.connect("pressed", self, "start_game") - $Exit.connect("pressed", self, "quit_game") + $Main/Start.connect("pressed", self, "start_game") + $Main/Credits.connect("pressed", self, "show_credits") + $Main/Exit.connect("pressed", self, "quit_game") + $Credits/Menu.connect("pressed", self, "show_main") if OS.get_name() == "HTML5": - remove_child($Exit) + remove_child($Main/Exit) func start_game(): get_tree().change_scene("res://Scenes/Game.tscn") func quit_game(): get_tree().quit() + +func show_credits(): + $Credits.visible = true + $Main.visible = false + +func show_main(): + $Credits.visible = false + $Main.visible = true diff --git a/Textures/Buttons/menu.png b/Textures/Buttons/menu.png new file mode 100644 index 0000000..70ce73e Binary files /dev/null and b/Textures/Buttons/menu.png differ diff --git a/Textures/Buttons/menu.png.import b/Textures/Buttons/menu.png.import new file mode 100644 index 0000000..08f439e --- /dev/null +++ b/Textures/Buttons/menu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/menu.png-635339d89e8aa9913682b89fa4100171.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Textures/Buttons/menu.png" +dest_files=[ "res://.import/menu.png-635339d89e8aa9913682b89fa4100171.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Textures/Buttons/menu_pressed.png b/Textures/Buttons/menu_pressed.png new file mode 100644 index 0000000..460882e Binary files /dev/null and b/Textures/Buttons/menu_pressed.png differ diff --git a/Textures/Buttons/menu_pressed.png.import b/Textures/Buttons/menu_pressed.png.import new file mode 100644 index 0000000..e4ea5ee --- /dev/null +++ b/Textures/Buttons/menu_pressed.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/menu_pressed.png-347d3bd8587a829dd2db0708af301913.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Textures/Buttons/menu_pressed.png" +dest_files=[ "res://.import/menu_pressed.png-347d3bd8587a829dd2db0708af301913.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Textures/credit_finished.png b/Textures/credit_finished.png new file mode 100644 index 0000000..da8e9e1 Binary files /dev/null and b/Textures/credit_finished.png differ diff --git a/Textures/credit_finished.png.import b/Textures/credit_finished.png.import new file mode 100644 index 0000000..d30f8eb --- /dev/null +++ b/Textures/credit_finished.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/credit_finished.png-0e48086a9093bcd78c1216a864bc2a91.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Textures/credit_finished.png" +dest_files=[ "res://.import/credit_finished.png-0e48086a9093bcd78c1216a864bc2a91.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Textures/credit_unfinished.png b/Textures/credit_unfinished.png new file mode 100644 index 0000000..9dc3d95 Binary files /dev/null and b/Textures/credit_unfinished.png differ diff --git a/Textures/credit_unfinished.png.import b/Textures/credit_unfinished.png.import new file mode 100644 index 0000000..331da33 --- /dev/null +++ b/Textures/credit_unfinished.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/credit_unfinished.png-23e0414c55e5adfc80e5daf751f77ecf.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Textures/credit_unfinished.png" +dest_files=[ "res://.import/credit_unfinished.png-23e0414c55e5adfc80e5daf751f77ecf.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0