update game menu

This commit is contained in:
2026-06-29 23:34:55 +02:00
parent fc887c2519
commit c6893b7ee8
45 changed files with 1921 additions and 1351 deletions

View File

@@ -495,7 +495,7 @@ func _initial_config():
if not input_blocker:
input_blocker = Control.new()
input_blocker.name = "InputBlocker"
input_blocker.mouse_filter = Control.MOUSE_FILTER_STOP
input_blocker.mouse_filter = Control.MOUSE_FILTER_IGNORE
visuals_container.add_child(input_blocker)
visuals_container.move_child(input_blocker, 0)
@@ -751,10 +751,15 @@ func _prepare_book_content():
# ==============================================================================
# INPUT
# ==============================================================================
func _inject_event_to_viewport(viewport: SubViewport, polygon: Polygon2D, event: InputEvent) -> void:
func _inject_event_to_viewport(viewport: SubViewport, is_left: bool, event: InputEvent) -> bool:
var mouse_pos = get_global_mouse_position()
var new_mouse_pos = polygon.to_local(mouse_pos)
new_mouse_pos.y += target_page_size.y / 2
var poly = static_left if is_left else static_right
var new_mouse_pos = poly.to_local(mouse_pos)
new_mouse_pos.y += target_page_size.y / 2.0
var rect = Rect2(0, 0, target_page_size.x, target_page_size.y)
if not rect.has_point(new_mouse_pos):
return false
var ev = event.duplicate_deep(Resource.DEEP_DUPLICATE_ALL)
ev.position = new_mouse_pos
@@ -773,7 +778,8 @@ func _inject_event_to_viewport(viewport: SubViewport, polygon: Polygon2D, event:
DisplayServer.cursor_set_shape.call_deferred(cursor_shape)
else:
DisplayServer.cursor_set_shape.call_deferred(DisplayServer.CursorShape.CURSOR_ARROW)
return true
## Clears the viewport input state. Call this when interaction stops.
func _reset_viewport_input_state() -> void:
@@ -785,31 +791,31 @@ func _reset_viewport_input_state() -> void:
func _input(event):
pass
#if not _active_interactive_is_left and not _active_interactive_is_right:
#if not _active_viewports_state.is_empty():
#_reset_viewport_input_state()
#return
#
#if event is InputEventMouse or event is InputEventMouseMotion:
#if _active_interactive_is_left:
#_slot_1.physics_object_picking = true
#_inject_event_to_viewport(_slot_1, static_left, event)
#elif _active_viewports_state.has(_slot_1):
#_slot_1.physics_object_picking = false
#_slot_1.notify_mouse_exited()
#_active_viewports_state.erase(_slot_1)
#
#if _active_interactive_is_right:
#_slot_2.physics_object_picking = true
#_inject_event_to_viewport(_slot_2, static_right, event)
#elif _active_viewports_state.has(_slot_2):
#_slot_2.physics_object_picking = false
#_slot_2.notify_mouse_exited()
#_active_viewports_state.erase(_slot_2)
#
#elif event is InputEventKey:
#if _active_interactive_is_left: _slot_1.push_input(event.duplicate(true))
if Engine.is_editor_hint(): return
if not visible or is_animating: return
var handled = false
if event is InputEventMouse or event is InputEventMouseMotion:
if is_instance_valid(_slot_1):
_slot_1.physics_object_picking = true
if _inject_event_to_viewport(_slot_1, true, event):
if event is InputEventMouseButton and _slot_1.is_input_handled(): handled = true
if is_instance_valid(_slot_2):
_slot_2.physics_object_picking = true
if _inject_event_to_viewport(_slot_2, false, event):
if event is InputEventMouseButton and _slot_2.is_input_handled(): handled = true
elif event is InputEventKey:
if is_instance_valid(_slot_1):
_slot_1.push_input(event.duplicate(true))
if _slot_1.is_input_handled(): handled = true
if is_instance_valid(_slot_2):
_slot_2.push_input(event.duplicate(true))
if _slot_2.is_input_handled(): handled = true
if handled:
get_viewport().set_input_as_handled()
func _unhandled_input(event):
@@ -1202,8 +1208,8 @@ func _get_screen_center() -> Vector2:
var cam = get_viewport().get_camera_2d()
if cam: return cam.get_screen_center_position()
# If no camera or not using internal, center to viewport rect
return get_viewport_rect().size / 2.0
# Se non usiamo la camera, torniamo la nostra global_position per non distaccarci dalla UI
return global_position
func _get_compensation_offset(is_closed: bool, is_back: bool) -> Vector2:
var target_local_x = 0.0

View File

@@ -216,7 +216,7 @@ func _load_state_from_cache():
timing_peak_lift = _custom_cache.get("t_lift", 0.15)
timing_peak_land = _custom_cache.get("t_land", 0.85)
anim_duration = _custom_cache.get("dur", 1.0)
enable_shadow = _custom_cache.get("shadow", true)
enable_shadow = false # Force disable shadow
# ==============================================================================

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

View File

@@ -2,16 +2,16 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d4e1lbng4uqk"
path="res://.godot/imported/quad_main.png-af26b29d5c3350fc4d75e08ad350ccc7.ctex"
uid="uid://dyvwywse5raqt"
path="res://.godot/imported/1_dx.png-72d52e4e36c6fed20f7226414ff0abd6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/quad_main.png"
dest_files=["res://.godot/imported/quad_main.png-af26b29d5c3350fc4d75e08ad350ccc7.ctex"]
source_file="res://core/game_menu/assets/page_1/1_dx.png"
dest_files=["res://.godot/imported/1_dx.png-72d52e4e36c6fed20f7226414ff0abd6.ctex"]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbpfa1xgxxn8s"
path="res://.godot/imported/1_sx.png-f04965d63490ae436799d59856936013.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_1/1_sx.png"
dest_files=["res://.godot/imported/1_sx.png-f04965d63490ae436799d59856936013.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: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clvc6nlbgyvp1"
path="res://.godot/imported/rings.png-21117a64acb1855b44e3ce941dd421bd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_1/rings.png"
dest_files=["res://.godot/imported/rings.png-21117a64acb1855b44e3ce941dd421bd.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: 27 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://drwe2xcnp8vs1"
path="res://.godot/imported/2_dx.png-1c9a95db875176635d05c1084fc67cb1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_2/2_dx.png"
dest_files=["res://.godot/imported/2_dx.png-1c9a95db875176635d05c1084fc67cb1.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: 14 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cgllgxrstcoy7"
path="res://.godot/imported/2_sx.png-396d61afe82f03c22efe87c2626240ae.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_2/2_sx.png"
dest_files=["res://.godot/imported/2_sx.png-396d61afe82f03c22efe87c2626240ae.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: 60 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6ae0kp1m0x74"
path="res://.godot/imported/3_dx.png-c85d01f060ffa9993163c423a29a54fc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/3_dx.png"
dest_files=["res://.godot/imported/3_dx.png-c85d01f060ffa9993163c423a29a54fc.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: 30 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://diuai5vtjx23l"
path="res://.godot/imported/3_sx.png-537fe112f093326f28478c136b142922.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/3_sx.png"
dest_files=["res://.godot/imported/3_sx.png-537fe112f093326f28478c136b142922.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: 143 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://vg5y4qgc26ko"
path="res://.godot/imported/coming_soon_01.png-25c9049aaff7242878eb6f73c7097db7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/coming_soon_01.png"
dest_files=["res://.godot/imported/coming_soon_01.png-25c9049aaff7242878eb6f73c7097db7.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: 140 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmatlcouch6jm"
path="res://.godot/imported/coming_soon_02.png-3a0cf6d408d00a891bcda63b2e091de2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/coming_soon_02.png"
dest_files=["res://.godot/imported/coming_soon_02.png-3a0cf6d408d00a891bcda63b2e091de2.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: 140 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bm55xiv8jgnni"
path="res://.godot/imported/coming_soon_03.png-57925084415215faf6655b4afb668ed8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/coming_soon_03.png"
dest_files=["res://.godot/imported/coming_soon_03.png-57925084415215faf6655b4afb668ed8.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: 145 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cj81qdlrulal2"
path="res://.godot/imported/coming_soon_04.png-8f40cb1c6984110b3c2b3d9c3c9c8658.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/coming_soon_04.png"
dest_files=["res://.godot/imported/coming_soon_04.png-8f40cb1c6984110b3c2b3d9c3c9c8658.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: 142 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://biu4i40ck272q"
path="res://.godot/imported/coming_soon_05.png-ac2ff567503cb2e314861075714ac8fb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/game_menu/assets/page_3/coming_soon_05.png"
dest_files=["res://.godot/imported/coming_soon_05.png-ac2ff567503cb2e314861075714ac8fb.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: 1.7 MiB

View File

@@ -1,8 +1,6 @@
extends Control
@onready var tabs: Array[GameMenuTab] = [$%Tab1, $%Tab2, $%Tab3]
@onready var pages: Array[GameMenuPage] = [$%Page1, $%Page2, $%Page3]
var current_index = 0
func _ready() -> void:
for tab: GameMenuTab in tabs:
@@ -10,13 +8,12 @@ func _ready() -> void:
on_tab_pressed(0, true)
func on_tab_pressed(index: int, disable_animation: bool = false) -> void:
if BookAPI.is_busy() and not disable_animation:
return
for page in pages:
page.hide_page()
for tab in tabs:
if tab.index == index:
if disable_animation:
@@ -28,10 +25,5 @@ func on_tab_pressed(index: int, disable_animation: bool = false) -> void:
tab.deselect_without_animation()
else:
tab.deselect()
pages[index].show_page()
current_index = index
BookAPI.go_to_page((index + 1) * 2)
func open() -> void:
pages[current_index].show_page()
BookAPI.go_to_page((index + 1) * 2)

File diff suppressed because it is too large Load Diff

View File

@@ -11,6 +11,7 @@ func _ready() -> void:
play_button.pressed.connect(_on_play_button_pressed)
save_button.pressed.connect(_on_save_button_pressed)
quit_button.pressed.connect(_on_quit_button_pressed)
resume_button.pressed.connect(func(): UIEvents.resume_game_requested.emit())
func _on_play_button_pressed() -> void:
SceneManager.change_scene(SceneConfig.SceneName.GAME)

View File

@@ -1,10 +1,11 @@
[gd_scene load_steps=3 format=3]
[gd_scene format=3 uid="uid://h8hbdm1uno7q"]
[ext_resource type="Script" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="Script" uid="uid://0yyr318wl7co" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="PackedScene" uid="uid://bh1kxsp5jyxfx" path="res://core/game_menu/train_selector.tscn" id="2_train"]
[ext_resource type="Texture2D" path="res://core/game_menu/assets/page.png" id="3_page_bg"]
[ext_resource type="Texture2D" uid="uid://kvn5l0n11a3q" path="res://core/game_menu/assets/page.png" id="3_page_bg"]
[ext_resource type="Texture2D" uid="uid://dbpfa1xgxxn8s" path="res://core/game_menu/assets/page_1/1_sx.png" id="3_sm65a"]
[node name="Page1Left" type="Control"]
[node name="Page1Left" type="Control" unique_id=1881242741]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -13,20 +14,30 @@ offset_right = -1160.0
offset_bottom = -506.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_script")
[node name="PageBackground" type="TextureRect" parent="."]
[node name="PageBackground" type="TextureRect" parent="." unique_id=820333238]
layout_mode = 1
anchors_preset = 9
anchor_right = 0.0
anchor_bottom = 1.0
offset_right = 760.0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_page_bg")
expand_mode = 1
flip_h = true
[node name="TrainSelector" parent="." instance=ExtResource("2_train")]
[node name="PageBackground2" type="TextureRect" parent="." unique_id=1693418558]
layout_mode = 1
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 760.0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_sm65a")
[node name="TrainSelector" parent="." unique_id=2114418660 instance=ExtResource("2_train")]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5

View File

@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://0yyr318wl7co" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="PackedScene" uid="uid://bc60gon7fmvbr" path="res://core/game_menu/biome_selector.tscn" id="2_biome"]
[ext_resource type="Texture2D" uid="uid://dyvwywse5raqt" path="res://core/game_menu/assets/page_1/1_dx.png" id="3_6tfbo"]
[ext_resource type="Texture2D" uid="uid://kvn5l0n11a3q" path="res://core/game_menu/assets/page.png" id="3_page_bg"]
[node name="Page1Right" type="Control" unique_id=2093612752]
@@ -13,6 +14,7 @@ offset_right = -1160.0
offset_bottom = -506.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_script")
[node name="PageBackground" type="TextureRect" parent="." unique_id=1432670109]
@@ -24,9 +26,23 @@ anchor_bottom = 1.0
offset_left = -760.0
grow_horizontal = 0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_page_bg")
expand_mode = 1
[node name="PageBackground2" type="TextureRect" parent="." unique_id=1327230938]
layout_mode = 1
anchors_preset = 11
anchor_left = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -760.0
grow_horizontal = 0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_6tfbo")
stretch_mode = 2
[node name="BiomeSelector" parent="." unique_id=679177937 instance=ExtResource("2_biome")]
layout_mode = 1
anchors_preset = 8

View File

@@ -1,11 +1,12 @@
[gd_scene load_steps=4 format=3]
[gd_scene format=3 uid="uid://ct0pbs1nyi3d1"]
[ext_resource type="Script" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="Script" uid="uid://0yyr318wl7co" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://xgx0211eo8hi" path="res://core/game_menu/assets/page_2/photocollections_text.png" id="2_text"]
[ext_resource type="PackedScene" uid="uid://b6r787sik5yil" path="res://core/game_menu/photo_gallery.tscn" id="3_gallery"]
[ext_resource type="Texture2D" path="res://core/game_menu/assets/page.png" id="4_page_bg"]
[ext_resource type="Texture2D" uid="uid://cgllgxrstcoy7" path="res://core/game_menu/assets/page_2/2_sx.png" id="3_sfb5f"]
[ext_resource type="Texture2D" uid="uid://kvn5l0n11a3q" path="res://core/game_menu/assets/page.png" id="4_page_bg"]
[node name="Page2Left" type="Control"]
[node name="Page2Left" type="Control" unique_id=922443654]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -14,29 +15,41 @@ offset_right = -1160.0
offset_bottom = -506.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_script")
[node name="PageBackground" type="TextureRect" parent="."]
[node name="PageBackground" type="TextureRect" parent="." unique_id=1425677666]
layout_mode = 1
anchors_preset = 9
anchor_right = 0.0
anchor_bottom = 1.0
offset_right = 760.0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("4_page_bg")
expand_mode = 1
flip_h = true
[node name="PhotoCollectionText" type="TextureRect" parent="."]
[node name="PageBackground2" type="TextureRect" parent="." unique_id=1817272886]
layout_mode = 1
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 760.0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_sfb5f")
stretch_mode = 2
[node name="PhotoCollectionText" type="TextureRect" parent="." unique_id=643307421]
layout_mode = 0
offset_left = 96.0
offset_top = 27.0
offset_right = 663.0
offset_bottom = 112.0
mouse_filter = 2
texture = ExtResource("2_text")
stretch_mode = 3
[node name="PhotoGallery" parent="." instance=ExtResource("3_gallery")]
[node name="PhotoGallery" parent="." unique_id=1823812771 instance=ExtResource("3_gallery")]
layout_mode = 1
offset_left = 80.0
offset_top = 107.0

View File

@@ -1,13 +1,32 @@
[gd_scene load_steps=6 format=3]
[gd_scene format=3 uid="uid://clno1ahv2byng"]
[ext_resource type="Script" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="Script" uid="uid://0yyr318wl7co" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="Texture2D" uid="uid://xfl3ks4dbfaw" path="res://core/game_menu/assets/page_2/achievements_text.png" id="3_4uwhd"]
[ext_resource type="Texture2D" uid="uid://drwe2xcnp8vs1" path="res://core/game_menu/assets/page_2/2_dx.png" id="3_msl27"]
[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"]
[ext_resource type="Texture2D" path="res://core/game_menu/assets/page.png" id="9_page_bg"]
[ext_resource type="Texture2D" uid="uid://vg5y4qgc26ko" path="res://core/game_menu/assets/page_3/coming_soon_01.png" id="8_71v1w"]
[ext_resource type="Texture2D" uid="uid://bmatlcouch6jm" path="res://core/game_menu/assets/page_3/coming_soon_02.png" id="9_g7kul"]
[ext_resource type="Texture2D" uid="uid://kvn5l0n11a3q" path="res://core/game_menu/assets/page.png" id="9_page_bg"]
[ext_resource type="Texture2D" uid="uid://bm55xiv8jgnni" path="res://core/game_menu/assets/page_3/coming_soon_03.png" id="10_h6k52"]
[ext_resource type="Texture2D" uid="uid://cj81qdlrulal2" path="res://core/game_menu/assets/page_3/coming_soon_04.png" id="11_7aajs"]
[ext_resource type="Texture2D" uid="uid://biu4i40ck272q" path="res://core/game_menu/assets/page_3/coming_soon_05.png" id="12_dn2di"]
[node name="Page2Right" type="Control"]
[sub_resource type="AnimatedTexture" id="AnimatedTexture_0x02d"]
frames = 5
frame_0/texture = ExtResource("8_71v1w")
frame_0/duration = 0.15
frame_1/texture = ExtResource("9_g7kul")
frame_1/duration = 0.15
frame_2/texture = ExtResource("10_h6k52")
frame_2/duration = 0.15
frame_3/texture = ExtResource("11_7aajs")
frame_3/duration = 0.15
frame_4/texture = ExtResource("12_dn2di")
frame_4/duration = 0.15
[node name="Page2Right" type="Control" unique_id=944053844]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -16,33 +35,46 @@ offset_right = -1160.0
offset_bottom = -506.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_script")
[node name="PageBackground" type="TextureRect" parent="."]
[node name="PageBackground" type="TextureRect" parent="." unique_id=1387851649]
layout_mode = 1
anchors_preset = 11
anchor_left = 1.0
anchor_top = 0.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -760.0
offset_top = 0.0
offset_right = 0.0
offset_bottom = 0.0
grow_horizontal = 0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("9_page_bg")
expand_mode = 1
[node name="AchievementsText" type="TextureRect" parent="."]
[node name="PageBackground2" type="TextureRect" parent="." unique_id=1602066462]
layout_mode = 1
anchors_preset = 11
anchor_left = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -760.0
grow_horizontal = 0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_msl27")
stretch_mode = 2
[node name="AchievementsText" type="TextureRect" parent="." unique_id=766898810]
layout_mode = 0
offset_left = 261.0
offset_top = 34.5
offset_right = 656.0
offset_bottom = 105.5
mouse_filter = 2
texture = ExtResource("3_4uwhd")
stretch_mode = 3
[node name="CollectibleGallery" parent="." instance=ExtResource("5_w0bcg")]
[node name="CollectibleGallery" parent="." unique_id=916407522 instance=ExtResource("5_w0bcg")]
visible = false
layout_mode = 1
offset_left = 127.0
@@ -50,16 +82,27 @@ offset_top = 129.5
offset_right = 767.0
offset_bottom = 539.5
[node name="HighlightedPhoto" parent="." instance=ExtResource("6_2273a")]
[node name="HighlightedPhoto" parent="." unique_id=2124003447 instance=ExtResource("6_2273a")]
visible = false
layout_mode = 1
[node name="LockTexture" type="TextureRect" parent="."]
[node name="LockTexture" type="TextureRect" parent="." unique_id=535700029]
layout_mode = 0
offset_left = 342.0
offset_top = 153.5
offset_right = 624.0
offset_bottom = 514.2
mouse_filter = 2
texture = ExtResource("8_48jk0")
expand_mode = 1
stretch_mode = 5
[node name="TextureRect" type="TextureRect" parent="." unique_id=1942592146]
layout_mode = 0
offset_left = 596.0
offset_top = 86.0
offset_right = 743.0
offset_bottom = 233.0
texture = SubResource("AnimatedTexture_0x02d")
expand_mode = 1
stretch_mode = 5

View File

@@ -1,10 +1,11 @@
[gd_scene load_steps=3 format=3]
[gd_scene format=3 uid="uid://dhjocrxlqosyr"]
[ext_resource type="Script" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="Script" uid="uid://0yyr318wl7co" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="PackedScene" uid="uid://caqf471x0kttc" path="res://core/game_menu/settings_menu.tscn" id="2_settings"]
[ext_resource type="Texture2D" path="res://core/game_menu/assets/page.png" id="3_page_bg"]
[ext_resource type="Texture2D" uid="uid://diuai5vtjx23l" path="res://core/game_menu/assets/page_3/3_sx.png" id="3_jdqrf"]
[ext_resource type="Texture2D" uid="uid://kvn5l0n11a3q" path="res://core/game_menu/assets/page.png" id="3_page_bg"]
[node name="Page3Left" type="Control"]
[node name="Page3Left" type="Control" unique_id=1419303211]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -13,21 +14,35 @@ offset_right = -1160.0
offset_bottom = -506.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_script")
[node name="PageBackground" type="TextureRect" parent="."]
[node name="PageBackground" type="TextureRect" parent="." unique_id=1048771500]
layout_mode = 1
anchors_preset = 9
anchor_right = 0.0
anchor_bottom = 1.0
offset_right = 760.0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_page_bg")
expand_mode = 1
flip_h = true
[node name="SettingsMenu" parent="." instance=ExtResource("2_settings")]
[node name="PageBackground2" type="TextureRect" parent="." unique_id=1869708897]
layout_mode = 1
anchors_preset = 9
anchor_bottom = 1.0
offset_right = 760.0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_jdqrf")
stretch_mode = 2
[node name="SettingsMenu" parent="." unique_id=1402645746 instance=ExtResource("2_settings")]
layout_mode = 0
anchors_preset = 0
anchor_right = 0.0
anchor_bottom = 0.0
offset_left = 68.0
offset_top = 24.5
offset_right = 692.0

View File

@@ -1,10 +1,11 @@
[gd_scene load_steps=3 format=3]
[gd_scene format=3 uid="uid://cnaguqaowck52"]
[ext_resource type="Script" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="Script" uid="uid://0yyr318wl7co" path="res://core/game_menu/page_interactive.gd" id="1_script"]
[ext_resource type="PackedScene" uid="uid://cxf8s80ivwj1p" path="res://core/game_menu/option_menu.tscn" id="2_option"]
[ext_resource type="Texture2D" path="res://core/game_menu/assets/page.png" id="3_page_bg"]
[ext_resource type="Texture2D" uid="uid://b6ae0kp1m0x74" path="res://core/game_menu/assets/page_3/3_dx.png" id="3_j1o0h"]
[ext_resource type="Texture2D" uid="uid://kvn5l0n11a3q" path="res://core/game_menu/assets/page.png" id="3_page_bg"]
[node name="Page3Right" type="Control"]
[node name="Page3Right" type="Control" unique_id=1670917406]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@@ -13,24 +14,36 @@ offset_right = -1160.0
offset_bottom = -506.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_script")
[node name="PageBackground" type="TextureRect" parent="."]
[node name="PageBackground" type="TextureRect" parent="." unique_id=957141621]
layout_mode = 1
anchors_preset = 11
anchor_left = 1.0
anchor_top = 0.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -760.0
offset_top = 0.0
offset_right = 0.0
offset_bottom = 0.0
grow_horizontal = 0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_page_bg")
expand_mode = 1
[node name="OptionMenu" parent="." instance=ExtResource("2_option")]
[node name="PageBackground2" type="TextureRect" parent="." unique_id=409054633]
layout_mode = 1
anchors_preset = 11
anchor_left = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -760.0
grow_horizontal = 0
grow_vertical = 2
mouse_filter = 2
texture = ExtResource("3_j1o0h")
stretch_mode = 2
[node name="OptionMenu" parent="." unique_id=537721615 instance=ExtResource("2_option")]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
@@ -41,13 +54,11 @@ offset_left = -181.5
offset_top = -212.0
offset_right = 248.5
offset_bottom = 212.0
grow_horizontal = 2
grow_vertical = 2
[node name="PlayButton" parent="OptionMenu/VBoxContainer" index="0"]
[node name="PlayButton" parent="OptionMenu/VBoxContainer" parent_id_path=PackedInt32Array(537721615, 508055524) index="0" unique_id=1990327704]
visible = false
[node name="SettingsButton" parent="OptionMenu/VBoxContainer" index="2"]
[node name="SettingsButton" parent="OptionMenu/VBoxContainer" parent_id_path=PackedInt32Array(537721615, 508055524) index="2" unique_id=1931222561]
visible = false
[editable path="OptionMenu"]

Binary file not shown.

After

Width:  |  Height:  |  Size: 771 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://clmbvd7ilhra2"
path="res://.godot/imported/button_choochoo_on.png-e06955044ec386fd4f20a50236119841.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/main_scene_ui/assets/button_choochoo_on.png"
dest_files=["res://.godot/imported/button_choochoo_on.png-e06955044ec386fd4f20a50236119841.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: 765 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://qq84r14df2ix"
path="res://.godot/imported/button_visibility_on.png-32e35f3ae7b88f431f03c78dc0b29e6c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://core/main_scene_ui/assets/button_visibility_on.png"
dest_files=["res://.godot/imported/button_visibility_on.png-32e35f3ae7b88f431f03c78dc0b29e6c.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

@@ -40,7 +40,7 @@ func _ready() -> void:
menu_icon_button.pressed.connect(_open_game_menu_on_page.bind(2))
photo_icon_button.pressed.connect(_on_photo_icon_button_pressed)
choo_choo_button.pressed.connect(_on_choo_choo_button_pressed)
#resume_button.pressed.connect(_on_resume_button_pressed)
UIEvents.resume_game_requested.connect(_on_resume_button_pressed)
func _process(_delta: float) -> void:
if time_label and dist_label and GameState.is_loaded:

File diff suppressed because one or more lines are too long

View File

@@ -47,3 +47,7 @@ signal day_time_option_changed(index: int)
#train signals
@warning_ignore("unused_signal")
signal toot_toot()
#game menu signals
@warning_ignore("unused_signal")
signal resume_game_requested()

View File

@@ -224,11 +224,6 @@ transform = Transform3D(0.57785755, -0.57709646, 0.5770964, 0, 0.7071067, 0.7071
rotation_target = NodePath("../pivot")
iso_camera = NodePath("../camera_iso")
[node name="MainSceneUi" parent="cameras" unique_id=1359391222 instance=ExtResource("49_exdk1")]
offset_left = 3.0
offset_right = 3.0
mouse_filter = 2
[node name="DayNight" parent="." unique_id=1611939731 node_paths=PackedStringArray("camera_pivot") instance=ExtResource("36_qwsp8")]
camera_pivot = NodePath("../cameras")
thunder_sounds = Array[AudioStream]([SubResource("AudioStreamMP3_ra0ar"), SubResource("AudioStreamMP3_j8mxr"), ExtResource("37_pdfkp"), ExtResource("38_fpbvh"), ExtResource("39_hxtdl")])
@@ -554,6 +549,9 @@ theme_override_colors/font_hover_pressed_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
text = "Update Rails"
[node name="MainSceneUi" parent="." unique_id=1359391222 instance=ExtResource("49_exdk1")]
mouse_filter = 2
[connection signal="toggled" from="Control/Snow" to="Control" method="_on_snow_toggled"]
[connection signal="toggled" from="Control/Rain" to="Control" method="_on_rain_toggled"]
[connection signal="toggled" from="Control/Wind" to="Control" method="_on_wind_toggled"]