update ui

This commit was merged in pull request #31.
This commit is contained in:
2026-06-18 19:59:07 +00:00
parent 5c807d7b69
commit 5dd8f8092c
73 changed files with 1452 additions and 117 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

View File

@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://dqqs83gh5mwof"
path="res://.godot/imported/quality_button.png-362af22cd4764f63b4532bc0ac31582c.ctex"
uid="uid://bd80xo2id3xdm"
path="res://.godot/imported/decoration_page1.png-c6b34b864930b80e5c17c69a3b3d19a0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/quality_button.png"
dest_files=["res://.godot/imported/quality_button.png-362af22cd4764f63b4532bc0ac31582c.ctex"]
source_file="res://core/game_menu/assets/decoration_page1.png"
dest_files=["res://.godot/imported/decoration_page1.png-c6b34b864930b80e5c17c69a3b3d19a0.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://bohvj2bmao03f"
path="res://.godot/imported/resolution_button.png-48bd04fd62af50e2585326b54ad8130f.ctex"
uid="uid://d3qq4ho24phyw"
path="res://.godot/imported/decoration_page2.png-d4209c852841afb58d7284d3e6fd6801.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/resolution_button.png"
dest_files=["res://.godot/imported/resolution_button.png-48bd04fd62af50e2585326b54ad8130f.ctex"]
source_file="res://core/game_menu/assets/decoration_page2.png"
dest_files=["res://.godot/imported/decoration_page2.png-d4209c852841afb58d7284d3e6fd6801.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://db2yhovnqq4cp"
path="res://.godot/imported/decoration_page3.png-5581ad5aca27e618c185f4d3e7f0fea2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/decoration_page3.png"
dest_files=["res://.godot/imported/decoration_page3.png-5581ad5aca27e618c185f4d3e7f0fea2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bx6gsh5uchkge"
path="res://.godot/imported/lock.png-942bcd7274ea3432467400a057c673a4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/lock.png"
dest_files=["res://.godot/imported/lock.png-942bcd7274ea3432467400a057c673a4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://idvleok1gecb"
path="res://.godot/imported/base.png-35dfca664909be339bca935018608cfd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/base.png"
dest_files=["res://.godot/imported/base.png-35dfca664909be339bca935018608cfd.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://m5llqtaj5kla"
path="res://.godot/imported/borderless.png-7776006373879bd724ff6e75abfe2110.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/borderless.png"
dest_files=["res://.godot/imported/borderless.png-7776006373879bd724ff6e75abfe2110.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://srsr075e1blh"
path="res://.godot/imported/buttoncircle_empty.png-004e709955abf5a4c40270f81dd8b280.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/buttoncircle_empty.png"
dest_files=["res://.godot/imported/buttoncircle_empty.png-004e709955abf5a4c40270f81dd8b280.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 694 B

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://be26apr133ywy"
path="res://.godot/imported/buttoncircle_fill.png-c6f6e85549558b77cc4e6504b299f4c1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/buttoncircle_fill.png"
dest_files=["res://.godot/imported/buttoncircle_fill.png-c6f6e85549558b77cc4e6504b299f4c1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bflho4bt4mh66"
path="res://.godot/imported/buttoncircle_selected.png-d02c1a2f732ff07cf8f0a06893743bee.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/buttoncircle_selected.png"
dest_files=["res://.godot/imported/buttoncircle_selected.png-d02c1a2f732ff07cf8f0a06893743bee.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hw1j3ii4eer"
path="res://.godot/imported/buttonsquare_empty.png-9813d1aa27d0cc5b635a9af58112a204.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/buttonsquare_empty.png"
dest_files=["res://.godot/imported/buttonsquare_empty.png-9813d1aa27d0cc5b635a9af58112a204.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 B

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cq51kdp4p1jfk"
path="res://.godot/imported/buttonsquare_fill.png-bec9bdea5abb9a22113554a88b73bfb1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/buttonsquare_fill.png"
dest_files=["res://.godot/imported/buttonsquare_fill.png-bec9bdea5abb9a22113554a88b73bfb1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dde30f2ngoj53"
path="res://.godot/imported/checkbox.png-999e5910ae6271ca60b788aac7231b32.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/checkbox.png"
dest_files=["res://.godot/imported/checkbox.png-999e5910ae6271ca60b788aac7231b32.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bftymw7ajgb25"
path="res://.godot/imported/fullscreen.png-74bf998c270deb1e85a7914014f931c3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/fullscreen.png"
dest_files=["res://.godot/imported/fullscreen.png-74bf998c270deb1e85a7914014f931c3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djllofh10hgk6"
path="res://.godot/imported/resolution.png-e7791d7c551852aff68481a068a9d7ef.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/resolution.png"
dest_files=["res://.godot/imported/resolution.png-e7791d7c551852aff68481a068a9d7ef.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbcs6apfftxxw"
path="res://.godot/imported/windowed.png-3a6ae844e78a7d611e7a5eb2ac5e80f2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/windowed.png"
dest_files=["res://.godot/imported/windowed.png-3a6ae844e78a7d611e7a5eb2ac5e80f2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@@ -19,16 +19,22 @@ texture = ExtResource("4_hduhm")
texture = ExtResource("4_hduhm")
[node name="AudioOption" type="VBoxContainer" unique_id=1509773712]
offset_right = 319.0
offset_bottom = 177.0
custom_minimum_size = Vector2(280, 117)
anchors_preset = -1
anchor_right = 0.14583333
anchor_bottom = 0.108333334
theme_override_constants/separation = 0
script = ExtResource("1_orafl")
image = ExtResource("2_vudub")
metadata/_edit_use_anchors_ = true
[node name="Texture" type="TextureRect" parent="." unique_id=637050541]
unique_name_in_owner = true
custom_minimum_size = Vector2(250, 65)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("2_vudub")
expand_mode = 1
stretch_mode = 5
[node name="HSlider" type="HSlider" parent="." unique_id=1286896253]

View File

@@ -0,0 +1,7 @@
@tool
extends Button
class_name CustomCheckbox
func _on_toggled(toggled_on: bool) -> void:
$%ToggleTexture.visible = toggled_on

View File

@@ -0,0 +1 @@
uid://bf28djpewxwai

View File

@@ -0,0 +1,51 @@
[gd_scene format=3 uid="uid://gvpxmy1bgt8h"]
[ext_resource type="Script" uid="uid://bf28djpewxwai" path="res://core/game_menu/checkbox.gd" id="2_ma3ho"]
[ext_resource type="Texture2D" uid="uid://hw1j3ii4eer" path="res://core/game_menu/assets/page_3/buttonsquare_empty.png" id="2_p1o3r"]
[ext_resource type="Texture2D" uid="uid://dde30f2ngoj53" path="res://core/game_menu/assets/page_3/checkbox.png" id="4_p1o3r"]
[node name="Checkbox" type="Button" unique_id=1346986972]
custom_minimum_size = Vector2(52, 52)
anchors_preset = -1
anchor_right = 0.027083334
anchor_bottom = 0.048148148
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
toggle_mode = true
flat = true
script = ExtResource("2_ma3ho")
metadata/_edit_use_anchors_ = true
[node name="Texture" type="TextureRect" parent="." unique_id=1951376393]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
texture = ExtResource("2_p1o3r")
expand_mode = 1
[node name="ToggleTexture" type="TextureRect" parent="." unique_id=1931011536]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -20.0
offset_top = -20.0
offset_right = 20.0
offset_bottom = 20.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
texture = ExtResource("4_p1o3r")
expand_mode = 1
[connection signal="toggled" from="." to="." method="_on_toggled"]

View File

@@ -3,32 +3,24 @@ extends Button
class_name TrainColorPicker
@export var image: Texture:
@export var color: Color = Color(1,1,1,1):
set(value):
image = value
if is_inside_tree() and has_node("%Texture"):
$%Texture.texture = image
@onready var color: Color
color = value
if is_inside_tree() and has_node("%FillColor"):
$%FillColor.modulate = color
var selected: bool = false
func _ready():
if image != null and has_node("%Texture"):
$%Texture.texture = image
if $%Texture.texture != null:
var img = $%Texture.texture.get_image()
color = img.get_pixel(0, 0)
else:
color = Color.BLACK
$%Border.color.a = 0
if has_node("%FillColor"):
$%FillColor.modulate = color
$%SelectedBorder.modulate.a = 0
func select() -> void:
if selected:
return
selected = true
$%Border.color.a = 1
$%SelectedBorder.modulate.a = 1
TweenFX.stop_all(self)
scale = Vector2.ONE
rotation = 0.0
@@ -40,7 +32,7 @@ func deselect() -> void:
if !selected:
return
selected = false
$%Border.color.a = 0
$%SelectedBorder.modulate.a = 0
func _on_mouse_entered() -> void:

View File

@@ -1,7 +1,9 @@
[gd_scene format=3 uid="uid://ch1st1oryjoio"]
[ext_resource type="Texture2D" uid="uid://cdjwvwst3f10a" path="res://core/game_menu/assets/page_1/customizecolor-1.png" id="1_us0rx"]
[ext_resource type="Texture2D" uid="uid://bflho4bt4mh66" path="res://core/game_menu/assets/page_3/buttoncircle_selected.png" id="2_1folt"]
[ext_resource type="Script" uid="uid://crfw5whcjs0du" path="res://core/game_menu/color_picker.gd" id="2_323rd"]
[ext_resource type="Texture2D" uid="uid://srsr075e1blh" path="res://core/game_menu/assets/page_3/buttoncircle_empty.png" id="3_264kt"]
[ext_resource type="Texture2D" uid="uid://be26apr133ywy" path="res://core/game_menu/assets/page_3/buttoncircle_fill.png" id="4_1folt"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_323rd"]
@@ -26,10 +28,12 @@
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6pmjh"]
[node name="ColorPicker" type="Button" unique_id=1664685328]
custom_minimum_size = Vector2(60, 60)
custom_minimum_size = Vector2(75, 71)
anchors_preset = -1
anchor_right = 0.03125
anchor_bottom = 0.055555556
anchor_right = 0.0390625
anchor_bottom = 0.06574074
offset_right = -5.0
offset_bottom = -1.0
pivot_offset_ratio = Vector2(0.5, 0.5)
theme_override_styles/normal = SubResource("StyleBoxEmpty_323rd")
theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_264kt")
@@ -43,10 +47,9 @@ theme_override_styles/disabled = SubResource("StyleBoxEmpty_2ocph")
theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_5386i")
theme_override_styles/focus = SubResource("StyleBoxEmpty_6pmjh")
script = ExtResource("2_323rd")
image = ExtResource("1_us0rx")
metadata/_edit_use_anchors_ = true
[node name="Border" type="ColorRect" parent="." unique_id=1774696864]
[node name="SelectedBorder" type="TextureRect" parent="." unique_id=1490766537]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 15
@@ -54,21 +57,42 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("2_1folt")
[node name="Texture" type="TextureRect" parent="Border" unique_id=329703623]
[node name="FillColor" type="TextureRect" parent="." unique_id=1634640310]
unique_name_in_owner = true
custom_minimum_size = Vector2(48, 52)
layout_mode = 1
anchors_preset = -1
anchor_left = 0.058333334
anchor_top = 0.058333334
anchor_right = 0.94166666
anchor_bottom = 0.94166666
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -24.0
offset_top = -26.0
offset_right = 24.0
offset_bottom = 26.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("1_us0rx")
metadata/_edit_use_anchors_ = true
texture = ExtResource("4_1folt")
expand_mode = 1
[node name="ButtonTexture" type="TextureRect" parent="." unique_id=813207030]
custom_minimum_size = Vector2(50, 52)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -25.0
offset_top = -26.0
offset_right = 25.0
offset_bottom = 26.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("3_264kt")
expand_mode = 1
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]

View File

@@ -49,17 +49,18 @@ metadata/_edit_use_anchors_ = true
[node name="Texture" type="TextureRect" parent="." unique_id=1177880405]
unique_name_in_owner = true
custom_minimum_size = Vector2(302, 90)
layout_mode = 1
anchors_preset = -1
anchor_left = 0.42135417
anchor_top = 0.45833334
anchor_right = 0.5786458
anchor_bottom = 0.5416667
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
mouse_filter = 2
texture = ExtResource("1_movd1")
expand_mode = 1
stretch_mode = 5
metadata/_edit_use_anchors_ = true
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]

View File

@@ -1,6 +1,7 @@
[gd_scene format=3 uid="uid://bqvpnu74cwry8"]
[ext_resource type="PackedScene" uid="uid://id854u4gh12f" path="res://core/game_menu/page.tscn" id="1_uxih6"]
[ext_resource type="Texture2D" uid="uid://bd80xo2id3xdm" path="res://core/game_menu/assets/decoration_page1.png" id="2_3i50p"]
[ext_resource type="PackedScene" uid="uid://bh1kxsp5jyxfx" path="res://core/game_menu/train_selector.tscn" id="3_ijm38"]
[ext_resource type="PackedScene" uid="uid://bc60gon7fmvbr" path="res://core/game_menu/biome_selector.tscn" id="12_7yi8x"]
@@ -14,14 +15,36 @@ grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="TrainSelector" parent="." index="1" unique_id=1039769375 instance=ExtResource("3_ijm38")]
[node name="Background" parent="." index="0" unique_id=1203110384]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = 0.0
offset_bottom = 0.0
grow_horizontal = 2
grow_vertical = 2
[node name="Decoration" type="TextureRect" parent="." index="1" unique_id=161938515]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
mouse_filter = 2
texture = ExtResource("2_3i50p")
expand_mode = 1
[node name="TrainSelector" parent="." index="2" unique_id=1039769375 instance=ExtResource("3_ijm38")]
layout_mode = 0
offset_left = 211.0
offset_top = 365.0
offset_right = 871.0
offset_bottom = 758.0
[node name="BiomeSelector" parent="." index="2" unique_id=1957954960 instance=ExtResource("12_7yi8x")]
[node name="BiomeSelector" parent="." index="3" unique_id=1957954960 instance=ExtResource("12_7yi8x")]
layout_mode = 0
offset_left = 1038.0
offset_top = 365.0

View File

@@ -2,10 +2,12 @@
[ext_resource type="PackedScene" uid="uid://id854u4gh12f" path="res://core/game_menu/page.tscn" id="1_ka6tx"]
[ext_resource type="Texture2D" uid="uid://xgx0211eo8hi" path="res://core/game_menu/assets/page_2/photocollections_text.png" id="2_4uwhd"]
[ext_resource type="Texture2D" uid="uid://d3qq4ho24phyw" path="res://core/game_menu/assets/decoration_page2.png" id="2_xqdsh"]
[ext_resource type="Texture2D" uid="uid://xfl3ks4dbfaw" path="res://core/game_menu/assets/page_2/achievements_text.png" id="3_4uwhd"]
[ext_resource type="PackedScene" uid="uid://b6r787sik5yil" path="res://core/game_menu/photo_gallery.tscn" id="4_3tfra"]
[ext_resource type="PackedScene" uid="uid://bvw086glfpcba" path="res://core/game_menu/collectible_gallery.tscn" id="5_w0bcg"]
[ext_resource type="PackedScene" uid="uid://c7t3p8sp54apy" path="res://core/game_menu/highlighted_photo.tscn" id="6_2273a"]
[ext_resource type="Texture2D" uid="uid://bx6gsh5uchkge" path="res://core/game_menu/assets/lock.png" id="8_48jk0"]
[node name="Page2" unique_id=2037261222 instance=ExtResource("1_ka6tx")]
anchors_preset = 15
@@ -17,16 +19,28 @@ grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="PhotoCollectionText" type="TextureRect" parent="." index="1" unique_id=240014191]
[node name="Decoration" type="TextureRect" parent="." index="1" unique_id=529740362]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
mouse_filter = 2
texture = ExtResource("2_xqdsh")
expand_mode = 1
[node name="PhotoCollectionText" type="TextureRect" parent="." index="2" unique_id=240014191]
layout_mode = 0
offset_left = 350.0
offset_left = 260.0
offset_top = 330.0
offset_right = 758.0
offset_bottom = 410.0
offset_right = 827.0
offset_bottom = 415.0
texture = ExtResource("2_4uwhd")
stretch_mode = 3
[node name="AchievementsText" type="TextureRect" parent="." index="2" unique_id=1478291812]
[node name="AchievementsText" type="TextureRect" parent="." index="3" unique_id=1478291812]
layout_mode = 0
offset_left = 1184.0
offset_top = 330.0
@@ -35,20 +49,31 @@ offset_bottom = 401.0
texture = ExtResource("3_4uwhd")
stretch_mode = 3
[node name="PhotoGallery" parent="." index="3" unique_id=354419843 instance=ExtResource("4_3tfra")]
[node name="PhotoGallery" parent="." index="4" unique_id=354419843 instance=ExtResource("4_3tfra")]
layout_mode = 1
offset_left = 244.0
offset_top = 410.0
offset_right = 844.0
offset_bottom = 850.0
[node name="CollectibleGallery" parent="." index="4" unique_id=708445500 instance=ExtResource("5_w0bcg")]
[node name="CollectibleGallery" parent="." index="5" unique_id=708445500 instance=ExtResource("5_w0bcg")]
visible = false
layout_mode = 1
offset_left = 1050.0
offset_top = 425.0
offset_right = 1690.0
offset_bottom = 835.0011
[node name="HighlightedPhoto" parent="." index="5" unique_id=888465569 instance=ExtResource("6_2273a")]
[node name="HighlightedPhoto" parent="." index="6" unique_id=888465569 instance=ExtResource("6_2273a")]
visible = false
layout_mode = 1
[node name="LockTexture" type="TextureRect" parent="." index="7" unique_id=1369712242]
layout_mode = 0
offset_left = 1265.0
offset_top = 449.0
offset_right = 1547.0
offset_bottom = 809.6977
texture = ExtResource("8_48jk0")
expand_mode = 1
stretch_mode = 5

View File

@@ -3,6 +3,7 @@
[ext_resource type="PackedScene" uid="uid://id854u4gh12f" path="res://core/game_menu/page.tscn" id="1_ua8fn"]
[ext_resource type="Texture2D" uid="uid://fpnhk1ygcrmu" path="res://core/game_menu/assets/page_3/bg_timbri.png" id="2_ckqcb"]
[ext_resource type="PackedScene" uid="uid://cxf8s80ivwj1p" path="res://core/game_menu/option_menu.tscn" id="2_tymfi"]
[ext_resource type="Texture2D" uid="uid://db2yhovnqq4cp" path="res://core/game_menu/assets/decoration_page3.png" id="2_yx6jr"]
[ext_resource type="PackedScene" uid="uid://caqf471x0kttc" path="res://core/game_menu/settings_menu.tscn" id="4_twko7"]
[node name="Page3" unique_id=2037261222 instance=ExtResource("1_ua8fn")]
@@ -15,25 +16,40 @@ grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="TextureRect" type="TextureRect" parent="." index="1" unique_id=464034413]
layout_mode = 0
offset_left = 1040.0
offset_top = 309.0
offset_right = 1738.0
offset_bottom = 836.0
texture = ExtResource("2_ckqcb")
[node name="Background" parent="." index="0" unique_id=1203110384]
visible = true
[node name="OptionMenu" parent="." index="2" unique_id=1055457221 instance=ExtResource("2_tymfi")]
[node name="Decoration" type="TextureRect" parent="." index="1" unique_id=980764536]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset_ratio = Vector2(0.5, 0.5)
mouse_filter = 2
texture = ExtResource("2_yx6jr")
expand_mode = 1
[node name="TextureRect" type="TextureRect" parent="." index="2" unique_id=464034413]
layout_mode = 0
anchor_left = 0.5416667
anchor_top = 0.28611112
anchor_right = 0.90520835
anchor_bottom = 0.7740741
texture = ExtResource("2_ckqcb")
metadata/_edit_use_anchors_ = true
[node name="OptionMenu" parent="." index="3" unique_id=1055457221 instance=ExtResource("2_tymfi")]
layout_mode = 0
anchors_preset = 0
anchor_right = 0.0
anchor_bottom = 0.0
offset_left = 1385.0
offset_top = 563.0
offset_right = 1385.0
offset_bottom = 563.0
anchor_left = 0.7213542
anchor_top = 0.5212963
anchor_right = 0.7213542
anchor_bottom = 0.5212963
grow_horizontal = 1
grow_vertical = 1
metadata/_edit_use_anchors_ = true
[node name="PlayButton" parent="OptionMenu/VBoxContainer" parent_id_path=PackedInt32Array(1055457221, 508055524) index="0" unique_id=1990327704]
visible = false
@@ -41,11 +57,16 @@ visible = false
[node name="SettingsButton" parent="OptionMenu/VBoxContainer" parent_id_path=PackedInt32Array(1055457221, 508055524) index="2" unique_id=1931222561]
visible = false
[node name="SettingsMenu" parent="." index="3" unique_id=1639777294 instance=ExtResource("4_twko7")]
[node name="SettingsMenu" parent="." index="4" unique_id=1639777294 instance=ExtResource("4_twko7")]
layout_mode = 1
offset_left = 365.0
offset_top = 304.0
offset_right = 365.0
offset_bottom = 304.0
anchor_top = 0.5388889
anchor_right = 0.0
anchor_bottom = 0.5388889
offset_left = 278.11
offset_top = -240.0
offset_right = 902.11
offset_bottom = 285.0
grow_vertical = 2
size_flags_horizontal = 6
[editable path="OptionMenu"]

View File

@@ -1,11 +1,40 @@
extends Control
extends HBoxContainer
class_name SettingsMenu
@onready var audio_options_container: VBoxContainer = $%AudioOptionsContainer
@onready var aliasing_checkbox: CustomCheckbox = $%AliasingCheckbox
@onready var window_option_menu = $VBoxContainer/WindowOptionMenu
func _ready() -> void:
_refresh_audio_options()
if aliasing_checkbox:
aliasing_checkbox.button_pressed = GameState.save_data.anti_aliasing
aliasing_checkbox.toggled.connect(_on_aliasing_toggled)
if window_option_menu:
var initial_res = Vector2i(GameState.save_data.resolution_x, GameState.save_data.resolution_y)
window_option_menu.initialize(GameState.save_data.window_mode_index, initial_res)
window_option_menu.mode_changed.connect(_on_window_mode_changed)
window_option_menu.resolution_changed.connect(_on_resolution_changed)
func _on_aliasing_toggled(toggled_on: bool) -> void:
GameState.save_data.anti_aliasing = toggled_on
GameState.save_game()
GameState.apply_video_settings()
func _on_window_mode_changed(mode_index: int) -> void:
GameState.save_data.window_mode_index = mode_index
GameState.save_game()
GameState.apply_video_settings()
func _on_resolution_changed(resolution: Vector2i) -> void:
GameState.save_data.resolution_x = resolution.x
GameState.save_data.resolution_y = resolution.y
GameState.save_game()
GameState.apply_video_settings()
func _get_audio_options() -> Array[AudioOption]:
var audio_options: Array[AudioOption] = []

View File

@@ -4,43 +4,80 @@
[ext_resource type="PackedScene" uid="uid://cescrovsjlwke" path="res://core/game_menu/audio_option.tscn" id="1_hwcco"]
[ext_resource type="Texture2D" uid="uid://0t00kjvrw206" path="res://core/game_menu/assets/page_3/music_volume_button.png" id="3_kgdba"]
[ext_resource type="Texture2D" uid="uid://dvergpy6qgggn" path="res://core/game_menu/assets/page_3/sfx_volume_button.png" id="4_ugk4n"]
[ext_resource type="Texture2D" uid="uid://c0s17sglugylc" path="res://core/game_menu/assets/page_3/aliasing_button.png" id="5_8sr5x"]
[ext_resource type="PackedScene" uid="uid://dxun0jk5t0n6" path="res://core/tween/container_tween.tscn" id="5_p0gqk"]
[ext_resource type="PackedScene" uid="uid://cxkmo80ecvyal" path="res://core/game_menu/window_option_menu.tscn" id="6_ocbt2"]
[ext_resource type="PackedScene" uid="uid://gvpxmy1bgt8h" path="res://core/game_menu/checkbox.tscn" id="6_r08il"]
[node name="SettingsMenu" type="Control" unique_id=1639777294]
custom_minimum_size = Vector2(327, 512)
layout_mode = 3
anchor_right = 0.1703125
anchor_bottom = 0.47407407
offset_right = -327.0
offset_bottom = -512.0
[node name="SettingsMenu" type="HBoxContainer" unique_id=513569488]
custom_minimum_size = Vector2(624, 525)
anchors_preset = -1
anchor_right = 0.325
anchor_bottom = 0.4861111
pivot_offset_ratio = Vector2(0.5, 0.5)
script = ExtResource("1_4lekq")
metadata/_edit_use_anchors_ = true
[node name="AudioOptionsContainer" type="VBoxContainer" parent="." unique_id=743642398]
unique_name_in_owner = true
custom_minimum_size = Vector2(327, 512)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 12
alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1067656285]
layout_mode = 2
mouse_filter = 2
theme_override_constants/margin_top = 48
[node name="MasterVolume_AudioOption" parent="AudioOptionsContainer" unique_id=1509773712 instance=ExtResource("1_hwcco")]
[node name="AudioOptionsContainer" type="VBoxContainer" parent="MarginContainer" unique_id=743642398]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 0
theme_override_constants/separation = 32
metadata/_edit_use_anchors_ = true
[node name="MasterVolume_AudioOption" parent="MarginContainer/AudioOptionsContainer" unique_id=1509773712 instance=ExtResource("1_hwcco")]
layout_mode = 2
[node name="MusicVolume_AudioOption" parent="AudioOptionsContainer" unique_id=690924616 instance=ExtResource("1_hwcco")]
[node name="MusicVolume_AudioOption" parent="MarginContainer/AudioOptionsContainer" unique_id=690924616 instance=ExtResource("1_hwcco")]
layout_mode = 2
image = ExtResource("3_kgdba")
bus_name = &"Music"
[node name="SFXVolume_AudioOption" parent="AudioOptionsContainer" unique_id=2096291127 instance=ExtResource("1_hwcco")]
[node name="SFXVolume_AudioOption" parent="MarginContainer/AudioOptionsContainer" unique_id=2096291127 instance=ExtResource("1_hwcco")]
layout_mode = 2
image = ExtResource("4_ugk4n")
bus_name = &"SFX"
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1034452799]
layout_mode = 2
theme_override_constants/separation = 48
[node name="AliasingOption" type="Control" parent="VBoxContainer" unique_id=960976098]
custom_minimum_size = Vector2(265, 78)
layout_mode = 2
size_flags_horizontal = 4
[node name="TextureRect" type="TextureRect" parent="VBoxContainer/AliasingOption" unique_id=148856120]
custom_minimum_size = Vector2(208, 78)
layout_mode = 0
offset_right = 208.0
offset_bottom = 78.0
texture = ExtResource("5_8sr5x")
expand_mode = 1
stretch_mode = 5
[node name="AliasingCheckbox" parent="VBoxContainer/AliasingOption" unique_id=1346986972 instance=ExtResource("6_r08il")]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -60.0
offset_top = -26.0
offset_right = -8.0
offset_bottom = 26.0
grow_horizontal = 0
[node name="WindowOptionMenu" parent="VBoxContainer" unique_id=1829826194 instance=ExtResource("6_ocbt2")]
custom_minimum_size = Vector2(320, 342)
layout_mode = 2
[node name="ContainerTween" parent="." unique_id=160227524 node_paths=PackedStringArray("targets") instance=ExtResource("5_p0gqk")]
targets = [NodePath("../AudioOptionsContainer/MasterVolume_AudioOption"), NodePath("../AudioOptionsContainer/MusicVolume_AudioOption"), NodePath("../AudioOptionsContainer/SFXVolume_AudioOption")]
targets = [NodePath("../MarginContainer/AudioOptionsContainer/MasterVolume_AudioOption"), NodePath("../MarginContainer/AudioOptionsContainer/MusicVolume_AudioOption"), NodePath("../MarginContainer/AudioOptionsContainer/SFXVolume_AudioOption"), NodePath("../VBoxContainer/AliasingOption"), NodePath("../VBoxContainer/WindowOptionMenu")]

View File

@@ -4,11 +4,6 @@
[ext_resource type="Texture2D" uid="uid://bjqp8kmb5y7px" path="res://core/game_menu/assets/page_1/chooseyourtrain_text.png" id="2_cfvtr"]
[ext_resource type="PackedScene" uid="uid://dm3skv22c60tm" path="res://core/game_menu/arrow_button.tscn" id="2_puip6"]
[ext_resource type="PackedScene" uid="uid://ch1st1oryjoio" path="res://core/game_menu/color_picker.tscn" id="3_i2rs1"]
[ext_resource type="Texture2D" uid="uid://b5arobd7gl4u4" path="res://core/game_menu/assets/page_1/customizecolor-3.png" id="4_cfvtr"]
[ext_resource type="Texture2D" uid="uid://el88fib24nl0" path="res://core/game_menu/assets/page_1/customizecolor-4.png" id="5_jnto8"]
[ext_resource type="Texture2D" uid="uid://bv07xhpe3kh0r" path="res://core/game_menu/assets/page_1/customizecolor-5.png" id="6_dxnpq"]
[ext_resource type="Texture2D" uid="uid://cryqbi1av2x1c" path="res://core/game_menu/assets/page_1/customizecolor.png" id="7_d1sdr"]
[ext_resource type="Texture2D" uid="uid://d4l5ih723j3md" path="res://core/game_menu/assets/page_1/customizecolor-2.png" id="8_tuh6m"]
[ext_resource type="PackedScene" uid="uid://dxun0jk5t0n6" path="res://core/tween/container_tween.tscn" id="10_i2rs1"]
[ext_resource type="PackedScene" uid="uid://otptvwer4par" path="res://tgcc/train/train.tscn" id="11_train"]
@@ -59,43 +54,43 @@ flip_h = true
[node name="HBoxContainer" type="HBoxContainer" parent="HBoxContainer2" unique_id=1364417494]
layout_mode = 2
theme_override_constants/separation = 18
theme_override_constants/separation = 0
alignment = 1
[node name="ColorPicker1" parent="HBoxContainer2/HBoxContainer" unique_id=59169767 instance=ExtResource("3_i2rs1")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 4
image = ExtResource("4_cfvtr")
color = Color(0.7432059, 0.5684909, 1, 1)
[node name="ColorPicker2" parent="HBoxContainer2/HBoxContainer" unique_id=584054476 instance=ExtResource("3_i2rs1")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 4
image = ExtResource("5_jnto8")
color = Color(0.47657922, 0.8792635, 0.8823829, 1)
[node name="ColorPicker3" parent="HBoxContainer2/HBoxContainer" unique_id=889429149 instance=ExtResource("3_i2rs1")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 4
image = ExtResource("6_dxnpq")
color = Color(0.54004896, 0.5516501, 0.45533067, 1)
[node name="ColorPicker4" parent="HBoxContainer2/HBoxContainer" unique_id=466686411 instance=ExtResource("3_i2rs1")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 4
image = ExtResource("7_d1sdr")
color = Color(0.40863404, 1, 0.47657922, 1)
[node name="ColorPicker5" parent="HBoxContainer2/HBoxContainer" unique_id=675841518 instance=ExtResource("3_i2rs1")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 4
color = Color(1, 0, 0, 1)
[node name="ColorPicker6" parent="HBoxContainer2/HBoxContainer" unique_id=1698412911 instance=ExtResource("3_i2rs1")]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 4
image = ExtResource("8_tuh6m")
[node name="ArrowButtonRight" parent="HBoxContainer2" unique_id=68298624 instance=ExtResource("2_puip6")]
unique_name_in_owner = true

View File

@@ -0,0 +1,117 @@
extends Control
signal mode_changed(mode_index: int)
signal resolution_changed(resolution: Vector2i)
@export var window_option_menu_button_scene: PackedScene
var current_mode_index: int = 0
var current_resolution: Vector2i = Vector2i.ZERO
var available_resolutions: Array[Vector2i] = [
Vector2i(1280, 720),
Vector2i(1366, 768),
Vector2i(1600, 900),
Vector2i(1920, 1080),
Vector2i(2560, 1440),
Vector2i(3840, 2160)
]
var _valid_resolutions: Array[Vector2i] = []
@onready var left_arrow = $%LeftArrowButton
@onready var right_arrow = $%RightArrowButton
@onready var buttons = [
$%FullScreenButton,
$%BorderlessButton,
$%WindowedButton
]
@onready var base = $%Base
@onready var resolutions_list = $%ResolutionsList
func _ready() -> void:
left_arrow.pressed.connect(_on_left_arrow_pressed)
right_arrow.pressed.connect(_on_right_arrow_pressed)
_populate_resolutions()
_update_ui()
func initialize(mode_index: int, res: Vector2i) -> void:
current_mode_index = mode_index
current_resolution = res
_update_ui()
func _populate_resolutions() -> void:
var screen_size = DisplayServer.screen_get_size()
for child in resolutions_list.get_children():
child.queue_free()
_valid_resolutions.clear()
for res in available_resolutions:
if res.x <= screen_size.x and res.y <= screen_size.y:
_valid_resolutions.append(res)
var btn = window_option_menu_button_scene.instantiate()
btn.set_option_text(str(res.x) + " x " + str(res.y))
btn.alignment = HORIZONTAL_ALIGNMENT_CENTER
btn.pressed.connect(func(): _on_resolution_selected(res, btn))
resolutions_list.add_child(btn)
func _on_resolution_selected(res: Vector2i, btn) -> void:
var res_buttons = resolutions_list.get_children()
for button in res_buttons:
button.deselect()
btn.select()
current_resolution = res
resolution_changed.emit(res)
func _on_left_arrow_pressed() -> void:
current_mode_index -= 1
if current_mode_index < 0:
current_mode_index = buttons.size() - 1
_update_ui()
mode_changed.emit(current_mode_index)
func _on_right_arrow_pressed() -> void:
current_mode_index += 1
if current_mode_index >= buttons.size():
current_mode_index = 0
_update_ui()
mode_changed.emit(current_mode_index)
func _update_ui() -> void:
for i in range(buttons.size()):
buttons[i].visible = (i == current_mode_index)
var show_res = current_mode_index == 2
var color = Color(1,1,1,1) if show_res else Color(0.2, 0.2 ,0.2, 1)
base.modulate = color
var res_buttons = resolutions_list.get_children()
for button in res_buttons:
button.deselect()
if show_res:
button.enable()
else:
button.disable()
if res_buttons.size() > 0:
var target_index = 0
for idx in range(_valid_resolutions.size()):
if _valid_resolutions[idx] == current_resolution:
target_index = idx
break
var btn = res_buttons[target_index]
btn.select()
current_resolution = _valid_resolutions[target_index]
if show_res:
resolution_changed.emit(current_resolution)

View File

@@ -0,0 +1 @@
uid://8gdaotll12ug

View File

@@ -0,0 +1,270 @@
[gd_scene format=3 uid="uid://cxkmo80ecvyal"]
[ext_resource type="Texture2D" uid="uid://bftymw7ajgb25" path="res://core/game_menu/assets/page_3/fullscreen.png" id="1_1oilv"]
[ext_resource type="Script" uid="uid://8gdaotll12ug" path="res://core/game_menu/window_option_menu.gd" id="1_6b7am"]
[ext_resource type="PackedScene" uid="uid://du4o5mms8jmrx" path="res://core/game_menu/window_option_menu_button.tscn" id="2_13nv1"]
[ext_resource type="PackedScene" uid="uid://dm3skv22c60tm" path="res://core/game_menu/arrow_button.tscn" id="2_c6wxr"]
[ext_resource type="Texture2D" uid="uid://m5llqtaj5kla" path="res://core/game_menu/assets/page_3/borderless.png" id="3_byg38"]
[ext_resource type="Texture2D" uid="uid://idvleok1gecb" path="res://core/game_menu/assets/page_3/base.png" id="3_lo8ks"]
[ext_resource type="Texture2D" uid="uid://dbcs6apfftxxw" path="res://core/game_menu/assets/page_3/windowed.png" id="4_c6wxr"]
[ext_resource type="Texture2D" uid="uid://djllofh10hgk6" path="res://core/game_menu/assets/page_3/resolution.png" id="8_p62vb"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_323rd"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_264kt"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_1folt"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_tcqrg"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_kbu6n"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dk0pr"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_f16cj"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_s4jbd"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_2ocph"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_5386i"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_6pmjh"]
[node name="WindowOptionMenu" type="Control" unique_id=891718047]
layout_mode = 3
anchor_right = 0.16666667
anchor_bottom = 0.31666666
pivot_offset_ratio = Vector2(0.5, 0.5)
script = ExtResource("1_6b7am")
window_option_menu_button_scene = ExtResource("2_13nv1")
metadata/_edit_use_anchors_ = true
[node name="Base" type="TextureRect" parent="." unique_id=1093652090]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -116.0
offset_top = -249.5
offset_right = 116.0
offset_bottom = -10.499939
grow_horizontal = 2
grow_vertical = 0
rotation = -0.20943952
pivot_offset_ratio = Vector2(0.5, 0.5)
size_flags_horizontal = 4
texture = ExtResource("3_lo8ks")
stretch_mode = 2
[node name="VBoxContainer" type="VBoxContainer" parent="Base" unique_id=416233744]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="MarginContainer" type="MarginContainer" parent="Base/VBoxContainer" unique_id=2077693765]
layout_mode = 2
theme_override_constants/margin_left = 32
theme_override_constants/margin_top = 32
theme_override_constants/margin_right = 32
theme_override_constants/margin_bottom = 32
[node name="ResolutionsList" type="VBoxContainer" parent="Base/VBoxContainer/MarginContainer" unique_id=633511112]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
alignment = 1
[node name="Control" type="Control" parent="." unique_id=1728565603]
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -125.0
offset_top = 45.0
offset_right = 125.0
offset_bottom = 110.0
grow_horizontal = 2
[node name="FullScreenButton" type="Button" parent="Control" unique_id=658423473]
unique_name_in_owner = true
visible = false
custom_minimum_size = Vector2(215, 65)
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -107.5
offset_right = 107.5
offset_bottom = 65.0
grow_horizontal = 2
theme_override_styles/normal = SubResource("StyleBoxEmpty_323rd")
theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_264kt")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_1folt")
theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_tcqrg")
theme_override_styles/hover = SubResource("StyleBoxEmpty_kbu6n")
theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_dk0pr")
theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_f16cj")
theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_s4jbd")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_2ocph")
theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_5386i")
theme_override_styles/focus = SubResource("StyleBoxEmpty_6pmjh")
[node name="Texture" type="TextureRect" parent="Control/FullScreenButton" unique_id=1273084077]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("1_1oilv")
expand_mode = 1
stretch_mode = 5
[node name="BorderlessButton" type="Button" parent="Control" unique_id=1930001398]
unique_name_in_owner = true
visible = false
custom_minimum_size = Vector2(215, 65)
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -107.5
offset_right = 107.5
offset_bottom = 65.0
grow_horizontal = 2
theme_override_styles/normal = SubResource("StyleBoxEmpty_323rd")
theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_264kt")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_1folt")
theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_tcqrg")
theme_override_styles/hover = SubResource("StyleBoxEmpty_kbu6n")
theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_dk0pr")
theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_f16cj")
theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_s4jbd")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_2ocph")
theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_5386i")
theme_override_styles/focus = SubResource("StyleBoxEmpty_6pmjh")
[node name="Texture" type="TextureRect" parent="Control/BorderlessButton" unique_id=2113335035]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_byg38")
expand_mode = 1
stretch_mode = 5
[node name="WindowedButton" type="Button" parent="Control" unique_id=210063143]
unique_name_in_owner = true
custom_minimum_size = Vector2(215, 65)
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -107.5
offset_right = 107.5
offset_bottom = 65.0
grow_horizontal = 2
theme_override_styles/normal = SubResource("StyleBoxEmpty_323rd")
theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_264kt")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_1folt")
theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_tcqrg")
theme_override_styles/hover = SubResource("StyleBoxEmpty_kbu6n")
theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_dk0pr")
theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_f16cj")
theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_s4jbd")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_2ocph")
theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_5386i")
theme_override_styles/focus = SubResource("StyleBoxEmpty_6pmjh")
[node name="Texture" type="TextureRect" parent="Control/WindowedButton" unique_id=873436909]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("4_c6wxr")
expand_mode = 1
stretch_mode = 5
[node name="LeftArrowButton" parent="Control" unique_id=579258112 instance=ExtResource("2_c6wxr")]
unique_name_in_owner = true
z_index = 1
custom_minimum_size = Vector2(40, 40)
layout_mode = 1
anchors_preset = 4
anchor_top = 0.5
anchor_right = 0.0
anchor_bottom = 0.5
offset_left = 15.0
offset_top = -20.0
offset_right = 55.000008
offset_bottom = 20.0
grow_vertical = 2
flip_h = true
[node name="Texture" parent="Control/LeftArrowButton" index="0" unique_id=91599097]
custom_minimum_size = Vector2(40, 40)
expand_mode = 1
stretch_mode = 5
flip_h = true
[node name="RightArrowButton" parent="Control" unique_id=1429974963 instance=ExtResource("2_c6wxr")]
unique_name_in_owner = true
z_index = 1
custom_minimum_size = Vector2(40, 40)
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
offset_left = -55.0
offset_top = -20.0
offset_right = -15.0
offset_bottom = 20.0
grow_horizontal = 0
grow_vertical = 2
[node name="Texture" parent="Control/RightArrowButton" index="0" unique_id=91599097]
expand_mode = 1
stretch_mode = 5
[node name="ResolutionTexture" type="TextureRect" parent="." unique_id=12652005]
custom_minimum_size = Vector2(250, 65)
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -125.0
offset_right = 125.0
offset_bottom = 65.0
grow_horizontal = 2
texture = ExtResource("8_p62vb")
expand_mode = 1
stretch_mode = 5
[connection signal="mouse_entered" from="Control/FullScreenButton" to="Control/FullScreenButton" method="_on_mouse_entered"]
[connection signal="mouse_exited" from="Control/FullScreenButton" to="Control/FullScreenButton" method="_on_mouse_exited"]
[connection signal="pressed" from="Control/FullScreenButton" to="Control/FullScreenButton" method="_on_pressed"]
[connection signal="mouse_entered" from="Control/BorderlessButton" to="Control/BorderlessButton" method="_on_mouse_entered"]
[connection signal="mouse_exited" from="Control/BorderlessButton" to="Control/BorderlessButton" method="_on_mouse_exited"]
[connection signal="pressed" from="Control/BorderlessButton" to="Control/BorderlessButton" method="_on_pressed"]
[connection signal="mouse_entered" from="Control/WindowedButton" to="Control/WindowedButton" method="_on_mouse_entered"]
[connection signal="mouse_exited" from="Control/WindowedButton" to="Control/WindowedButton" method="_on_mouse_exited"]
[connection signal="pressed" from="Control/WindowedButton" to="Control/WindowedButton" method="_on_pressed"]
[editable path="Control/LeftArrowButton"]
[editable path="Control/RightArrowButton"]

View File

@@ -0,0 +1,31 @@
extends Button
class_name WindowOptionMenuButton
@onready var checkbox: CustomCheckbox = $%Checkbox
@onready var label: Label = $%Label
func _ready() -> void:
deselect()
disable()
func set_option_text(text: String) -> void:
if label == null:
label = $%Label
label.text = text
func select() -> void:
if checkbox == null:
checkbox = $%Checkbox
checkbox.set_pressed(true)
func deselect() -> void:
if checkbox == null:
checkbox = $%Checkbox
checkbox.set_pressed(false)
func disable() -> void:
disabled = true
func enable() -> void:
disabled = false

View File

@@ -0,0 +1 @@
uid://i331kqurs7f4

View File

@@ -0,0 +1,46 @@
[gd_scene format=3 uid="uid://du4o5mms8jmrx"]
[ext_resource type="Script" uid="uid://i331kqurs7f4" path="res://core/game_menu/window_option_menu_button.gd" id="1_yyn3b"]
[ext_resource type="PackedScene" uid="uid://gvpxmy1bgt8h" path="res://core/game_menu/checkbox.tscn" id="2_ai3i2"]
[node name="WindowOptionMenuButton" type="Button" unique_id=1649914382]
custom_minimum_size = Vector2(200, 30)
anchors_preset = -1
anchor_right = 0.104166664
anchor_bottom = 0.027777778
flat = true
script = ExtResource("1_yyn3b")
metadata/_edit_use_anchors_ = true
[node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=2089201662]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="Checkbox" parent="HBoxContainer" unique_id=1346986972 instance=ExtResource("2_ai3i2")]
unique_name_in_owner = true
custom_minimum_size = Vector2(30, 30)
layout_mode = 2
size_flags_vertical = 4
mouse_filter = 2
[node name="ToggleTexture" parent="HBoxContainer/Checkbox" index="1" unique_id=1931011536]
custom_minimum_size = Vector2(25, 25)
offset_left = -14.0
offset_top = -14.0
offset_right = 14.0
offset_bottom = 11.0
[node name="Label" type="Label" parent="HBoxContainer" unique_id=1910223249]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "TEST"
horizontal_alignment = 1
[editable path="HBoxContainer/Checkbox"]

View File

@@ -28,6 +28,31 @@ var is_loaded: bool = false
func _ready() -> void:
load_game()
apply_video_settings()
func apply_video_settings() -> void:
get_viewport().use_taa = save_data.anti_aliasing
var msaa_mode = Viewport.MSAA_2X if save_data.anti_aliasing else Viewport.MSAA_DISABLED
get_viewport().msaa_3d = msaa_mode
get_viewport().msaa_2d = msaa_mode
match save_data.window_mode_index:
0:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_EXCLUSIVE_FULLSCREEN)
1:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
2:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false)
if save_data.window_mode_index == 2 and save_data.resolution_x > 0 and save_data.resolution_y > 0:
DisplayServer.window_set_size(Vector2i(save_data.resolution_x, save_data.resolution_y))
# Optional: center the window if resized
var screen_center = DisplayServer.screen_get_position() + DisplayServer.screen_get_size() / 2
var window_size = DisplayServer.window_get_size()
DisplayServer.window_set_position(screen_center - window_size / 2)
func save_game() -> void:
var save_file = FileAccess.open(SAVE_PATH, FileAccess.WRITE)

View File

@@ -5,6 +5,11 @@ var unlocked_collectibles_ids: Array[StringName] = []
var saved_photos: Array[String] = []
var audio_bus_volumes: Dictionary[String, float] = {}
var anti_aliasing: bool = true
var window_mode_index: int = 0
var resolution_x: int = 1920
var resolution_y: int = 1080
func to_dictionary() -> Dictionary:
var serialized_collectible_ids: Array[String] = []
for collectible_id in unlocked_collectibles_ids:
@@ -14,6 +19,10 @@ func to_dictionary() -> Dictionary:
"unlocked_collectibles_ids": serialized_collectible_ids,
"saved_photos": saved_photos,
"audio_bus_volumes": audio_bus_volumes,
"anti_aliasing": anti_aliasing,
"window_mode_index": window_mode_index,
"resolution_x": resolution_x,
"resolution_y": resolution_y,
}
static func from_dictionary(data: Dictionary) -> SaveGameData:
@@ -31,4 +40,16 @@ static func from_dictionary(data: Dictionary) -> SaveGameData:
for bus_name in data["audio_bus_volumes"]:
save_game_data.audio_bus_volumes[str(bus_name)] = float(data["audio_bus_volumes"][bus_name])
if data.has("anti_aliasing"):
save_game_data.anti_aliasing = bool(data["anti_aliasing"])
if data.has("window_mode_index"):
save_game_data.window_mode_index = int(data["window_mode_index"])
if data.has("resolution_x"):
save_game_data.resolution_x = int(data["resolution_x"])
if data.has("resolution_y"):
save_game_data.resolution_y = int(data["resolution_y"])
return save_game_data

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bu3i1fieme2tl"
path="res://.godot/imported/button_daynightcycleoff.png-131eced9a7760b605f2000cb094084a8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/main_scene_ui/assets/button_daynightcycleoff.png"
dest_files=["res://.godot/imported/button_daynightcycleoff.png-131eced9a7760b605f2000cb094084a8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cimo71kc2x58a"
path="res://.godot/imported/button_weather_off.png-342a4361cdab31d6ec154c88e60f162b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/main_scene_ui/assets/button_weather_off.png"
dest_files=["res://.godot/imported/button_weather_off.png-342a4361cdab31d6ec154c88e60f162b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

View File

@@ -14,7 +14,11 @@ extends Control
@onready var photo_mode_black_screen: ColorRect = $%PhotoModeBlackScreen
@onready var audio_player: Control = $%AudioPlayer
var cycle = false
var _cycle = false
var _rain = false
var _snow = false
var _storm = false
var _wind = false
var _photo_mode_mat_tween: Tween
var _photo_mode_alpha_tween: Tween
var _photo_mode_fold_tween: Tween
@@ -62,21 +66,25 @@ func _on_time_of_day_row_on_option_changed(data: String) -> void:
"Night":
UIEvents.time_option_item_changed.emit(3)
"Cycle":
cycle = !cycle
UIEvents.toggle_pause_daytime.emit(cycle)
_cycle = !_cycle
UIEvents.toggle_pause_daytime.emit(_cycle)
_:
pass
func _on_weather_row_on_option_changed(data: String) -> void:
match data:
"Snow":
UIEvents.toggle_snow.emit(true)
_snow = !_snow
UIEvents.toggle_snow.emit(_snow)
"Rain":
UIEvents.toggle_rain.emit(true)
_rain = !_rain
UIEvents.toggle_rain.emit(_rain)
"Storm":
UIEvents.toggle_storm.emit(true)
_storm = !_storm
UIEvents.toggle_storm.emit(_storm)
"Wind":
UIEvents.toggle_wind.emit(true)
_wind = !_wind
UIEvents.toggle_wind.emit(_wind)
"Random":
pick_random_weather()
_:

View File

@@ -10,6 +10,7 @@
[ext_resource type="PackedScene" uid="uid://cpeyt1dgrtglc" path="res://core/radio/radio.tscn" id="5_nevjt"]
[ext_resource type="Texture2D" uid="uid://blttomjog2rin" path="res://core/main_scene_ui/assets/button_weather_nosnow.png" id="6_167gj"]
[ext_resource type="AudioStream" uid="uid://70cc8she43re" path="res://docs/gyms/radio/lofi_01.ogg" id="6_kd244"]
[ext_resource type="Texture2D" uid="uid://bu3i1fieme2tl" path="res://core/main_scene_ui/assets/button_daynightcycleoff.png" id="6_luj56"]
[ext_resource type="Texture2D" uid="uid://bj0idkr7kd4ik" path="res://core/main_scene_ui/assets/button_weather_snow.png" id="6_xykej"]
[ext_resource type="Texture2D" uid="uid://cc6e2piksgv1a" path="res://core/main_scene_ui/assets/button_weather01.png" id="6_yggu7"]
[ext_resource type="Texture2D" uid="uid://d3v43kog5fwnf" path="res://core/main_scene_ui/assets/button_weather_rain.png" id="7_jpmw5"]
@@ -72,6 +73,7 @@ data = "Night"
[node name="IconButton5" parent="Rows/TimeOfDayRow" index="4" unique_id=315412403]
data = "Cycle"
image = ExtResource("5_fjfwt")
images = Array[Texture]([ExtResource("5_fjfwt"), ExtResource("6_luj56")])
apply_texture_on_selection = false
[node name="ShowContainerTween" parent="Rows/TimeOfDayRow" index="5" unique_id=160227524]