Compare commits
4 Commits
0c237430ea
...
vagon
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f7f9d6ae3 | |||
| 05b01f70cc | |||
| b059a2ef1d | |||
| d823cf4554 |
@@ -10,19 +10,6 @@ const ENTITY_SPAWN_ANY: int = 0
|
|||||||
const ENTITY_SPAWN_HUMANOID_ONLY: int = 1
|
const ENTITY_SPAWN_HUMANOID_ONLY: int = 1
|
||||||
const ENTITY_SPAWN_ANIMAL_ONLY: int = 2
|
const ENTITY_SPAWN_ANIMAL_ONLY: int = 2
|
||||||
|
|
||||||
const CHUNK_GENERATION_FRAME_BUDGET_USEC: int = 2000 #2 ms/frame to generate chunks
|
|
||||||
const CHUNK_CLEANUP_FRAME_BUDGET_USEC: int = 1000 #1 ms/frame per cleanup
|
|
||||||
const LAMPPOST_WIRE_FRAME_BUDGET_USEC: int = 1000 #1 ms/frame per i fili dei lampioni
|
|
||||||
#(about 4 ms o work for frame)
|
|
||||||
#Se compaiono chunk troppo lentamente davanti al treno:
|
|
||||||
#aumentare generazione a 3000 o 4000
|
|
||||||
#Se ci sono micro-scatti:
|
|
||||||
#abbassare generazione a 1000 o 1500
|
|
||||||
#Se i fili appaiono in ritardo:
|
|
||||||
#aumentare wire a 1500 o 2000
|
|
||||||
#Se il cleanup causa scatti:
|
|
||||||
#abbassare cleanup a 500
|
|
||||||
|
|
||||||
const MAX_CHUNK_UNIQUENESS: int = 5
|
const MAX_CHUNK_UNIQUENESS: int = 5
|
||||||
const RIVER_SIDE_ORDER: Array[String] = ["north", "est", "south", "west"]
|
const RIVER_SIDE_ORDER: Array[String] = ["north", "est", "south", "west"]
|
||||||
const RIVER_DIRECTIONS: Dictionary = {
|
const RIVER_DIRECTIONS: Dictionary = {
|
||||||
@@ -38,6 +25,20 @@ const RIVER_NEIGHBOUR_OFFSETS: Dictionary = {
|
|||||||
"west": Vector2i(-1, 0),
|
"west": Vector2i(-1, 0),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@export_group("Generation")
|
||||||
|
@export var chunk_generation_frame_budget_usec: int = 1500 #2 ms/frame to generate chunks
|
||||||
|
@export var chunk_cleanup_frame_budget_usec: int = 1000 #1 ms/frame per cleanup
|
||||||
|
@export var lampost_wire_frame_budget_usec: int = 1000 #1 ms/frame per i fili dei lampioni
|
||||||
|
#(about 4 ms of work for frame)
|
||||||
|
#Se compaiono chunk troppo lentamente davanti al treno:
|
||||||
|
#aumentare generazione a 3000 o 4000
|
||||||
|
#Se ci sono micro-scatti:
|
||||||
|
#abbassare generazione a 1000 o 1500
|
||||||
|
#Se i fili appaiono in ritardo:
|
||||||
|
#aumentare wire a 1500 o 2000
|
||||||
|
#Se il cleanup causa scatti:
|
||||||
|
#abbassare cleanup a 500
|
||||||
|
|
||||||
@export_group("Rails")
|
@export_group("Rails")
|
||||||
@export var rail_path: Path3D #rail path
|
@export var rail_path: Path3D #rail path
|
||||||
@export var railway_pool: Resource
|
@export var railway_pool: Resource
|
||||||
@@ -483,7 +484,7 @@ func _queue_has_frame_budget(start_usec: int, budget_usec: int, processed: int)
|
|||||||
func _drain_generation_queue() -> void:
|
func _drain_generation_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()
|
||||||
while pending_generation_cursor < pending_generation_cells.size() and _queue_has_frame_budget(start_usec, CHUNK_GENERATION_FRAME_BUDGET_USEC, processed):
|
while pending_generation_cursor < pending_generation_cells.size() and _queue_has_frame_budget(start_usec, chunk_generation_frame_budget_usec, processed):
|
||||||
var grid_pos: Vector2i = pending_generation_cells[pending_generation_cursor]
|
var grid_pos: Vector2i = pending_generation_cells[pending_generation_cursor]
|
||||||
pending_generation_cursor += 1
|
pending_generation_cursor += 1
|
||||||
if board.has(grid_pos):
|
if board.has(grid_pos):
|
||||||
@@ -501,7 +502,7 @@ func _drain_generation_queue() -> void:
|
|||||||
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()
|
||||||
while pending_cleanup_cursor < pending_cleanup_cells.size() and _queue_has_frame_budget(start_usec, CHUNK_CLEANUP_FRAME_BUDGET_USEC, processed):
|
while pending_cleanup_cursor < pending_cleanup_cells.size() and _queue_has_frame_budget(start_usec, chunk_cleanup_frame_budget_usec, processed):
|
||||||
var grid_pos: Vector2i = pending_cleanup_cells[pending_cleanup_cursor]
|
var grid_pos: Vector2i = pending_cleanup_cells[pending_cleanup_cursor]
|
||||||
pending_cleanup_cursor += 1
|
pending_cleanup_cursor += 1
|
||||||
if not board.has(grid_pos):
|
if not board.has(grid_pos):
|
||||||
@@ -529,7 +530,7 @@ func _queue_lamppost_wire_connection(grid_pos: Vector2i) -> void:
|
|||||||
func _drain_wire_queue() -> void:
|
func _drain_wire_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()
|
||||||
while pending_wire_cursor < pending_wire_cells.size() and _queue_has_frame_budget(start_usec, LAMPPOST_WIRE_FRAME_BUDGET_USEC, processed):
|
while pending_wire_cursor < pending_wire_cells.size() and _queue_has_frame_budget(start_usec, lampost_wire_frame_budget_usec, processed):
|
||||||
var grid_pos: Vector2i = pending_wire_cells[pending_wire_cursor]
|
var grid_pos: Vector2i = pending_wire_cells[pending_wire_cursor]
|
||||||
pending_wire_cursor += 1
|
pending_wire_cursor += 1
|
||||||
pending_wire_lookup.erase(grid_pos)
|
pending_wire_lookup.erase(grid_pos)
|
||||||
|
|||||||
@@ -1,31 +1,60 @@
|
|||||||
extends Path3D
|
extends Path3D
|
||||||
|
|
||||||
@export_group("Train")
|
@export_group("Train")
|
||||||
|
##train speed
|
||||||
@export var train_speed: float = 6.0
|
@export var train_speed: float = 6.0
|
||||||
|
##if true the train is in motion
|
||||||
@export var is_inmotion: bool = true
|
@export var is_inmotion: bool = true
|
||||||
|
##the model for the locomotive
|
||||||
@export var train_model: PackedScene
|
@export var train_model: PackedScene
|
||||||
|
##array of wagon scenes
|
||||||
|
@export var wagon_pool: Resource
|
||||||
|
##if true the number of wagons is random from 1 to wagon_count
|
||||||
|
@export var wagon_random_number: bool = true
|
||||||
|
##if wagon_random_number = true is used as max wagons
|
||||||
|
@export_range(0, 32, 1, "or_greater") var wagon_count: int = 3
|
||||||
|
##the distance between two wagons
|
||||||
|
@export var wagon_gap: float = 0.4
|
||||||
|
##the scale to calculate the distance of the bounds
|
||||||
|
@export_range(0.1, 2.0, 0.05, "or_greater") var wagon_spacing_scale: float = 0.5
|
||||||
|
##override spacing using this value
|
||||||
|
@export var wagon_spacing_override: float = 0.0
|
||||||
|
##distance of the rail axes
|
||||||
@export var axes_distance: float = 3.0
|
@export var axes_distance: float = 3.0
|
||||||
|
##discance between rails
|
||||||
@export var rail_distance: float = 1.2
|
@export var rail_distance: float = 1.2
|
||||||
|
##current camera
|
||||||
@export var cameras: Node3D
|
@export var cameras: Node3D
|
||||||
|
##swing of the train during the ran
|
||||||
@export_range(0.0, 1.0) var basic_swing: float = 0.1
|
@export_range(0.0, 1.0) var basic_swing: float = 0.1
|
||||||
|
|
||||||
@export_group("Rails Bulding")
|
@export_group("Rails Bulding")
|
||||||
|
##distance between sleepers of the rails
|
||||||
@export var sleepers_distance: float = 1.0
|
@export var sleepers_distance: float = 1.0
|
||||||
|
##nodel for the sleeper of the rail
|
||||||
@export var sleepers_model: PackedScene
|
@export var sleepers_model: PackedScene
|
||||||
|
|
||||||
@export_group("Manual Controls")
|
@export_group("Manual Controls")
|
||||||
|
##max speed
|
||||||
@export var speed_max: float = 15.0
|
@export var speed_max: float = 15.0
|
||||||
|
##min speed
|
||||||
@export var speed_min: float = -5.0
|
@export var speed_min: float = -5.0
|
||||||
|
##acceleration
|
||||||
@export var manual_acceleration: float = 5.0
|
@export var manual_acceleration: float = 5.0
|
||||||
|
|
||||||
@export_group("Train Stops")
|
@export_group("Train Stops")
|
||||||
|
##if true the train stop the ran on stops
|
||||||
@export var enable_stops: bool = true
|
@export var enable_stops: bool = true
|
||||||
|
##time of stop
|
||||||
@export var stop_time: float = 4.0
|
@export var stop_time: float = 4.0
|
||||||
|
##distance when the train start to brake
|
||||||
@export var brake_distance: float = 15.0
|
@export var brake_distance: float = 15.0
|
||||||
|
##restart time
|
||||||
@export var restart_time: float = 3.0
|
@export var restart_time: float = 3.0
|
||||||
|
##scene for fireworks
|
||||||
@export var fireworks_scene: PackedScene
|
@export var fireworks_scene: PackedScene
|
||||||
|
##array of colors for fireworks
|
||||||
var fireworks_colors: Array[Color] = [
|
@export var fireworks_colors: Array[Color] = [
|
||||||
Color(1.0, 0.2, 0.2), # Rosso vivo
|
Color(1.0, 0.2, 0.2), # Rosso vivo
|
||||||
Color(0.2, 1.0, 0.2), # Verde lime
|
Color(0.2, 1.0, 0.2), # Verde lime
|
||||||
Color(0.3, 0.5, 1.0), # Blu cielo
|
Color(0.3, 0.5, 1.0), # Blu cielo
|
||||||
@@ -48,9 +77,14 @@ var stop_multiply: float = 1.0
|
|||||||
var is_restarting: bool = false
|
var is_restarting: bool = false
|
||||||
var tween_restart: Tween
|
var tween_restart: Tween
|
||||||
var environment_config: EnvironmentConfig
|
var environment_config: EnvironmentConfig
|
||||||
|
var wagon_instances: Array[Node3D] = []
|
||||||
|
var wagon_progress_offsets: Array[float] = []
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
randomize()
|
||||||
|
|
||||||
_cache_environment_config()
|
_cache_environment_config()
|
||||||
|
|
||||||
if curve != null and curve.get_baked_length() > 0:
|
if curve != null and curve.get_baked_length() > 0:
|
||||||
build_rails()
|
build_rails()
|
||||||
build_train()
|
build_train()
|
||||||
@@ -153,6 +187,8 @@ func _snap_train_to_progress() -> void:
|
|||||||
cameras.global_position = center_position
|
cameras.global_position = center_position
|
||||||
cameras.global_basis = train_instance.global_basis
|
cameras.global_basis = train_instance.global_basis
|
||||||
|
|
||||||
|
_snap_wagons_to_progress(total_length)
|
||||||
|
|
||||||
func build_rails() -> void:
|
func build_rails() -> void:
|
||||||
var mat_wood = StandardMaterial3D.new()
|
var mat_wood = StandardMaterial3D.new()
|
||||||
mat_wood.albedo_color = Color(0.35, 0.2, 0.1)
|
mat_wood.albedo_color = Color(0.35, 0.2, 0.1)
|
||||||
@@ -324,6 +360,8 @@ func train_move(delta: float) -> void:
|
|||||||
cameras.global_position = center_position
|
cameras.global_position = center_position
|
||||||
cameras.global_basis = train_instance.global_basis
|
cameras.global_basis = train_instance.global_basis
|
||||||
|
|
||||||
|
_snap_wagons_to_progress(total_length)
|
||||||
|
|
||||||
var real_speed = abs(train_speed * stop_multiply)
|
var real_speed = abs(train_speed * stop_multiply)
|
||||||
var speed_factor = clamp(real_speed / max(speed_max, 0.001), 0.0, 1.0)
|
var speed_factor = clamp(real_speed / max(speed_max, 0.001), 0.0, 1.0)
|
||||||
var dir_prev = (center_position - back_position).normalized()
|
var dir_prev = (center_position - back_position).normalized()
|
||||||
@@ -401,6 +439,34 @@ func build_train() -> void:
|
|||||||
else:
|
else:
|
||||||
build_default_train()
|
build_default_train()
|
||||||
|
|
||||||
|
var wagons = wagon_count
|
||||||
|
if wagon_random_number:
|
||||||
|
wagons = randi_range(1, wagon_count)
|
||||||
|
build_train_wagons(wagons)
|
||||||
|
|
||||||
|
func build_train_wagons(wagon_number: int) -> void:
|
||||||
|
_clear_train_wagons()
|
||||||
|
if wagon_number <= 0 or wagon_pool == null or not "available_wagons" in wagon_pool:
|
||||||
|
return
|
||||||
|
if wagon_pool.available_wagons.is_empty():
|
||||||
|
return
|
||||||
|
|
||||||
|
for i in range(wagon_number):
|
||||||
|
var wagon_scene: PackedScene = wagon_pool.available_wagons.pick_random()
|
||||||
|
if wagon_scene == null:
|
||||||
|
continue
|
||||||
|
|
||||||
|
var wagon: Node3D = wagon_scene.instantiate() as Node3D
|
||||||
|
if wagon == null:
|
||||||
|
push_warning("Wagon scene root must be a Node3D.")
|
||||||
|
continue
|
||||||
|
|
||||||
|
add_child(wagon)
|
||||||
|
wagon_instances.append(wagon)
|
||||||
|
|
||||||
|
_update_wagon_progress_offsets()
|
||||||
|
_snap_wagons_to_progress()
|
||||||
|
|
||||||
func build_default_train() -> void:
|
func build_default_train() -> void:
|
||||||
train_instance = Node3D.new()
|
train_instance = Node3D.new()
|
||||||
add_child(train_instance)
|
add_child(train_instance)
|
||||||
@@ -435,3 +501,118 @@ func build_default_train() -> void:
|
|||||||
stack.material_override = mat_body
|
stack.material_override = mat_body
|
||||||
stack.position = Vector3(0, 1.2, 1.0)
|
stack.position = Vector3(0, 1.2, 1.0)
|
||||||
train_instance.add_child(stack)
|
train_instance.add_child(stack)
|
||||||
|
|
||||||
|
func _clear_train_wagons() -> void:
|
||||||
|
for wagon in wagon_instances:
|
||||||
|
if is_instance_valid(wagon):
|
||||||
|
wagon.queue_free()
|
||||||
|
wagon_instances.clear()
|
||||||
|
wagon_progress_offsets.clear()
|
||||||
|
|
||||||
|
func _update_wagon_progress_offsets() -> void:
|
||||||
|
wagon_progress_offsets.clear()
|
||||||
|
if train_instance == null or wagon_instances.is_empty():
|
||||||
|
return
|
||||||
|
|
||||||
|
var train_length: float = _get_vehicle_length(train_instance)
|
||||||
|
var previous_length: float = train_length
|
||||||
|
var accumulated_distance: float = 0.0
|
||||||
|
|
||||||
|
for wagon in wagon_instances:
|
||||||
|
var wagon_length: float = _get_vehicle_length(wagon)
|
||||||
|
accumulated_distance += _get_wagon_spacing(previous_length, wagon_length)
|
||||||
|
wagon_progress_offsets.append(accumulated_distance)
|
||||||
|
previous_length = wagon_length
|
||||||
|
|
||||||
|
func _get_wagon_spacing(previous_length: float, wagon_length: float) -> float:
|
||||||
|
if wagon_spacing_override > 0.0:
|
||||||
|
return wagon_spacing_override + wagon_gap
|
||||||
|
|
||||||
|
var detected_spacing: float = previous_length * 0.5 + wagon_length * 0.5
|
||||||
|
return detected_spacing * wagon_spacing_scale + wagon_gap
|
||||||
|
|
||||||
|
func _snap_wagons_to_progress(total_length: float = 0.0) -> void:
|
||||||
|
if curve == null or wagon_instances.is_empty():
|
||||||
|
return
|
||||||
|
|
||||||
|
if total_length <= 0.0:
|
||||||
|
total_length = curve.get_baked_length()
|
||||||
|
if total_length <= 0.0:
|
||||||
|
return
|
||||||
|
|
||||||
|
var direction: float = 1.0
|
||||||
|
if train_speed < 0.0:
|
||||||
|
direction = -1.0
|
||||||
|
|
||||||
|
for i in range(wagon_instances.size()):
|
||||||
|
var wagon: Node3D = wagon_instances[i]
|
||||||
|
if not is_instance_valid(wagon):
|
||||||
|
continue
|
||||||
|
|
||||||
|
var wagon_offset: float = float(i + 1) * 7.0
|
||||||
|
if i < wagon_progress_offsets.size():
|
||||||
|
wagon_offset = wagon_progress_offsets[i]
|
||||||
|
|
||||||
|
var wagon_progress: float = train_progress - direction * wagon_offset
|
||||||
|
_snap_vehicle_to_progress(wagon, wagon_progress, total_length)
|
||||||
|
|
||||||
|
func _snap_vehicle_to_progress(vehicle: Node3D, progress: float, total_length: float) -> void:
|
||||||
|
var vehicle_progress: float = wrapf(progress, 0.0, total_length)
|
||||||
|
var center_position: Vector3 = to_global(curve.sample_baked(vehicle_progress, true))
|
||||||
|
var prog_forward: float = wrapf(vehicle_progress + 2.0, 0.0, total_length)
|
||||||
|
var forward_position: Vector3 = to_global(curve.sample_baked(prog_forward, true))
|
||||||
|
|
||||||
|
vehicle.global_position = center_position
|
||||||
|
if center_position.distance_to(forward_position) > 0.01:
|
||||||
|
vehicle.look_at(forward_position, Vector3.UP)
|
||||||
|
vehicle.rotate_y(PI)
|
||||||
|
|
||||||
|
func _get_vehicle_length(vehicle: Node3D) -> float:
|
||||||
|
var bounds: AABB = _get_node_local_bounds(vehicle, vehicle)
|
||||||
|
if bounds.size == Vector3.ZERO:
|
||||||
|
return 7.0
|
||||||
|
|
||||||
|
return maxf(bounds.size.z, 0.1)
|
||||||
|
|
||||||
|
func _get_node_local_bounds(root: Node3D, node: Node) -> AABB:
|
||||||
|
var result: AABB = AABB()
|
||||||
|
var has_bounds: bool = false
|
||||||
|
|
||||||
|
var mesh_instance := node as MeshInstance3D
|
||||||
|
if mesh_instance != null and mesh_instance.mesh != null:
|
||||||
|
var mesh_bounds: AABB = mesh_instance.get_aabb()
|
||||||
|
var mesh_transform: Transform3D = root.global_transform.affine_inverse() * mesh_instance.global_transform
|
||||||
|
for corner in _get_aabb_corners(mesh_bounds):
|
||||||
|
var local_point: Vector3 = mesh_transform * corner
|
||||||
|
if has_bounds:
|
||||||
|
result = result.expand(local_point)
|
||||||
|
else:
|
||||||
|
result = AABB(local_point, Vector3.ZERO)
|
||||||
|
has_bounds = true
|
||||||
|
|
||||||
|
for child in node.get_children():
|
||||||
|
var child_bounds: AABB = _get_node_local_bounds(root, child)
|
||||||
|
if child_bounds.size == Vector3.ZERO:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if has_bounds:
|
||||||
|
result = result.merge(child_bounds)
|
||||||
|
else:
|
||||||
|
result = child_bounds
|
||||||
|
has_bounds = true
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
func _get_aabb_corners(bounds: AABB) -> Array[Vector3]:
|
||||||
|
var start: Vector3 = bounds.position
|
||||||
|
var end: Vector3 = bounds.end
|
||||||
|
return [
|
||||||
|
Vector3(start.x, start.y, start.z),
|
||||||
|
Vector3(end.x, start.y, start.z),
|
||||||
|
Vector3(start.x, end.y, start.z),
|
||||||
|
Vector3(end.x, end.y, start.z),
|
||||||
|
Vector3(start.x, start.y, end.z),
|
||||||
|
Vector3(end.x, start.y, end.z),
|
||||||
|
Vector3(start.x, end.y, end.z),
|
||||||
|
Vector3(end.x, end.y, end.z),
|
||||||
|
]
|
||||||
|
|||||||
6
core/biome_generator/wagon_pool.gd
Normal file
6
core/biome_generator/wagon_pool.gd
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
## Resource that lists the wagon scenes available for train composition.
|
||||||
|
class_name WagonPool
|
||||||
|
extends Resource
|
||||||
|
|
||||||
|
@export var name: String = "New Wagon Pool"
|
||||||
|
@export var available_wagons: Array[PackedScene] = []
|
||||||
9
core/biome_generator/wagon_pool.tres
Normal file
9
core/biome_generator/wagon_pool.tres
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[gd_resource type="Resource" script_class="WagonPool" format=3 uid="uid://bjnytgwt8tmf4"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dvk3bytqn3m5s" path="res://tgcc/train/main_train.tscn" id="1_t6q5r"]
|
||||||
|
[ext_resource type="Script" uid="uid://b6xk0gtn2pwa" path="res://core/biome_generator/wagon_pool.gd" id="2_x6bmc"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
script = ExtResource("2_x6bmc")
|
||||||
|
name = "Wagon Pool"
|
||||||
|
available_wagons = Array[PackedScene]([ExtResource("1_t6q5r")])
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
[ext_resource type="AudioStream" uid="uid://h5yhjn1x3f4j" path="res://core/daynight/sounds/rain_2.mp3" id="21_wnhyx"]
|
[ext_resource type="AudioStream" uid="uid://h5yhjn1x3f4j" path="res://core/daynight/sounds/rain_2.mp3" id="21_wnhyx"]
|
||||||
[ext_resource type="AudioStream" uid="uid://elrjw0smm0cj" path="res://core/daynight/sounds/rain_3.mp3" id="22_53kbn"]
|
[ext_resource type="AudioStream" uid="uid://elrjw0smm0cj" path="res://core/daynight/sounds/rain_3.mp3" id="22_53kbn"]
|
||||||
[ext_resource type="Script" uid="uid://cx2tlvxhvatj5" path="res://docs/museums/daynight/control.gd" id="23_27ile"]
|
[ext_resource type="Script" uid="uid://cx2tlvxhvatj5" path="res://docs/museums/daynight/control.gd" id="23_27ile"]
|
||||||
|
[ext_resource type="Script" uid="uid://ccdd52apoh4ir" path="res://docs/museums/daynight/camera_3d.gd" id="24_sw7bt"]
|
||||||
|
|
||||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wjpfq"]
|
[sub_resource type="FastNoiseLite" id="FastNoiseLite_wjpfq"]
|
||||||
fractal_lacunarity = 1.915
|
fractal_lacunarity = 1.915
|
||||||
@@ -148,7 +149,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
|||||||
curve = SubResource("Curve3D_xtogr")
|
curve = SubResource("Curve3D_xtogr")
|
||||||
script = ExtResource("6_pypsn")
|
script = ExtResource("6_pypsn")
|
||||||
train_model = ExtResource("6_wjpfq")
|
train_model = ExtResource("6_wjpfq")
|
||||||
cameras = NodePath("../cameras")
|
cameras = NodePath("../Camera3D")
|
||||||
sleepers_model = ExtResource("8_mb5yv")
|
sleepers_model = ExtResource("8_mb5yv")
|
||||||
fireworks_scene = ExtResource("8_xtogr")
|
fireworks_scene = ExtResource("8_xtogr")
|
||||||
|
|
||||||
@@ -373,6 +374,10 @@ theme_override_colors/font_color = Color(1, 1, 1, 1)
|
|||||||
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
theme_override_colors/font_outline_color = Color(1, 1, 1, 1)
|
||||||
text = "Weather: Clear"
|
text = "Weather: Clear"
|
||||||
|
|
||||||
|
[node name="Camera3D" type="Camera3D" parent="." unique_id=1305162994]
|
||||||
|
transform = Transform3D(0.035881948, 0.7570504, -0.65237045, -0.1472942, 0.6496678, 0.7458125, 0.9884417, 0.06932917, 0.13482046, -18.173235, 14.658583, -10.483771)
|
||||||
|
script = ExtResource("24_sw7bt")
|
||||||
|
|
||||||
[connection signal="toggled" from="Control/Snow" to="Control" method="_on_snow_toggled"]
|
[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/Rain" to="Control" method="_on_rain_toggled"]
|
||||||
[connection signal="toggled" from="Control/Wind" to="Control" method="_on_wind_toggled"]
|
[connection signal="toggled" from="Control/Wind" to="Control" method="_on_wind_toggled"]
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://dest0qa7vaid0" path="res://core/daynight/stars_albedo.png" id="3_ncg1s"]
|
[ext_resource type="Texture2D" uid="uid://dest0qa7vaid0" path="res://core/daynight/stars_albedo.png" id="3_ncg1s"]
|
||||||
[ext_resource type="Script" uid="uid://brcimd12tx3dm" path="res://core/daynight/edge_detection_compositor.gd" id="4_5uio4"]
|
[ext_resource type="Script" uid="uid://brcimd12tx3dm" path="res://core/daynight/edge_detection_compositor.gd" id="4_5uio4"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ujv2f1l4d2ps" path="res://core/biome_generator/biome_generator.tscn" id="5_yeh4a"]
|
[ext_resource type="PackedScene" uid="uid://ujv2f1l4d2ps" path="res://core/biome_generator/biome_generator.tscn" id="5_yeh4a"]
|
||||||
[ext_resource type="Resource" uid="uid://nrm040srfjwo" path="res://core/biome_generator/railway_pool.tres" id="6_awm2r"]
|
|
||||||
[ext_resource type="Script" uid="uid://wv6kcqkibium" path="res://core/biome_generator/biome.gd" id="6_s3jnv"]
|
[ext_resource type="Script" uid="uid://wv6kcqkibium" path="res://core/biome_generator/biome.gd" id="6_s3jnv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://crlk31ecl480n" path="res://tgcc/chunk/countryside/scene/chunk_country_corner_03.tscn" id="7_4elh6"]
|
[ext_resource type="PackedScene" uid="uid://crlk31ecl480n" path="res://tgcc/chunk/countryside/scene/chunk_country_corner_03.tscn" id="7_4elh6"]
|
||||||
[ext_resource type="PackedScene" uid="uid://b8blm6bwintf7" path="res://tgcc/chunk/countryside/scene/chunk_country_empty_01.tscn" id="7_xgfli"]
|
[ext_resource type="PackedScene" uid="uid://b8blm6bwintf7" path="res://tgcc/chunk/countryside/scene/chunk_country_empty_01.tscn" id="7_xgfli"]
|
||||||
@@ -145,7 +144,7 @@ data = PackedByteArray("//vQZAAOhpd2PgtGR7JsJPfgYSYSJ6387g9rgIGKF+EZgxxoAM4TYIWm
|
|||||||
|
|
||||||
[sub_resource type="Curve3D" id="Curve3D_ndco5"]
|
[sub_resource type="Curve3D" id="Curve3D_ndco5"]
|
||||||
closed = true
|
closed = true
|
||||||
bake_interval = 150.82
|
bake_interval = 50.0
|
||||||
_data = {
|
_data = {
|
||||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, -4.372, 0, 140, 0, 0, 0, 0, 0, 0, -20.963, 0, 160, 0, 0, 0, 0, 0, 0, -40.62518, 0, 168.52754, 0, 0, 0, 0, 0, 0, -60, 0, 170, 0, 0, 0, 0, 0, 0, -80, 0, 170, 0, 0, 0, 0, 0, 0, -100, 0, 170, 0, 0, 0, 0, 0, 0, -120.42937, 0, 171.50279, 0, 0, 0, 0, 0, 0, -141.41747, 7.6293945e-06, 180.5982, 0, 0, 0, 0, 0, 0, -155.77005, 7.6293945e-06, 198.35184, 0, 0, 0, 0, 0, 0, -160.14105, 7.6293945e-06, 219.80951, 0, 0, 0, 0, 0, 0, -163.99007, 7.6293945e-06, 239.36005, 0, 0, 0, 0, 0, 0, -175.77509, 7.6293945e-06, 256.16028, 0, 0, 0, 0, 0, 0, -195.62283, 7.6293945e-06, 267.46912, 0, 0, 0, 0, 0, 0, -219.9999, 7.6293945e-06, 270.11758, 0, 0, 0, 0, 0, 0, -240, 0, 270.118, 0, 0, 0, 0, 0, 0, -260, 0, 270.118, 0, 0, 0, 0, 0, 0, -275.19666, 7.6293945e-06, 270.55228, 0, 0, 0, 0, 0, 0, -294.2925, 7.6293945e-06, 276.05307, 0, 0, 0, 0, 0, 0, -307.19006, 7.6293945e-06, 286.9095, 0, 0, 0, 0, 0, 0, -317.32443, 7.6293945e-06, 303.14682, 0, 0, 0, 0, 0, 0, -320, 0, 320, 0, 0, 0, 0, 0, 0, -320, 0, 340, 0, 0, 0, 0, 0, 0, -320, 0, 360, 0, 0, 0, 0, 0, 0, -320, 0, 380, 0, 0, 0, 0, 0, 0, -316.78876, 7.6293945e-06, 396.91193, 0, 0, 0, 0, 0, 0, -307.68207, 7.6293945e-06, 412.70596, 0, 0, 0, 0, 0, 0, -291.08273, 7.6293945e-06, 424.7491, 0, 0, 0, 0, 0, 0, -270, 0, 429.994, 0, 0, 0, 0, 0, 0, -250, 0, 429.994, 0, 0, 0, 0, 0, 0, -229.90146, 7.6293945e-06, 433.90823, 0, 0, 0, 0, 0, 0, -217.15442, 7.6293945e-06, 442.98242, 0, 0, 0, 0, 0, 0, -204.60803, 7.6293945e-06, 459.93704, 0, 0, 0, 0, 0, 0, -200, 0, 480, 0, 0, 0, 0, 0, 0, -200, 0, 500, 0, 0, 0, 0, 0, 0, -195.5338, 7.6293945e-06, 520.0368, 0, 0, 0, 0, 0, 0, -184.9173, 7.6293945e-06, 535.07776, 0, 0, 0, 0, 0, 0, -170.36423, 7.6293945e-06, 545.0799, 0, 0, 0, 0, 0, 0, -150.56184, 0, 549.8127, 0, 0, 0, 0, 0, 0, -130, 0, 550, 0, 0, 0, 0, 0, 0, -110, 0, 550, 0, 0, 0, 0, 0, 0, -90, 0, 550, 0, 0, 0, 0, 0, 0, -70, 0, 550, 0, 0, 0, 0, 0, 0, -50, 0, 550, 0, 0, 0, 0, 0, 0, -29.862535, 7.6293945e-06, 545.3371, 0, 0, 0, 0, 0, 0, -13.215244, 7.6293945e-06, 533.0626, 0, 0, 0, 0, 0, 0, -4.098665, 7.6293945e-06, 519.6814, 0, 0, 0, 0, 0, 0, -0.048213482, 7.6293945e-06, 500.107, 0, 0, 0, 0, 0, 0, 3.7920675, 7.6293945e-06, 480.64902, 0, 0, 0, 0, 0, 0, 13.513225, 7.6293945e-06, 465.9133, 0, 0, 0, 0, 0, 0, 29.76715, 7.6293945e-06, 454.41486, 0, 0, 0, 0, 0, 0, 49.711926, 7.6293945e-06, 450.12488, 0, 0, 0, 0, 0, 0, 70, 0, 450, 0, 0, 0, 0, 0, 0, 90, 0, 450, 0, 0, 0, 0, 0, 0, 110.055405, 7.6293945e-06, 445.42627, 0, 0, 0, 0, 0, 0, 126.975784, 7.6293945e-06, 432.8683, 0, 0, 0, 0, 0, 0, 136.95703, 7.6293945e-06, 417.5506, 0, 0, 0, 0, 0, 0, 140, 0, 400, 0, 0, 0, 0, 0, 0, 140, 0, 380, 0, 0, 0, 0, 0, 0, 140, 0, 360, 0, 0, 0, 0, 0, 0, 140, 0, 340, 0, 0, 0, 0, 0, 0, 140, 0, 320, 0, 0, 0, 0, 0, 0, 140, 0, 300, 0, 0, 0, 0, 0, 0, 140, 0, 280, 0, 0, 0, 0, 0, 0, 140, 0, 260, 0, 0, 0, 0, 0, 0, 140, 0, 240, 0, 0, 0, 0, 0, 0, 140, 0, 220, 0, 0, 0, 0, 0, 0, 140, 0, 200, 0, 0, 0, 0, 0, 0, 140, 0, 180, 0, 0, 0, 0, 0, 0, 140, 0, 160, 0, 0, 0, 0, 0, 0, 140, 0, 140, 0, 0, 0, 0, 0, 0, 140, 0, 120, 0, 0, 0, 0, 0, 0, 140, 0, 100, 0, 0, 0, 0, 0, 0, 140, 0, 80, 0, 0, 0, 0, 0, 0, 140, 0, 60, 0, 0, 0, 0, 0, 0, 140, 0, 40, 0, 0, 0, 0, 0, 0, 140, 0, 20, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 136.2151, 7.6293945e-06, -18.930761, 0, 0, 0, 0, 0, 0, 124.47424, 7.6293945e-06, -35.771675, 0, 0, 0, 0, 0, 0, 109.556854, 7.6293945e-06, -45.911987, 0, 0, 0, 0, 0, 0, 90, 0, -50, 0, 0, 0, 0, 0, 0, 70, 0, -50, 0, 0, 0, 0, 0, 0, 50, 0, -50, 0, 0, 0, 0, 0, 0, 30.626865, 7.6293945e-06, -46.35706, 0, 0, 0, 0, 0, 0, 14.519331, 7.6293945e-06, -35.468895, 0, 0, 0, 0, 0, 0, 3.52941, 7.6293945e-06, -19.590664),
|
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, -4.372, 0, 140, 0, 0, 0, 0, 0, 0, -20.963, 0, 160, 0, 0, 0, 0, 0, 0, -40.62518, 0, 168.52754, 0, 0, 0, 0, 0, 0, -60, 0, 170, 0, 0, 0, 0, 0, 0, -80, 0, 170, 0, 0, 0, 0, 0, 0, -100, 0, 170, 0, 0, 0, 0, 0, 0, -120.42937, 0, 171.50279, 0, 0, 0, 0, 0, 0, -141.41747, 7.6293945e-06, 180.5982, 0, 0, 0, 0, 0, 0, -155.77005, 7.6293945e-06, 198.35184, 0, 0, 0, 0, 0, 0, -160.14105, 7.6293945e-06, 219.80951, 0, 0, 0, 0, 0, 0, -163.99007, 7.6293945e-06, 239.36005, 0, 0, 0, 0, 0, 0, -175.77509, 7.6293945e-06, 256.16028, 0, 0, 0, 0, 0, 0, -195.62283, 7.6293945e-06, 267.46912, 0, 0, 0, 0, 0, 0, -219.9999, 7.6293945e-06, 270.11758, 0, 0, 0, 0, 0, 0, -240, 0, 270.118, 0, 0, 0, 0, 0, 0, -260, 0, 270.118, 0, 0, 0, 0, 0, 0, -275.19666, 7.6293945e-06, 270.55228, 0, 0, 0, 0, 0, 0, -294.2925, 7.6293945e-06, 276.05307, 0, 0, 0, 0, 0, 0, -307.19006, 7.6293945e-06, 286.9095, 0, 0, 0, 0, 0, 0, -317.32443, 7.6293945e-06, 303.14682, 0, 0, 0, 0, 0, 0, -320, 0, 320, 0, 0, 0, 0, 0, 0, -320, 0, 340, 0, 0, 0, 0, 0, 0, -320, 0, 360, 0, 0, 0, 0, 0, 0, -320, 0, 380, 0, 0, 0, 0, 0, 0, -316.78876, 7.6293945e-06, 396.91193, 0, 0, 0, 0, 0, 0, -307.68207, 7.6293945e-06, 412.70596, 0, 0, 0, 0, 0, 0, -291.08273, 7.6293945e-06, 424.7491, 0, 0, 0, 0, 0, 0, -270, 0, 429.994, 0, 0, 0, 0, 0, 0, -250, 0, 429.994, 0, 0, 0, 0, 0, 0, -229.90146, 7.6293945e-06, 433.90823, 0, 0, 0, 0, 0, 0, -217.15442, 7.6293945e-06, 442.98242, 0, 0, 0, 0, 0, 0, -204.60803, 7.6293945e-06, 459.93704, 0, 0, 0, 0, 0, 0, -200, 0, 480, 0, 0, 0, 0, 0, 0, -200, 0, 500, 0, 0, 0, 0, 0, 0, -195.5338, 7.6293945e-06, 520.0368, 0, 0, 0, 0, 0, 0, -184.9173, 7.6293945e-06, 535.07776, 0, 0, 0, 0, 0, 0, -170.36423, 7.6293945e-06, 545.0799, 0, 0, 0, 0, 0, 0, -150.56184, 0, 549.8127, 0, 0, 0, 0, 0, 0, -130, 0, 550, 0, 0, 0, 0, 0, 0, -110, 0, 550, 0, 0, 0, 0, 0, 0, -90, 0, 550, 0, 0, 0, 0, 0, 0, -70, 0, 550, 0, 0, 0, 0, 0, 0, -50, 0, 550, 0, 0, 0, 0, 0, 0, -29.862535, 7.6293945e-06, 545.3371, 0, 0, 0, 0, 0, 0, -13.215244, 7.6293945e-06, 533.0626, 0, 0, 0, 0, 0, 0, -4.098665, 7.6293945e-06, 519.6814, 0, 0, 0, 0, 0, 0, -0.048213482, 7.6293945e-06, 500.107, 0, 0, 0, 0, 0, 0, 3.7920675, 7.6293945e-06, 480.64902, 0, 0, 0, 0, 0, 0, 13.513225, 7.6293945e-06, 465.9133, 0, 0, 0, 0, 0, 0, 29.76715, 7.6293945e-06, 454.41486, 0, 0, 0, 0, 0, 0, 49.711926, 7.6293945e-06, 450.12488, 0, 0, 0, 0, 0, 0, 70, 0, 450, 0, 0, 0, 0, 0, 0, 90, 0, 450, 0, 0, 0, 0, 0, 0, 110.055405, 7.6293945e-06, 445.42627, 0, 0, 0, 0, 0, 0, 126.975784, 7.6293945e-06, 432.8683, 0, 0, 0, 0, 0, 0, 136.95703, 7.6293945e-06, 417.5506, 0, 0, 0, 0, 0, 0, 140, 0, 400, 0, 0, 0, 0, 0, 0, 140, 0, 380, 0, 0, 0, 0, 0, 0, 140, 0, 360, 0, 0, 0, 0, 0, 0, 140, 0, 340, 0, 0, 0, 0, 0, 0, 140, 0, 320, 0, 0, 0, 0, 0, 0, 140, 0, 300, 0, 0, 0, 0, 0, 0, 140, 0, 280, 0, 0, 0, 0, 0, 0, 140, 0, 260, 0, 0, 0, 0, 0, 0, 140, 0, 240, 0, 0, 0, 0, 0, 0, 140, 0, 220, 0, 0, 0, 0, 0, 0, 140, 0, 200, 0, 0, 0, 0, 0, 0, 140, 0, 180, 0, 0, 0, 0, 0, 0, 140, 0, 160, 0, 0, 0, 0, 0, 0, 140, 0, 140, 0, 0, 0, 0, 0, 0, 140, 0, 120, 0, 0, 0, 0, 0, 0, 140, 0, 100, 0, 0, 0, 0, 0, 0, 140, 0, 80, 0, 0, 0, 0, 0, 0, 140, 0, 60, 0, 0, 0, 0, 0, 0, 140, 0, 40, 0, 0, 0, 0, 0, 0, 140, 0, 20, 0, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 0, 0, 136.2151, 7.6293945e-06, -18.930761, 0, 0, 0, 0, 0, 0, 124.47424, 7.6293945e-06, -35.771675, 0, 0, 0, 0, 0, 0, 109.556854, 7.6293945e-06, -45.911987, 0, 0, 0, 0, 0, 0, 90, 0, -50, 0, 0, 0, 0, 0, 0, 70, 0, -50, 0, 0, 0, 0, 0, 0, 50, 0, -50, 0, 0, 0, 0, 0, 0, 30.626865, 7.6293945e-06, -46.35706, 0, 0, 0, 0, 0, 0, 14.519331, 7.6293945e-06, -35.468895, 0, 0, 0, 0, 0, 0, 3.52941, 7.6293945e-06, -19.590664),
|
||||||
"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||||
@@ -161,10 +160,9 @@ compositor = SubResource("Compositor_mb5yv")
|
|||||||
|
|
||||||
[node name="biome_generator" parent="." unique_id=1861369341 node_paths=PackedStringArray("rail_path") instance=ExtResource("5_yeh4a")]
|
[node name="biome_generator" parent="." unique_id=1861369341 node_paths=PackedStringArray("rail_path") instance=ExtResource("5_yeh4a")]
|
||||||
rail_path = NodePath("../rail")
|
rail_path = NodePath("../rail")
|
||||||
railway_pool = ExtResource("6_awm2r")
|
|
||||||
biome_list = Array[ExtResource("6_s3jnv")]([SubResource("Resource_3qrd0")])
|
biome_list = Array[ExtResource("6_s3jnv")]([SubResource("Resource_3qrd0")])
|
||||||
entity_pool = ExtResource("35_hmtvu")
|
entity_pool = ExtResource("35_hmtvu")
|
||||||
eye_line = 5
|
eye_line = 4
|
||||||
|
|
||||||
[node name="Terrain" type="MeshInstance3D" parent="." unique_id=219178561]
|
[node name="Terrain" type="MeshInstance3D" parent="." unique_id=219178561]
|
||||||
visible = false
|
visible = false
|
||||||
|
|||||||
71
export_presets.cfg
Normal file
71
export_presets.cfg
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
[preset.0]
|
||||||
|
|
||||||
|
name="Windows Desktop"
|
||||||
|
platform="Windows Desktop"
|
||||||
|
runnable=true
|
||||||
|
dedicated_server=false
|
||||||
|
custom_features=""
|
||||||
|
export_filter="all_resources"
|
||||||
|
include_filter=""
|
||||||
|
exclude_filter=""
|
||||||
|
export_path="../tgcc.exe"
|
||||||
|
patches=PackedStringArray()
|
||||||
|
patch_delta_encoding=false
|
||||||
|
patch_delta_compression_level_zstd=19
|
||||||
|
patch_delta_min_reduction=0.1
|
||||||
|
patch_delta_include_filters="*"
|
||||||
|
patch_delta_exclude_filters=""
|
||||||
|
encryption_include_filters=""
|
||||||
|
encryption_exclude_filters=""
|
||||||
|
seed=0
|
||||||
|
encrypt_pck=false
|
||||||
|
encrypt_directory=false
|
||||||
|
script_export_mode=2
|
||||||
|
|
||||||
|
[preset.0.options]
|
||||||
|
|
||||||
|
custom_template/debug=""
|
||||||
|
custom_template/release=""
|
||||||
|
debug/export_console_wrapper=1
|
||||||
|
binary_format/embed_pck=false
|
||||||
|
texture_format/s3tc_bptc=true
|
||||||
|
texture_format/etc2_astc=false
|
||||||
|
shader_baker/enabled=false
|
||||||
|
binary_format/architecture="x86_64"
|
||||||
|
codesign/enable=false
|
||||||
|
codesign/timestamp=true
|
||||||
|
codesign/timestamp_server_url=""
|
||||||
|
codesign/digest_algorithm=1
|
||||||
|
codesign/description=""
|
||||||
|
codesign/custom_options=PackedStringArray()
|
||||||
|
application/modify_resources=true
|
||||||
|
application/icon=""
|
||||||
|
application/console_wrapper_icon=""
|
||||||
|
application/icon_interpolation=4
|
||||||
|
application/file_version=""
|
||||||
|
application/product_version=""
|
||||||
|
application/company_name=""
|
||||||
|
application/product_name=""
|
||||||
|
application/file_description=""
|
||||||
|
application/copyright=""
|
||||||
|
application/trademarks=""
|
||||||
|
application/export_angle=0
|
||||||
|
application/export_d3d12=0
|
||||||
|
application/d3d12_agility_sdk_multiarch=true
|
||||||
|
ssh_remote_deploy/enabled=false
|
||||||
|
ssh_remote_deploy/host="user@host_ip"
|
||||||
|
ssh_remote_deploy/port="22"
|
||||||
|
ssh_remote_deploy/extra_args_ssh=""
|
||||||
|
ssh_remote_deploy/extra_args_scp=""
|
||||||
|
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
||||||
|
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
||||||
|
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
||||||
|
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
|
||||||
|
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
||||||
|
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
||||||
|
Start-ScheduledTask -TaskName godot_remote_debug
|
||||||
|
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
||||||
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
||||||
|
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
||||||
|
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
||||||
|
Remove-Item -Recurse -Force '{temp_dir}'"
|
||||||
@@ -11,7 +11,7 @@ config_version=5
|
|||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="tgcc"
|
config/name="tgcc"
|
||||||
run/main_scene="uid://38qpxwbpvd28"
|
run/main_scene="uid://vjf4bdxd8saj"
|
||||||
config/features=PackedStringArray("4.6", "Forward Plus")
|
config/features=PackedStringArray("4.6", "Forward Plus")
|
||||||
run/max_fps=60
|
run/max_fps=60
|
||||||
config/icon="uid://bfar1kk3pgq8f"
|
config/icon="uid://bfar1kk3pgq8f"
|
||||||
|
|||||||
@@ -57,16 +57,16 @@ script = ExtResource("2_yfmnf")
|
|||||||
south = true
|
south = true
|
||||||
west = true
|
west = true
|
||||||
|
|
||||||
[node name="Argini" parent="." index="0" unique_id=487109030]
|
[node name="Argini" parent="." index="0" unique_id=357182272]
|
||||||
surface_material_override/0 = ExtResource("2_02qm6")
|
surface_material_override/0 = ExtResource("2_02qm6")
|
||||||
|
|
||||||
[node name="Sentieri" parent="." index="1" unique_id=320924856 groups=["weather_node"]]
|
[node name="Sentieri" parent="." index="1" unique_id=1704203551 groups=["weather_node"]]
|
||||||
surface_material_override/0 = ExtResource("3_yfmnf")
|
surface_material_override/0 = ExtResource("3_yfmnf")
|
||||||
|
|
||||||
[node name="Terreno" parent="." index="2" unique_id=1980435075]
|
[node name="Terreno" parent="." index="2" unique_id=1478648388]
|
||||||
surface_material_override/0 = ExtResource("2_02qm6")
|
surface_material_override/0 = ExtResource("2_02qm6")
|
||||||
|
|
||||||
[node name="Water" parent="." index="3" unique_id=424969495]
|
[node name="Water" parent="." index="3" unique_id=415433510]
|
||||||
surface_material_override/0 = ExtResource("4_x1bjv")
|
surface_material_override/0 = ExtResource("4_x1bjv")
|
||||||
|
|
||||||
[node name="grass" type="Node3D" parent="." index="4" unique_id=543668848 groups=["weather_vegetables_node", "wind_node"]]
|
[node name="grass" type="Node3D" parent="." index="4" unique_id=543668848 groups=["weather_vegetables_node", "wind_node"]]
|
||||||
|
|||||||
Binary file not shown.
@@ -1,44 +0,0 @@
|
|||||||
[remap]
|
|
||||||
|
|
||||||
importer="scene"
|
|
||||||
importer_version=1
|
|
||||||
type="PackedScene"
|
|
||||||
uid="uid://dsvlxc3l5i1vk"
|
|
||||||
path="res://.godot/imported/Lantern_2.fbx-4aa3960da9dcc2d67f606c4b71816ef7.scn"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://tgcc/chunk/prop/pylon/Lantern_2.fbx"
|
|
||||||
dest_files=["res://.godot/imported/Lantern_2.fbx-4aa3960da9dcc2d67f606c4b71816ef7.scn"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
nodes/root_type=""
|
|
||||||
nodes/root_name=""
|
|
||||||
nodes/root_script=null
|
|
||||||
nodes/apply_root_scale=true
|
|
||||||
nodes/root_scale=1.0
|
|
||||||
nodes/import_as_skeleton_bones=false
|
|
||||||
nodes/use_name_suffixes=true
|
|
||||||
nodes/use_node_type_suffixes=true
|
|
||||||
meshes/ensure_tangents=true
|
|
||||||
meshes/generate_lods=true
|
|
||||||
meshes/create_shadow_meshes=true
|
|
||||||
meshes/light_baking=1
|
|
||||||
meshes/lightmap_texel_size=0.2
|
|
||||||
meshes/force_disable_compression=false
|
|
||||||
skins/use_named_skins=true
|
|
||||||
animation/import=true
|
|
||||||
animation/fps=30
|
|
||||||
animation/trimming=true
|
|
||||||
animation/remove_immutable_tracks=true
|
|
||||||
animation/import_rest_as_RESET=false
|
|
||||||
import_script/path=""
|
|
||||||
materials/extract=0
|
|
||||||
materials/extract_format=0
|
|
||||||
materials/extract_path=""
|
|
||||||
_subresources={}
|
|
||||||
fbx/importer=0
|
|
||||||
fbx/allow_geometry_helper_nodes=false
|
|
||||||
fbx/embedded_image_handling=1
|
|
||||||
fbx/naming_version=2
|
|
||||||
464
tgcc/main_scene.tscn
Normal file
464
tgcc/main_scene.tscn
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user