add prewarm chunk generation
This commit is contained in:
Binary file not shown.
@@ -212,6 +212,17 @@ func _physics_process(_delta: float) -> void:
|
|||||||
last_pos_train = current_pos
|
last_pos_train = current_pos
|
||||||
_refresh_world(current_pos)
|
_refresh_world(current_pos)
|
||||||
|
|
||||||
|
func generate_initial_world_now() -> void:
|
||||||
|
if rail_path == null or rail_path.train_instance == null:
|
||||||
|
return
|
||||||
|
|
||||||
|
var train_pos = rail_path.train_instance.global_position
|
||||||
|
var current_pos = Vector2i(roundi(train_pos.x / chunk_size), roundi(train_pos.z / chunk_size))
|
||||||
|
last_pos_train = current_pos
|
||||||
|
_rebuild_generation_queue(current_pos)
|
||||||
|
_drain_generation_queue_now()
|
||||||
|
_drain_wire_queue_now()
|
||||||
|
|
||||||
func collect_all_chunkinfo(root: Node, list: Array[Node]) -> void:
|
func collect_all_chunkinfo(root: Node, list: Array[Node]) -> void:
|
||||||
if root == null: return
|
if root == null: return
|
||||||
|
|
||||||
@@ -535,6 +546,20 @@ func _drain_generation_queue() -> void:
|
|||||||
pending_generation_cells.clear()
|
pending_generation_cells.clear()
|
||||||
pending_generation_cursor = 0
|
pending_generation_cursor = 0
|
||||||
|
|
||||||
|
func _drain_generation_queue_now() -> void:
|
||||||
|
while pending_generation_cursor < pending_generation_cells.size():
|
||||||
|
var grid_pos: Vector2i = pending_generation_cells[pending_generation_cursor]
|
||||||
|
pending_generation_cursor += 1
|
||||||
|
if board.has(grid_pos):
|
||||||
|
continue
|
||||||
|
|
||||||
|
var is_obstacle = _register_cell_with_ray(grid_pos)
|
||||||
|
if not is_obstacle:
|
||||||
|
_add_compatible_biome(grid_pos)
|
||||||
|
|
||||||
|
pending_generation_cells.clear()
|
||||||
|
pending_generation_cursor = 0
|
||||||
|
|
||||||
func _drain_cleanup_queue() -> void:
|
func _drain_cleanup_queue() -> void:
|
||||||
var processed: int = 0
|
var processed: int = 0
|
||||||
var start_usec: int = Time.get_ticks_usec()
|
var start_usec: int = Time.get_ticks_usec()
|
||||||
@@ -595,6 +620,22 @@ func _drain_wire_queue() -> void:
|
|||||||
pending_wire_cells.clear()
|
pending_wire_cells.clear()
|
||||||
pending_wire_cursor = 0
|
pending_wire_cursor = 0
|
||||||
|
|
||||||
|
func _drain_wire_queue_now() -> void:
|
||||||
|
while pending_wire_cursor < pending_wire_cells.size():
|
||||||
|
var grid_pos: Vector2i = pending_wire_cells[pending_wire_cursor]
|
||||||
|
pending_wire_cursor += 1
|
||||||
|
pending_wire_lookup.erase(grid_pos)
|
||||||
|
|
||||||
|
if not board.has(grid_pos):
|
||||||
|
continue
|
||||||
|
if not board[grid_pos].get("have_lamppost", false):
|
||||||
|
continue
|
||||||
|
|
||||||
|
_connect_lamppost_wires(grid_pos)
|
||||||
|
|
||||||
|
pending_wire_cells.clear()
|
||||||
|
pending_wire_cursor = 0
|
||||||
|
|
||||||
func _generate_pieces_around_train(center: Vector2i) -> void:
|
func _generate_pieces_around_train(center: Vector2i) -> void:
|
||||||
for x in range(-eye_line, eye_line + 1):
|
for x in range(-eye_line, eye_line + 1):
|
||||||
for z in range(-eye_line, eye_line + 1):
|
for z in range(-eye_line, eye_line + 1):
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
[gd_scene load_steps=18 format=3]
|
[gd_scene format=3 uid="uid://c7shevn0javuv"]
|
||||||
|
|
||||||
[ext_resource type="Material" path="res://tgcc/chunk/material/grassflat_chunk.tres" id="1_grass"]
|
[ext_resource type="Material" uid="uid://blqelpjvdv23j" path="res://tgcc/chunk/material/grassflat_chunk.tres" id="1_grass"]
|
||||||
[ext_resource type="Material" path="res://tgcc/chunk/material/field.tres" id="2_field"]
|
[ext_resource type="Material" uid="uid://c2x7xxweexmj" path="res://tgcc/chunk/material/field.tres" id="2_field"]
|
||||||
[ext_resource type="Material" path="res://tgcc/chunk/material/path_chunk.tres" id="3_path"]
|
[ext_resource type="Material" uid="uid://4xhpd6lust7w" path="res://tgcc/chunk/material/path_chunk.tres" id="3_path"]
|
||||||
[ext_resource type="Material" path="res://tgcc/chunk/material/terrain.tres" id="4_terrain"]
|
[ext_resource type="Material" uid="uid://cnu38m5dsy4uw" path="res://tgcc/chunk/material/terrain.tres" id="4_terrain"]
|
||||||
[ext_resource type="Material" path="res://tgcc/chunk/prop/house/house.tres" id="5_house"]
|
[ext_resource type="Material" uid="uid://o31kp0jm07q3" path="res://tgcc/chunk/material/rocks.tres" id="7_rocks"]
|
||||||
[ext_resource type="Material" path="res://tgcc/chunk/material/wood.tres" id="6_wood"]
|
|
||||||
[ext_resource type="Material" path="res://tgcc/chunk/material/rocks.tres" id="7_rocks"]
|
|
||||||
|
|
||||||
[sub_resource type="PlaneMesh" id="PlaneMesh_ground"]
|
[sub_resource type="PlaneMesh" id="PlaneMesh_ground"]
|
||||||
size = Vector2(560, 360)
|
size = Vector2(560, 360)
|
||||||
@@ -23,185 +21,63 @@ size = Vector2(12, 340)
|
|||||||
[sub_resource type="PlaneMesh" id="PlaneMesh_path_short"]
|
[sub_resource type="PlaneMesh" id="PlaneMesh_path_short"]
|
||||||
size = Vector2(10, 120)
|
size = Vector2(10, 120)
|
||||||
|
|
||||||
[sub_resource type="BoxMesh" id="BoxMesh_house"]
|
|
||||||
size = Vector3(11, 6, 9)
|
|
||||||
|
|
||||||
[sub_resource type="BoxMesh" id="BoxMesh_roof"]
|
|
||||||
size = Vector3(13, 2, 11)
|
|
||||||
|
|
||||||
[sub_resource type="BoxMesh" id="BoxMesh_tree_trunk"]
|
|
||||||
size = Vector3(1.4, 5, 1.4)
|
|
||||||
|
|
||||||
[sub_resource type="SphereMesh" id="SphereMesh_tree_crown"]
|
[sub_resource type="SphereMesh" id="SphereMesh_tree_crown"]
|
||||||
radius = 4.0
|
radius = 4.0
|
||||||
height = 5.0
|
height = 5.0
|
||||||
radial_segments = 8
|
radial_segments = 8
|
||||||
rings = 4
|
rings = 4
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_orange_crown"]
|
[node name="DistantMenuWorld" type="Node3D" unique_id=448788103]
|
||||||
albedo_color = Color(0.85, 0.32, 0.09, 1)
|
|
||||||
roughness = 0.85
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_red_crown"]
|
[node name="Ground" type="MeshInstance3D" parent="." unique_id=1769769010]
|
||||||
albedo_color = Color(0.6, 0.12, 0.08, 1)
|
|
||||||
roughness = 0.85
|
|
||||||
|
|
||||||
|
|
||||||
[node name="DistantMenuWorld" type="Node3D"]
|
|
||||||
|
|
||||||
[node name="Ground" type="MeshInstance3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, -0.12, 250)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, -0.12, 250)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("PlaneMesh_ground")
|
mesh = SubResource("PlaneMesh_ground")
|
||||||
surface_material_override/0 = ExtResource("1_grass")
|
surface_material_override/0 = ExtResource("1_grass")
|
||||||
|
|
||||||
[node name="BackDirt" type="MeshInstance3D" parent="."]
|
[node name="BackDirt" type="MeshInstance3D" parent="." unique_id=441617212]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -155, -0.1, 235)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -155, -0.1, 235)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("PlaneMesh_field_large")
|
mesh = SubResource("PlaneMesh_field_large")
|
||||||
surface_material_override/0 = ExtResource("4_terrain")
|
surface_material_override/0 = ExtResource("4_terrain")
|
||||||
|
|
||||||
[node name="FieldA" type="MeshInstance3D" parent="."]
|
[node name="FieldA" type="MeshInstance3D" parent="." unique_id=1168162022]
|
||||||
transform = Transform3D(0.9659258, 0, -0.25881904, 0, 1, 0, 0.25881904, 0, 0.9659258, -90, -0.08, 175)
|
transform = Transform3D(0.9659258, 0, -0.25881904, 0, 1, 0, 0.25881904, 0, 0.9659258, -90, -0.08, 175)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("PlaneMesh_field_large")
|
mesh = SubResource("PlaneMesh_field_large")
|
||||||
surface_material_override/0 = ExtResource("2_field")
|
surface_material_override/0 = ExtResource("2_field")
|
||||||
|
|
||||||
[node name="FieldB" type="MeshInstance3D" parent="."]
|
[node name="FieldB" type="MeshInstance3D" parent="." unique_id=908374467]
|
||||||
transform = Transform3D(0.8660254, 0, 0.5, 0, 1, 0, -0.5, 0, 0.8660254, 105, -0.08, 190)
|
transform = Transform3D(0.8660254, 0, 0.5, 0, 1, 0, -0.5, 0, 0.8660254, 105, -0.08, 190)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("PlaneMesh_field_large")
|
mesh = SubResource("PlaneMesh_field_large")
|
||||||
surface_material_override/0 = ExtResource("2_field")
|
surface_material_override/0 = ExtResource("2_field")
|
||||||
|
|
||||||
[node name="FieldC" type="MeshInstance3D" parent="."]
|
[node name="FieldC" type="MeshInstance3D" parent="." unique_id=725405179]
|
||||||
transform = Transform3D(0.9063078, 0, -0.42261827, 0, 1, 0, 0.42261827, 0, 0.9063078, 160, -0.08, 305)
|
transform = Transform3D(0.9063078, 0, -0.42261827, 0, 1, 0, 0.42261827, 0, 0.9063078, 160, -0.08, 305)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("PlaneMesh_field_small")
|
mesh = SubResource("PlaneMesh_field_small")
|
||||||
surface_material_override/0 = ExtResource("2_field")
|
surface_material_override/0 = ExtResource("2_field")
|
||||||
|
|
||||||
[node name="FieldD" type="MeshInstance3D" parent="."]
|
[node name="FieldD" type="MeshInstance3D" parent="." unique_id=180749651]
|
||||||
transform = Transform3D(0.9848077, 0, 0.17364818, 0, 1, 0, -0.17364818, 0, 0.9848077, -190, -0.08, 320)
|
transform = Transform3D(0.9848077, 0, 0.17364818, 0, 1, 0, -0.17364818, 0, 0.9848077, -190, -0.08, 320)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("PlaneMesh_field_small")
|
mesh = SubResource("PlaneMesh_field_small")
|
||||||
surface_material_override/0 = ExtResource("2_field")
|
surface_material_override/0 = ExtResource("2_field")
|
||||||
|
|
||||||
[node name="DistantRoadMain" type="MeshInstance3D" parent="."]
|
[node name="DistantRoadMain" type="MeshInstance3D" parent="." unique_id=979021818]
|
||||||
transform = Transform3D(0.70710677, 0, -0.70710677, 0, 1, 0, 0.70710677, 0, 0.70710677, 5, -0.06, 240)
|
transform = Transform3D(0.70710677, 0, -0.70710677, 0, 1, 0, 0.70710677, 0, 0.70710677, 5, -0.06, 240)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("PlaneMesh_path_long")
|
mesh = SubResource("PlaneMesh_path_long")
|
||||||
surface_material_override/0 = ExtResource("3_path")
|
surface_material_override/0 = ExtResource("3_path")
|
||||||
|
|
||||||
[node name="DistantRoadCross" type="MeshInstance3D" parent="."]
|
[node name="DistantRoadCross" type="MeshInstance3D" parent="." unique_id=1994181739]
|
||||||
transform = Transform3D(0.25881904, 0, 0.9659258, 0, 1, 0, -0.9659258, 0, 0.25881904, -20, -0.05, 220)
|
transform = Transform3D(0.25881904, 0, 0.9659258, 0, 1, 0, -0.9659258, 0, 0.25881904, -20, -0.05, 220)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("PlaneMesh_path_short")
|
mesh = SubResource("PlaneMesh_path_short")
|
||||||
surface_material_override/0 = ExtResource("3_path")
|
surface_material_override/0 = ExtResource("3_path")
|
||||||
|
|
||||||
[node name="VillageA" type="Node3D" parent="."]
|
[node name="RockPatch" type="MeshInstance3D" parent="." unique_id=12563390]
|
||||||
transform = Transform3D(0.9396926, 0, -0.34202015, 0, 1, 0, 0.34202015, 0, 0.9396926, -130, 0, 205)
|
|
||||||
|
|
||||||
[node name="House1" type="MeshInstance3D" parent="VillageA"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_house")
|
|
||||||
surface_material_override/0 = ExtResource("5_house")
|
|
||||||
|
|
||||||
[node name="Roof1" type="MeshInstance3D" parent="VillageA"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 0.8660254, -0.5, 0, 0.5, 0.8660254, 0, 7.2, 0)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_roof")
|
|
||||||
surface_material_override/0 = ExtResource("6_wood")
|
|
||||||
|
|
||||||
[node name="House2" type="MeshInstance3D" parent="VillageA"]
|
|
||||||
transform = Transform3D(0.88, 0, 0, 0, 0.88, 0, 0, 0, 0.88, 20, 2.64, -12)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_house")
|
|
||||||
surface_material_override/0 = ExtResource("5_house")
|
|
||||||
|
|
||||||
[node name="Roof2" type="MeshInstance3D" parent="VillageA"]
|
|
||||||
transform = Transform3D(0.88, 0, 0, 0, 0.76210237, -0.44, 0, 0.44, 0.76210237, 20, 6.3, -12)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_roof")
|
|
||||||
surface_material_override/0 = ExtResource("6_wood")
|
|
||||||
|
|
||||||
[node name="VillageB" type="Node3D" parent="."]
|
|
||||||
transform = Transform3D(0.81915206, 0, 0.57357645, 0, 1, 0, -0.57357645, 0, 0.81915206, 150, 0, 255)
|
|
||||||
|
|
||||||
[node name="House1" type="MeshInstance3D" parent="VillageB"]
|
|
||||||
transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 3.3, 0)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_house")
|
|
||||||
surface_material_override/0 = ExtResource("5_house")
|
|
||||||
|
|
||||||
[node name="Roof1" type="MeshInstance3D" parent="VillageB"]
|
|
||||||
transform = Transform3D(1.1, 0, 0, 0, 0.95262796, -0.55, 0, 0.55, 0.95262796, 0, 7.9, 0)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_roof")
|
|
||||||
surface_material_override/0 = ExtResource("6_wood")
|
|
||||||
|
|
||||||
[node name="House2" type="MeshInstance3D" parent="VillageB"]
|
|
||||||
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, -18, 2.4, 15)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_house")
|
|
||||||
surface_material_override/0 = ExtResource("5_house")
|
|
||||||
|
|
||||||
[node name="Roof2" type="MeshInstance3D" parent="VillageB"]
|
|
||||||
transform = Transform3D(0.8, 0, 0, 0, 0.6928203, -0.4, 0, 0.4, 0.6928203, -18, 5.75, 15)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_roof")
|
|
||||||
surface_material_override/0 = ExtResource("6_wood")
|
|
||||||
|
|
||||||
[node name="TreeLine" type="Node3D" parent="."]
|
|
||||||
|
|
||||||
[node name="TreeA_Trunk" type="MeshInstance3D" parent="TreeLine"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1.2, 0, 0, 0, 1, -210, 3, 210)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_tree_trunk")
|
|
||||||
surface_material_override/0 = ExtResource("6_wood")
|
|
||||||
|
|
||||||
[node name="TreeA_Crown" type="MeshInstance3D" parent="TreeLine"]
|
|
||||||
transform = Transform3D(1.4, 0, 0, 0, 1.1, 0, 0, 0, 1.4, -210, 8.5, 210)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("SphereMesh_tree_crown")
|
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_orange_crown")
|
|
||||||
|
|
||||||
[node name="TreeB_Trunk" type="MeshInstance3D" parent="TreeLine"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1.1, 0, 0, 0, 1, -175, 2.75, 255)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_tree_trunk")
|
|
||||||
surface_material_override/0 = ExtResource("6_wood")
|
|
||||||
|
|
||||||
[node name="TreeB_Crown" type="MeshInstance3D" parent="TreeLine"]
|
|
||||||
transform = Transform3D(1.2, 0, 0, 0, 1.0, 0, 0, 0, 1.2, -175, 7.7, 255)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("SphereMesh_tree_crown")
|
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_red_crown")
|
|
||||||
|
|
||||||
[node name="TreeC_Trunk" type="MeshInstance3D" parent="TreeLine"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1.15, 0, 0, 0, 1, 218, 2.9, 235)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_tree_trunk")
|
|
||||||
surface_material_override/0 = ExtResource("6_wood")
|
|
||||||
|
|
||||||
[node name="TreeC_Crown" type="MeshInstance3D" parent="TreeLine"]
|
|
||||||
transform = Transform3D(1.45, 0, 0, 0, 1.05, 0, 0, 0, 1.45, 218, 8.0, 235)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("SphereMesh_tree_crown")
|
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_orange_crown")
|
|
||||||
|
|
||||||
[node name="TreeD_Trunk" type="MeshInstance3D" parent="TreeLine"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1.05, 0, 0, 0, 1, 240, 2.65, 290)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("BoxMesh_tree_trunk")
|
|
||||||
surface_material_override/0 = ExtResource("6_wood")
|
|
||||||
|
|
||||||
[node name="TreeD_Crown" type="MeshInstance3D" parent="TreeLine"]
|
|
||||||
transform = Transform3D(1.2, 0, 0, 0, 0.95, 0, 0, 0, 1.2, 240, 7.4, 290)
|
|
||||||
cast_shadow = 0
|
|
||||||
mesh = SubResource("SphereMesh_tree_crown")
|
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_red_crown")
|
|
||||||
|
|
||||||
[node name="RockPatch" type="MeshInstance3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 0.35, 0, 0, 0, 0.65, -15, 0.6, 350)
|
transform = Transform3D(1, 0, 0, 0, 0.35, 0, 0, 0, 0.65, -15, 0.6, 350)
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
mesh = SubResource("SphereMesh_tree_crown")
|
mesh = SubResource("SphereMesh_tree_crown")
|
||||||
|
|||||||
@@ -4,13 +4,27 @@ extends Node3D
|
|||||||
@export var play_departure_delay_seconds: float = 1.0
|
@export var play_departure_delay_seconds: float = 1.0
|
||||||
@export var play_move_before_transition_seconds: float = 3.0
|
@export var play_move_before_transition_seconds: float = 3.0
|
||||||
@export var menu_train_whistle_volume_db: float = -12.0
|
@export var menu_train_whistle_volume_db: float = -12.0
|
||||||
|
@export var prewarm_chunks_before_show: bool = true
|
||||||
|
|
||||||
var _play_departure_started: bool = false
|
var _play_departure_started: bool = false
|
||||||
|
|
||||||
@onready var _rail_path: Node = $rail
|
@onready var _rail_path: Node = $rail
|
||||||
|
@onready var _biome_generator: Node = $biome_generator
|
||||||
|
@onready var _environment_manager: Node = $EnvironmentManager
|
||||||
@onready var _option_menu: Control = $MainMenuUI/SubViewport/OptionMenu
|
@onready var _option_menu: Control = $MainMenuUI/SubViewport/OptionMenu
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
if prewarm_chunks_before_show:
|
||||||
|
visible = false
|
||||||
|
await get_tree().physics_frame
|
||||||
|
if not is_inside_tree():
|
||||||
|
return
|
||||||
|
if _biome_generator != null and _biome_generator.has_method("generate_initial_world_now"):
|
||||||
|
_biome_generator.generate_initial_world_now()
|
||||||
|
if _environment_manager != null and _environment_manager.has_method("flush_pending_environment_nodes"):
|
||||||
|
_environment_manager.flush_pending_environment_nodes()
|
||||||
|
visible = true
|
||||||
|
|
||||||
_stop_menu_train()
|
_stop_menu_train()
|
||||||
_configure_menu_train_whistle_volume()
|
_configure_menu_train_whistle_volume()
|
||||||
_configure_play_transition_delay()
|
_configure_play_transition_delay()
|
||||||
|
|||||||
@@ -284,6 +284,8 @@ size = Vector2(600, 300)
|
|||||||
[node name="MainMenu" type="Node3D" unique_id=448381304]
|
[node name="MainMenu" type="Node3D" unique_id=448381304]
|
||||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
|
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
|
||||||
script = ExtResource("1_4j5xl")
|
script = ExtResource("1_4j5xl")
|
||||||
|
play_departure_speed = 6.0
|
||||||
|
menu_train_whistle_volume_db = -14.0
|
||||||
|
|
||||||
[node name="EnvironmentManager" parent="." unique_id=1611939731 instance=ExtResource("1_2o8pc")]
|
[node name="EnvironmentManager" parent="." unique_id=1611939731 instance=ExtResource("1_2o8pc")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.822516, 0, 1.9254212)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.822516, 0, 1.9254212)
|
||||||
|
|||||||
Reference in New Issue
Block a user