diff --git a/models/menu/PDP.png b/models/menu/PDP.png new file mode 100644 index 0000000..03694ba Binary files /dev/null and b/models/menu/PDP.png differ diff --git a/models/menu/on_off.png b/models/menu/on_off.png new file mode 100644 index 0000000..278d7f5 Binary files /dev/null and b/models/menu/on_off.png differ diff --git a/models/menu/power_off.png b/models/menu/power_off.png new file mode 100644 index 0000000..231d984 Binary files /dev/null and b/models/menu/power_off.png differ diff --git a/ressources/sounds/menu/Microsoft Windows 98 Shutdown Sound.mp3 b/ressources/sounds/menu/Microsoft Windows 98 Shutdown Sound.mp3 new file mode 100644 index 0000000..45dc2b9 Binary files /dev/null and b/ressources/sounds/menu/Microsoft Windows 98 Shutdown Sound.mp3 differ diff --git a/ressources/sounds/menu/Microsoft Windows 98 Shutdown Sound.mp3.import b/ressources/sounds/menu/Microsoft Windows 98 Shutdown Sound.mp3.import new file mode 100644 index 0000000..0b426f6 --- /dev/null +++ b/ressources/sounds/menu/Microsoft Windows 98 Shutdown Sound.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://bnjm7gcfox6aj" +path="res://.godot/imported/Microsoft Windows 98 Shutdown Sound.mp3-5dbae7d9751993d8f3105001d30291fb.mp3str" + +[deps] + +source_file="res://ressources/sounds/menu/Microsoft Windows 98 Shutdown Sound.mp3" +dest_files=["res://.godot/imported/Microsoft Windows 98 Shutdown Sound.mp3-5dbae7d9751993d8f3105001d30291fb.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/ressources/sounds/menu/Microsoft Windows 98 Startup Sound .mp3 b/ressources/sounds/menu/Microsoft Windows 98 Startup Sound .mp3 new file mode 100644 index 0000000..cb65998 Binary files /dev/null and b/ressources/sounds/menu/Microsoft Windows 98 Startup Sound .mp3 differ diff --git a/ressources/sounds/menu/Microsoft Windows 98 Startup Sound .mp3.import b/ressources/sounds/menu/Microsoft Windows 98 Startup Sound .mp3.import new file mode 100644 index 0000000..129861d --- /dev/null +++ b/ressources/sounds/menu/Microsoft Windows 98 Startup Sound .mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://c5fgxh51yhon8" +path="res://.godot/imported/Microsoft Windows 98 Startup Sound .mp3-51335e6be6d692678355f0f41bf172b3.mp3str" + +[deps] + +source_file="res://ressources/sounds/menu/Microsoft Windows 98 Startup Sound .mp3" +dest_files=["res://.godot/imported/Microsoft Windows 98 Startup Sound .mp3-51335e6be6d692678355f0f41bf172b3.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/scenes/menu/Options.tscn b/scenes/menu/Options.tscn new file mode 100644 index 0000000..3c9bc62 --- /dev/null +++ b/scenes/menu/Options.tscn @@ -0,0 +1,3 @@ +[gd_scene format=3 uid="uid://dqo1qk6m6stq4"] + +[node name="Options" type="Node2D"] diff --git a/scenes/menu/go_in.gd b/scenes/menu/go_in.gd new file mode 100644 index 0000000..1587ebe --- /dev/null +++ b/scenes/menu/go_in.gd @@ -0,0 +1,21 @@ +extends Node2D +@onready var transition = $fade +# Called when the node enters the scene tree for the first time. + +func _ready(): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + transition.play("fade_in") + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + + +func _on_timer_timeout(): + $on_sound.play() + +func _on_on_sound_finished(): + get_tree().change_scene_to_file("res://scenes/menu/menu.tscn") + pass # Replace with function body. diff --git a/scenes/menu/go_in.tscn b/scenes/menu/go_in.tscn new file mode 100644 index 0000000..4b2e483 --- /dev/null +++ b/scenes/menu/go_in.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=6 format=3 uid="uid://bd6hvyj4335ye"] + +[ext_resource type="Script" path="res://scenes/menu/go_in.gd" id="1_fm2vx"] +[ext_resource type="Texture2D" uid="uid://dpthky7yki0m2" path="res://models/menu/on_off.png" id="2_hmhtg"] +[ext_resource type="AudioStream" uid="uid://c5fgxh51yhon8" path="res://ressources/sounds/menu/Microsoft Windows 98 Startup Sound .mp3" id="3_ekahx"] + +[sub_resource type="Animation" id="Animation_ojx4i"] +resource_name = "fade_in" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("fade/ColorRect:self_modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.1, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(0, 0, 0, 1), Color(1, 1, 1, 0)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_afckh"] +_data = { +"fade_in": SubResource("Animation_ojx4i") +} + +[node name="GoIn" type="Node2D"] +script = ExtResource("1_fm2vx") + +[node name="TextureRect" type="TextureRect" parent="."] +offset_right = 1604.0 +offset_bottom = 897.0 +texture = ExtResource("2_hmhtg") +expand_mode = 1 + +[node name="on_sound" type="AudioStreamPlayer2D" parent="."] +stream = ExtResource("3_ekahx") + +[node name="Timer" type="Timer" parent="."] +one_shot = true +autostart = true + +[node name="fade" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_afckh") +} + +[node name="ColorRect" type="ColorRect" parent="fade"] +self_modulate = Color(1, 1, 1, 0) +offset_right = 1625.0 +offset_bottom = 914.0 +color = Color(0, 0, 0, 1) + +[connection signal="finished" from="on_sound" to="." method="_on_on_sound_finished"] +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] diff --git a/scenes/menu/image_menu.tscn b/scenes/menu/image_menu.tscn new file mode 100644 index 0000000..22afcbb --- /dev/null +++ b/scenes/menu/image_menu.tscn @@ -0,0 +1,78 @@ +[gd_scene load_steps=9 format=3 uid="uid://cgdlh6iv2j7we"] + +[ext_resource type="Texture2D" uid="uid://bnd12xnq12mv3" path="res://models/menu/welcome.png" id="1_tgn7l"] +[ext_resource type="Texture2D" path="res://models/menu/Capture d’écran du 2024-01-27 17-48-43.png" id="2_076k5"] + +[sub_resource type="Gradient" id="Gradient_pacrk"] +offsets = PackedFloat32Array(0.684524, 1) +colors = PackedColorArray(0.384314, 0.509804, 0.866667, 1, 0.635294, 0.698039, 0.870588, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_76il0"] +gradient = SubResource("Gradient_pacrk") + +[sub_resource type="Gradient" id="Gradient_cwqoj"] +offsets = PackedFloat32Array(0.160714, 0.386905, 0.636905) +colors = PackedColorArray(0.384314, 0.509804, 0.866667, 1, 1, 1, 1, 1, 0.384314, 0.509804, 0.866667, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_yym56"] +gradient = SubResource("Gradient_cwqoj") + +[sub_resource type="Gradient" id="Gradient_wb1y0"] +colors = PackedColorArray(0.572549, 0.654902, 0.870588, 1, 0.384314, 0.509804, 0.866667, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_cmjru"] +gradient = SubResource("Gradient_wb1y0") + +[node name="Menu" type="Node2D"] + +[node name="BG" type="ColorRect" parent="."] +offset_left = 1.0 +offset_top = 3.0 +offset_right = 1600.0 +offset_bottom = 906.0 +color = Color(0.00392157, 0.184314, 0.607843, 1) + +[node name="FG" type="ColorRect" parent="."] +offset_left = 1.0 +offset_top = 105.0 +offset_right = 1601.0 +offset_bottom = 802.0 +color = Color(0.384314, 0.509804, 0.866667, 1) + +[node name="gradient" type="TextureRect" parent="."] +offset_left = 681.0 +offset_top = 180.0 +offset_right = 1303.0 +offset_bottom = 862.0 +rotation = 1.57256 +texture = SubResource("GradientTexture1D_76il0") + +[node name="welcome" type="TextureRect" parent="."] +offset_left = 108.0 +offset_top = 294.0 +offset_right = 592.0 +offset_bottom = 473.0 +texture = ExtResource("1_tgn7l") +expand_mode = 1 + +[node name="modele" type="TextureRect" parent="."] +offset_left = 14.0 +offset_top = 1076.0 +offset_right = 1577.0 +offset_bottom = 1966.0 +texture = ExtResource("2_076k5") + +[node name="horizontal line" type="TextureRect" parent="."] +offset_top = 105.0 +offset_right = 1600.0 +offset_bottom = 107.0 +texture = SubResource("GradientTexture1D_yym56") + +[node name="vertical line" type="TextureRect" parent="horizontal line"] +layout_mode = 0 +offset_left = 679.0 +offset_top = 3.0 +offset_right = 1373.0 +offset_bottom = 6.0 +rotation = 1.57089 +texture = SubResource("GradientTexture1D_cmjru") diff --git a/scenes/menu/leaving_scene.gd b/scenes/menu/leaving_scene.gd new file mode 100644 index 0000000..4bf6b9d --- /dev/null +++ b/scenes/menu/leaving_scene.gd @@ -0,0 +1,22 @@ +extends Node2D +@onready var transition = $Fade_out + +# Called when the node enters the scene tree for the first time. +func _ready(): + Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) + $off_sound.play() + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + + +func _on_timer_leave_timeout(): + get_tree().quit() + + +func _on_timer_fade_timeout(): + transition.play("fade_out") + pass # Replace with function body. diff --git a/scenes/menu/leaving_scene.tscn b/scenes/menu/leaving_scene.tscn new file mode 100644 index 0000000..5cd5c5e --- /dev/null +++ b/scenes/menu/leaving_scene.tscn @@ -0,0 +1,62 @@ +[gd_scene load_steps=6 format=3 uid="uid://bvvrnoynem37o"] + +[ext_resource type="Script" path="res://scenes/menu/leaving_scene.gd" id="1_a1d13"] +[ext_resource type="Texture2D" uid="uid://dpthky7yki0m2" path="res://models/menu/on_off.png" id="1_gqpbm"] +[ext_resource type="AudioStream" uid="uid://bnjm7gcfox6aj" path="res://ressources/sounds/menu/Microsoft Windows 98 Shutdown Sound.mp3" id="3_osush"] + +[sub_resource type="Animation" id="Animation_xvmmj"] +resource_name = "fade_out" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Fade_out/ColorRect:self_modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.1, 0.9), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(0, 0, 0, 1)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_kw5my"] +_data = { +"fade_out": SubResource("Animation_xvmmj") +} + +[node name="LeavingScene" type="Node2D"] +script = ExtResource("1_a1d13") + +[node name="TextureRect" type="TextureRect" parent="."] +offset_right = 1604.0 +offset_bottom = 897.0 +texture = ExtResource("1_gqpbm") +expand_mode = 1 + +[node name="Timer_leave" type="Timer" parent="."] +process_callback = 0 +wait_time = 4.0 +one_shot = true +autostart = true + +[node name="off_sound" type="AudioStreamPlayer2D" parent="."] +stream = ExtResource("3_osush") + +[node name="Timer_fade" type="Timer" parent="."] +wait_time = 3.0 +one_shot = true +autostart = true + +[node name="Fade_out" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_kw5my") +} + +[node name="ColorRect" type="ColorRect" parent="Fade_out"] +self_modulate = Color(1, 1, 1, 0) +offset_right = 1621.0 +offset_bottom = 919.0 +color = Color(0, 0, 0, 1) + +[connection signal="timeout" from="Timer_leave" to="." method="_on_timer_leave_timeout"] +[connection signal="timeout" from="Timer_fade" to="." method="_on_timer_fade_timeout"] diff --git a/scenes/menu/menu.gd b/scenes/menu/menu.gd new file mode 100644 index 0000000..37b59db --- /dev/null +++ b/scenes/menu/menu.gd @@ -0,0 +1,28 @@ +extends Node2D + + +# Called when the node enters the scene tree for the first time. +func _ready(): + Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + + +func _on_power_off_pressed(): + get_tree().change_scene_to_file("res://scenes/menu/leaving_scene.tscn") + +func _on_normal_start_pressed(): + #get_tree().change_scene_to_file("") + pass # Replace with function body. + +func _on_infinite_start_pressed(): + #get_tree().change_scene_to_file("") + pass # Replace with function body. + +func _on_options_pressed(): + #get_tree().change_scene_to_file("") + pass # Replace with function body. diff --git a/scenes/menu/menu.tscn b/scenes/menu/menu.tscn index 36f8073..7b761b4 100644 --- a/scenes/menu/menu.tscn +++ b/scenes/menu/menu.tscn @@ -1,78 +1,119 @@ -[gd_scene load_steps=9 format=3 uid="uid://cgdlh6iv2j7we"] +[gd_scene load_steps=6 format=3 uid="uid://do6hgdpuwfsmf"] -[ext_resource type="Texture2D" uid="uid://bnd12xnq12mv3" path="res://models/menu/welcome.png" id="1_2gkos"] -[ext_resource type="Texture2D" path="res://models/menu/Capture d’écran du 2024-01-27 17-48-43.png" id="2_4raw2"] - -[sub_resource type="Gradient" id="Gradient_pacrk"] -offsets = PackedFloat32Array(0.684524, 1) -colors = PackedColorArray(0.384314, 0.509804, 0.866667, 1, 0.635294, 0.698039, 0.870588, 1) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_76il0"] -gradient = SubResource("Gradient_pacrk") - -[sub_resource type="Gradient" id="Gradient_cwqoj"] -offsets = PackedFloat32Array(0.160714, 0.386905, 0.636905) -colors = PackedColorArray(0.384314, 0.509804, 0.866667, 1, 1, 1, 1, 1, 0.384314, 0.509804, 0.866667, 1) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_yym56"] -gradient = SubResource("Gradient_cwqoj") - -[sub_resource type="Gradient" id="Gradient_wb1y0"] -colors = PackedColorArray(0.572549, 0.654902, 0.870588, 1, 0.384314, 0.509804, 0.866667, 1) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_cmjru"] -gradient = SubResource("Gradient_wb1y0") +[ext_resource type="PackedScene" uid="uid://cgdlh6iv2j7we" path="res://scenes/menu/image_menu.tscn" id="1_f4wvw"] +[ext_resource type="Script" path="res://scenes/menu/menu.gd" id="1_y4d58"] +[ext_resource type="Texture2D" uid="uid://bcqdrfm52esft" path="res://models/menu/power_off.png" id="2_4yhxu"] +[ext_resource type="Texture2D" uid="uid://plpafbpfkjd7" path="res://models/menu/PDP.png" id="3_a6fh8"] +[ext_resource type="FontFile" uid="uid://dwgslonlru0ck" path="res://ressources/Battlenet.ttf" id="3_coatq"] [node name="Menu" type="Node2D"] +script = ExtResource("1_y4d58") -[node name="BG" type="ColorRect" parent="."] -offset_left = 1.0 -offset_top = 3.0 -offset_right = 1600.0 -offset_bottom = 906.0 -color = Color(0.00392157, 0.184314, 0.607843, 1) +[node name="image_menu" parent="." instance=ExtResource("1_f4wvw")] -[node name="FG" type="ColorRect" parent="."] -offset_left = 1.0 -offset_top = 105.0 -offset_right = 1601.0 -offset_bottom = 802.0 -color = Color(0.384314, 0.509804, 0.866667, 1) +[node name="Menu" type="VBoxContainer" parent="."] +offset_left = 915.0 +offset_top = 313.0 +offset_right = 1163.0 +offset_bottom = 433.0 +scale = Vector2(1.83, 1.83) +theme_override_constants/separation = 29 +alignment = 1 -[node name="gradient" type="TextureRect" parent="."] -offset_left = 681.0 -offset_top = 180.0 -offset_right = 1303.0 -offset_bottom = 862.0 -rotation = 1.57256 -texture = SubResource("GradientTexture1D_76il0") +[node name="NormalStart" type="Button" parent="Menu"] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = " " -[node name="welcome" type="TextureRect" parent="."] -offset_left = 108.0 -offset_top = 294.0 -offset_right = 592.0 -offset_bottom = 473.0 -texture = ExtResource("1_2gkos") +[node name="pdp1" type="TextureRect" parent="Menu/NormalStart"] +layout_mode = 0 +offset_left = 1.0929 +offset_top = -5.46448 +offset_right = 41.0929 +offset_bottom = 34.5355 +texture = ExtResource("3_a6fh8") expand_mode = 1 -[node name="modele" type="TextureRect" parent="."] -offset_left = 759.0 -offset_top = 573.0 -offset_right = 2322.0 -offset_bottom = 1463.0 -texture = ExtResource("2_4raw2") +[node name="Label" type="Label" parent="Menu/NormalStart"] +offset_left = 49.0 +offset_top = 2.0 +offset_right = 138.0 +offset_bottom = 28.0 +theme_override_fonts/font = ExtResource("3_coatq") +theme_override_font_sizes/font_size = 24 +text = "Start" -[node name="horizontal line" type="TextureRect" parent="."] -offset_top = 105.0 -offset_right = 1600.0 -offset_bottom = 107.0 -texture = SubResource("GradientTexture1D_yym56") +[node name="InfiniteStart" type="Button" parent="Menu"] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = " " -[node name="vertical line" type="TextureRect" parent="horizontal line"] +[node name="pdp2" type="TextureRect" parent="Menu/InfiniteStart"] +offset_top = -4.26229 +offset_right = 40.0 +offset_bottom = 35.7377 +texture = ExtResource("3_a6fh8") +expand_mode = 1 + +[node name="Label" type="Label" parent="Menu/InfiniteStart"] +offset_left = 49.0 +offset_top = 2.0 +offset_right = 138.0 +offset_bottom = 28.0 +theme_override_fonts/font = ExtResource("3_coatq") +theme_override_font_sizes/font_size = 24 +text = "Mode infini" + +[node name="Options" type="Button" parent="Menu"] +layout_mode = 2 +theme_type_variation = &"FlatButton" +text = " +" + +[node name="pdp3" type="TextureRect" parent="Menu/Options"] +offset_left = 1.0929 +offset_top = -4.69944 +offset_right = 41.0929 +offset_bottom = 35.3006 +texture = ExtResource("3_a6fh8") +expand_mode = 1 + +[node name="Label" type="Label" parent="Menu/Options"] +offset_left = 49.0 +offset_top = 2.0 +offset_right = 138.0 +offset_bottom = 28.0 +theme_override_fonts/font = ExtResource("3_coatq") +theme_override_font_sizes/font_size = 24 +text = "Options" + +[node name="Power off" type="Button" parent="."] +offset_left = 46.0 +offset_top = 828.0 +offset_right = 183.0 +offset_bottom = 858.0 +theme_type_variation = &"FlatButton" + +[node name="p_off" type="TextureRect" parent="Power off"] layout_mode = 0 -offset_left = 679.0 -offset_top = 3.0 -offset_right = 1373.0 -offset_bottom = 6.0 -rotation = 1.57089 -texture = SubResource("GradientTexture1D_cmjru") +offset_left = 6.0 +offset_top = -3.0 +offset_right = 43.0 +offset_bottom = 32.0 +texture = ExtResource("2_4yhxu") +expand_mode = 1 + +[node name="Label" type="Label" parent="Power off"] +layout_mode = 0 +offset_left = 49.0 +offset_top = 2.0 +offset_right = 138.0 +offset_bottom = 28.0 +theme_override_fonts/font = ExtResource("3_coatq") +theme_override_font_sizes/font_size = 24 +text = "Power off" + +[connection signal="pressed" from="Menu/NormalStart" to="." method="_on_normal_start_pressed"] +[connection signal="pressed" from="Menu/InfiniteStart" to="." method="_on_infinite_start_pressed"] +[connection signal="pressed" from="Menu/Options" to="." method="_on_options_pressed"] +[connection signal="pressed" from="Power off" to="." method="_on_power_off_pressed"]