diff --git a/Scenes/GUI/MainMenu.tscn b/Scenes/GUI/MainMenu.tscn index 74d17fe..9ca0c41 100644 --- a/Scenes/GUI/MainMenu.tscn +++ b/Scenes/GUI/MainMenu.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=17 format=3 uid="uid://1ikkb4b8mw1w"] +[gd_scene load_steps=18 format=3 uid="uid://1ikkb4b8mw1w"] [ext_resource type="Script" uid="uid://b5nh5td5bdsfd" path="res://Scripts/MainMenu.gd" id="1_ocgay"] [ext_resource type="Texture2D" uid="uid://dbh0vh85wks2l" path="res://UI/logo.png" id="2_6d82g"] +[ext_resource type="Texture2D" uid="uid://cmvq2wqvp5m64" path="res://UI/FreeroamThumbnails/NoThumb.png" id="3_vaoig"] [ext_resource type="Script" uid="uid://c8dhm0nhxqlth" path="res://Scripts/GraphicsOptions.gd" id="8_wdeli"] [ext_resource type="Script" uid="uid://bmqi57p5yipll" path="res://Scripts/InterfaceOptions.gd" id="9_wyv1s"] @@ -52,6 +53,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 expand_mode = 1 +stretch_mode = 6 [node name="Logo" type="TextureRect" parent="."] layout_mode = 0 @@ -206,33 +208,14 @@ label_settings = SubResource("LabelSettings_dkd36") horizontal_alignment = 1 vertical_alignment = 1 -[node name="Label2" type="Label" parent="FreeRoamChooseScreen/DialogPanel"] -layout_mode = 1 -anchors_preset = -1 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -128.0 -offset_top = -96.0 -offset_right = 128.0 -offset_bottom = -64.0 -grow_horizontal = 2 -grow_vertical = 2 -text = "Map to load" -vertical_alignment = 1 - [node name="MapSelector" type="OptionButton" parent="FreeRoamChooseScreen/DialogPanel"] layout_mode = 1 anchors_preset = -1 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -128.0 -offset_top = -56.0 -offset_right = 128.0 -offset_bottom = -24.0 +anchor_right = 1.0 +offset_left = 8.0 +offset_top = 120.0 +offset_right = -8.0 +offset_bottom = 152.0 grow_horizontal = 2 grow_vertical = 2 selected = 1 @@ -255,19 +238,47 @@ popup/item_6/text = "Modded Maps" popup/item_6/id = 3 popup/item_6/separator = true -[node name="LoadMapButton" type="Button" parent="FreeRoamChooseScreen/DialogPanel"] +[node name="MapThumbnail" type="TextureRect" parent="FreeRoamChooseScreen/DialogPanel"] layout_mode = 1 -anchors_preset = 8 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -128.0 -offset_top = -16.0 -offset_right = 128.0 -offset_bottom = 16.0 +anchors_preset = -1 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 8.0 +offset_top = 164.0 +offset_right = -8.0 +offset_bottom = -128.0 grow_horizontal = 2 grow_vertical = 2 +texture = ExtResource("3_vaoig") +expand_mode = 1 +stretch_mode = 6 + +[node name="DescriptionLabel" type="Label" parent="FreeRoamChooseScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 8.0 +offset_top = -120.0 +offset_right = -8.0 +offset_bottom = -44.0 +text = "Select a map to view information!" +autowrap_mode = 2 +text_overrun_behavior = 3 + +[node name="LoadMapButton" type="Button" parent="FreeRoamChooseScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -40.0 +offset_right = -8.0 +offset_bottom = -8.0 +grow_horizontal = 0 +grow_vertical = 0 text = "Load Map" [node name="ModsScreen" type="Control" parent="."] @@ -975,6 +986,7 @@ vertical_alignment = 1 [connection signal="pressed" from="Buttons/SettingsButton" to="." method="_on_settings_button_pressed"] [connection signal="pressed" from="Buttons/ExitButton" to="." method="_on_exit_button_pressed"] [connection signal="pressed" from="FreeRoamChooseScreen/InputEater" to="." method="_on_input_eater_pressed"] +[connection signal="item_selected" from="FreeRoamChooseScreen/DialogPanel/MapSelector" to="." method="_on_map_selector_item_selected"] [connection signal="pressed" from="FreeRoamChooseScreen/DialogPanel/LoadMapButton" to="." method="_on_load_map_button_pressed"] [connection signal="pressed" from="ModsScreen/InputEater" to="." method="_on_input_eater_pressed"] [connection signal="item_selected" from="ModsScreen/DialogPanel/ModList" to="." method="_on_mod_list_item_selected"] diff --git a/Scripts/Configs/FreeRoamMaps.gd b/Scripts/Configs/FreeRoamMaps.gd index 76a6dc4..4992d32 100644 --- a/Scripts/Configs/FreeRoamMaps.gd +++ b/Scripts/Configs/FreeRoamMaps.gd @@ -3,7 +3,8 @@ extends Node var Generic1Stage = { "name": "Generic 1-Stage", "scene": "res://Scenes/FreeRoam/Generic/Generic1Stage.tscn", - "description": "A generic showroom featuring the 1-Stage", + "description": "A generic showroom featuring the 1-Stage.\nInstalled from 1992-1998.", + "thumbnail": "res://UI/FreeroamThumbnails/Generic1Stage.png", "stage": Stages.Cyber1Stage, "curtains": { "Curtain": [ "1-Stage" ] @@ -13,7 +14,8 @@ var Generic1Stage = { var Generic12Stage = { "name": "Generic 1-Stage w 2-Stage Props", "scene": "res://Scenes/FreeRoam/Generic/Generic12Stage.tscn", - "description": "A generic showroom featuring the 1-Stage with 2-Stage props", + "description": "A generic showroom featuring the 1-Stage with 2-Stage props.\nInstalled from 1992-2011.", + "thumbnail": "res://UI/FreeroamThumbnails/Generic12Stage.png", "stage": Stages.Cyber12Stage, "curtains": { "Curtain": [ "1-Stage" ] @@ -23,7 +25,8 @@ var Generic12Stage = { var Generic2Stage = { "name": "Generic 2-Stage", "scene": "res://Scenes/FreeRoam/Generic/Generic2Stage.tscn", - "description": "A generic showroom featuring the 2-Stage", + "description": "A generic showroom featuring the 2-Stage.\nInstalled from 1992-1997.", + "thumbnail": "res://UI/FreeroamThumbnails/Generic2Stage.png", "stage": Stages.Cyber2Stage, "curtains": { "Curtains": [ "CEC", "Main" ] @@ -33,7 +36,8 @@ var Generic2Stage = { var GenericMiniUnit1Stage = { "name": "Generic Mini Unit 1-Stage", "scene": "res://Scenes/FreeRoam/Generic/GenericMiniUnit1Stage.tscn", - "description": "A generic showroom featuring the Mini Unit 1-Stage", + "description": "A generic showroom featuring the Mini Unit 1-Stage.\nInstalled from 1992-1994.", + "thumbnail": "res://UI/FreeroamThumbnails/GenericMini1Stage.png", "stage": Stages.MiniUnit1Stage, "curtains": [ ] } diff --git a/Scripts/MainMenu.gd b/Scripts/MainMenu.gd index c67b1b5..d78deb2 100644 --- a/Scripts/MainMenu.gd +++ b/Scripts/MainMenu.gd @@ -44,6 +44,8 @@ func _ready(): $ModsScreen/DialogPanel/ModList.add_item(modManifest.ModInfo["mod_name"], null, true) tempLoadedList.append(modManifest.ModInfo["mod_name"]) print("Loaded Mod \"%s\"" % modManifest.ModInfo["mod_name"]) + + _on_map_selector_item_selected($FreeRoamChooseScreen/DialogPanel/MapSelector.selected) func _on_button_pressed() -> void: get_tree().change_scene_to_file("res://Scenes/GUI/EditorScreen.tscn") @@ -97,3 +99,8 @@ func _on_open_folder_button_pressed() -> void: func _on_load_map_button_pressed() -> void: get_tree().change_scene_to_file(FreeRoamMaps.MapIndex[$FreeRoamChooseScreen/DialogPanel/MapSelector.get_item_text($FreeRoamChooseScreen/DialogPanel/MapSelector.selected)]["scene"]) + + +func _on_map_selector_item_selected(index: int) -> void: + $FreeRoamChooseScreen/DialogPanel/MapThumbnail.set_texture(load(FreeRoamMaps.MapIndex[$FreeRoamChooseScreen/DialogPanel/MapSelector.get_item_text(index)]["thumbnail"])) + $FreeRoamChooseScreen/DialogPanel/DescriptionLabel.text = FreeRoamMaps.MapIndex[$FreeRoamChooseScreen/DialogPanel/MapSelector.get_item_text(index)]["description"] diff --git a/UI/FreeroamThumbnails/Generic12Stage.png b/UI/FreeroamThumbnails/Generic12Stage.png new file mode 100644 index 0000000..0624443 Binary files /dev/null and b/UI/FreeroamThumbnails/Generic12Stage.png differ diff --git a/UI/FreeroamThumbnails/Generic12Stage.png.import b/UI/FreeroamThumbnails/Generic12Stage.png.import new file mode 100644 index 0000000..9ffd3eb --- /dev/null +++ b/UI/FreeroamThumbnails/Generic12Stage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhjyy4712vor8" +path="res://.godot/imported/Generic12Stage.png-b6a7e8ff6af6f10f1f0634957d8d4b70.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/FreeroamThumbnails/Generic12Stage.png" +dest_files=["res://.godot/imported/Generic12Stage.png-b6a7e8ff6af6f10f1f0634957d8d4b70.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 diff --git a/UI/FreeroamThumbnails/Generic1Stage.png b/UI/FreeroamThumbnails/Generic1Stage.png new file mode 100644 index 0000000..94c0c8f Binary files /dev/null and b/UI/FreeroamThumbnails/Generic1Stage.png differ diff --git a/UI/FreeroamThumbnails/Generic1Stage.png.import b/UI/FreeroamThumbnails/Generic1Stage.png.import new file mode 100644 index 0000000..7e13894 --- /dev/null +++ b/UI/FreeroamThumbnails/Generic1Stage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ilhwume5n0r0" +path="res://.godot/imported/Generic1Stage.png-23012d7b271d89e90a03d0da6ebe6a78.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/FreeroamThumbnails/Generic1Stage.png" +dest_files=["res://.godot/imported/Generic1Stage.png-23012d7b271d89e90a03d0da6ebe6a78.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 diff --git a/UI/FreeroamThumbnails/Generic2Stage.png b/UI/FreeroamThumbnails/Generic2Stage.png new file mode 100644 index 0000000..ad05116 Binary files /dev/null and b/UI/FreeroamThumbnails/Generic2Stage.png differ diff --git a/UI/FreeroamThumbnails/Generic2Stage.png.import b/UI/FreeroamThumbnails/Generic2Stage.png.import new file mode 100644 index 0000000..ab23f9e --- /dev/null +++ b/UI/FreeroamThumbnails/Generic2Stage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxiinq70cpggx" +path="res://.godot/imported/Generic2Stage.png-a5b89d60e31a84a444b7a958c7964331.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/FreeroamThumbnails/Generic2Stage.png" +dest_files=["res://.godot/imported/Generic2Stage.png-a5b89d60e31a84a444b7a958c7964331.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 diff --git a/UI/FreeroamThumbnails/GenericMini1Stage.png b/UI/FreeroamThumbnails/GenericMini1Stage.png new file mode 100644 index 0000000..acbddf5 Binary files /dev/null and b/UI/FreeroamThumbnails/GenericMini1Stage.png differ diff --git a/UI/FreeroamThumbnails/GenericMini1Stage.png.import b/UI/FreeroamThumbnails/GenericMini1Stage.png.import new file mode 100644 index 0000000..987e515 --- /dev/null +++ b/UI/FreeroamThumbnails/GenericMini1Stage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxvvrud4srcgq" +path="res://.godot/imported/GenericMini1Stage.png-3f32baf54bc46bcd093523bc29856a4c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/FreeroamThumbnails/GenericMini1Stage.png" +dest_files=["res://.godot/imported/GenericMini1Stage.png-3f32baf54bc46bcd093523bc29856a4c.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 diff --git a/UI/FreeroamThumbnails/NoThumb.png b/UI/FreeroamThumbnails/NoThumb.png new file mode 100644 index 0000000..886457c Binary files /dev/null and b/UI/FreeroamThumbnails/NoThumb.png differ diff --git a/UI/FreeroamThumbnails/NoThumb.png.import b/UI/FreeroamThumbnails/NoThumb.png.import new file mode 100644 index 0000000..5aa6261 --- /dev/null +++ b/UI/FreeroamThumbnails/NoThumb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmvq2wqvp5m64" +path="res://.godot/imported/NoThumb.png-3264c21ec7f97506255b37e5e4259873.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/FreeroamThumbnails/NoThumb.png" +dest_files=["res://.godot/imported/NoThumb.png-3264c21ec7f97506255b37e5e4259873.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