commit 94bfe2754e5b35b90560353901d6286ea78e9e4f Author: Manuel Erdmann Date: Tue Jun 10 19:16:45 2025 +0200 :tada: diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f28239b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,4 @@ +root = true + +[*] +charset = utf-8 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8ad74f7 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Normalize EOL for all files that Git considers text files. +* text=auto eol=lf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0af181c --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Godot 4+ specific ignores +.godot/ +/android/ diff --git a/Building.gd b/Building.gd new file mode 100644 index 0000000..87b1eab --- /dev/null +++ b/Building.gd @@ -0,0 +1,42 @@ +extends Node2D +class_name Building + +@export var current_grid_pos: Vector2i = Vector2i.ZERO: + set(value): + current_grid_pos = value + _on_grid_position_changed() + +@export var direction: Vector2i = Vector2i.RIGHT: + set(value): + direction = value + _on_direction_changed() + +var game_grid: GameGrid # = get_parent().get_node("GameGrid") +var tile_map: TileMapLayer + +func _ready() -> void: + game_grid = get_tree().root.get_node("Node2D/GameGrid") + tile_map = game_grid.tile_map + +func _on_grid_position_changed(): + name = "Building_%s,%s" % [current_grid_pos.x, current_grid_pos.y] + pass + +func _on_direction_changed(): + pass + +func can_accept_item() -> bool: + push_error("can_accept_item() must be overridden by class %s!" % name) + return false + +# Accept item for movement +func handle_item_entry(item: Item, remaining_delta_from_previous: float = 0.0): + push_error("handle_item_entry() must be overridden by class %s!" % name) + + #item.queue_free() + +# Accept item directly (for item sink). Maybe use same method for both and +# just ignore delta? +func handle_item(item: Item): + push_error("handle_item() must be overridden by class %s!" % name) + #item.queue_free() diff --git a/Building.gd.uid b/Building.gd.uid new file mode 100644 index 0000000..9e65d2e --- /dev/null +++ b/Building.gd.uid @@ -0,0 +1 @@ +uid://bmo8acudhxeu diff --git a/ConveyorBelt.gd b/ConveyorBelt.gd new file mode 100644 index 0000000..0b2d73b --- /dev/null +++ b/ConveyorBelt.gd @@ -0,0 +1,141 @@ +extends Building +class_name ConveyorBelt + +@export var belt_speed_tiles_per_second: float = 1.0 +@export var num_slots: int = 2 + +var items_on_belt: Array[Dictionary] = [] # [{ "item": ItemNode, "progress": float }] + +@onready var belt_sprite: AnimatedSprite2D = $Sprite2D + + +func _ready(): + super() + _on_direction_changed() + + if belt_sprite: + belt_sprite.speed_scale = belt_speed_tiles_per_second + belt_sprite.play("default") + + +func _on_grid_position_changed(): + super() + name = "ConveyorBelt_%s,%s" % [current_grid_pos.x, current_grid_pos.y] + + +func _on_direction_changed(): + if belt_sprite: + belt_sprite.rotation_degrees = calculate_rotation_degrees(direction) + + +func can_accept_item() -> bool: + if items_on_belt.is_empty(): + return true + + if items_on_belt.size() >= num_slots: + return false + + var item_length_on_belt = 1.0 / float(num_slots) + return items_on_belt.back().progress > item_length_on_belt + + +func handle_item_entry(item: Item, initial_progress: float = 0.0): + if not can_accept_item(): + print("Belt at %s received item but cannot accept. Item freed." % current_grid_pos) + #item.queue_free() + return + + items_on_belt.append({"item": item, "progress": initial_progress}) + + var world_start_point = game_grid.tile_map.map_to_local(current_grid_pos) + (Vector2.ONE * game_grid.tile_map.rendering_quadrant_size) / 2 + + var world_end_point = game_grid.tile_map.map_to_local(current_grid_pos + direction) + (Vector2.ONE * game_grid.tile_map.rendering_quadrant_size) / 2 + + item.global_position = world_start_point.lerp(world_end_point, initial_progress) + + +const dir_to_rotation: Dictionary = { + Vector2i.RIGHT: 0.0, Vector2i.DOWN: 90.0, Vector2i.LEFT: 180.0, Vector2i.UP: 270.0 +} + + +func calculate_rotation_degrees(dir: Vector2i) -> float: + return dir_to_rotation.get(dir, 0.0) + + +func _physics_process(delta: float): + if items_on_belt.is_empty(): + return + + _process_belt_movement(delta) + _hand_off_items_if_ready() + + +func _process_belt_movement(mut_delta: float): + var world_start_point = game_grid.tile_map.map_to_local(current_grid_pos) + (Vector2.ONE * game_grid.tile_map.rendering_quadrant_size) / 2 + var world_end_point = game_grid.tile_map.map_to_local(current_grid_pos + direction) + (Vector2.ONE * game_grid.tile_map.rendering_quadrant_size) / 2 + + var segment_length_pixels = game_grid.tile_map.rendering_quadrant_size + var current_pixel_speed = belt_speed_tiles_per_second * segment_length_pixels + var item_length_on_belt = 1.0 / float(num_slots) + + for i: int in items_on_belt.size(): + var item_data = items_on_belt[i] + var item: Item = item_data.item + var item_current_progress: float = item_data.progress + + var distance_this_frame_progress = (current_pixel_speed * mut_delta) / segment_length_pixels + var potential_new_progress = item_current_progress + distance_this_frame_progress + + var target_progress_for_this_item = potential_new_progress + + if i > 0: + var prev_item_data = items_on_belt[i - 1] + var prev_item = prev_item_data.item + + var prev_item_progress = prev_item_data.progress + + var max_allowed_front_progress = prev_item_progress - item_length_on_belt + + target_progress_for_this_item = min(potential_new_progress, max_allowed_front_progress) + + target_progress_for_this_item = max(item_current_progress, target_progress_for_this_item) + + item_data.progress = max(0.0, target_progress_for_this_item) + item.global_position = world_start_point.lerp(world_end_point, item_data.progress) + + +func _hand_off_items_if_ready(): + if items_on_belt.is_empty(): + return +# + var items_to_remove_indices = [] + + for i in items_on_belt.size(): + var item_data = items_on_belt[i] + var item_to_hand_off = item_data.item + + if item_data.progress < 1.0: + continue + + var next_grid_cell_pos = current_grid_pos + direction + var next_entity: Building = game_grid.get_content_at_grid(next_grid_cell_pos) + + if next_entity: + if next_entity.can_accept_item(): + item_data.progress -= 1.0 + #var overshoot_progress_on_old_belt = item_data.progress - 1.0 + next_entity.handle_item_entry(item_to_hand_off, item_data.progress) + items_to_remove_indices.push_back(i) + else: + item_data.progress = 1.0 + item_to_hand_off.global_position = game_grid.tile_map.map_to_local(current_grid_pos + direction) + (Vector2.ONE * game_grid.tile_map.rendering_quadrant_size) / 2 + break + else: + item_data.progress = 1.0 + item_to_hand_off.global_position = game_grid.tile_map.map_to_local(current_grid_pos + direction) + (Vector2.ONE * game_grid.tile_map.rendering_quadrant_size) / 2 + break + + for i_to_remove in range(items_to_remove_indices.size() - 1, -1, -1): + var index_to_remove = items_to_remove_indices[i_to_remove] + items_on_belt.remove_at(index_to_remove) diff --git a/ConveyorBelt.gd.uid b/ConveyorBelt.gd.uid new file mode 100644 index 0000000..56595c5 --- /dev/null +++ b/ConveyorBelt.gd.uid @@ -0,0 +1 @@ +uid://goo7ylyjehky diff --git a/ConveyorBelt.tscn b/ConveyorBelt.tscn new file mode 100644 index 0000000..93eca7b --- /dev/null +++ b/ConveyorBelt.tscn @@ -0,0 +1,245 @@ +[gd_scene load_steps=36 format=3 uid="uid://cx0w0b4lydvdc"] + +[ext_resource type="Script" uid="uid://goo7ylyjehky" path="res://ConveyorBelt.gd" id="1_00233"] +[ext_resource type="Texture2D" uid="uid://cu35euxejrux5" path="res://belttest.png" id="2_f0eav"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_2vug4"] +atlas = ExtResource("2_f0eav") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0l5it"] +atlas = ExtResource("2_f0eav") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_3pcc7"] +atlas = ExtResource("2_f0eav") +region = Rect2(64, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oqs77"] +atlas = ExtResource("2_f0eav") +region = Rect2(96, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8cepb"] +atlas = ExtResource("2_f0eav") +region = Rect2(128, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6pwny"] +atlas = ExtResource("2_f0eav") +region = Rect2(160, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1n56w"] +atlas = ExtResource("2_f0eav") +region = Rect2(192, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q6yxr"] +atlas = ExtResource("2_f0eav") +region = Rect2(224, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_w2koh"] +atlas = ExtResource("2_f0eav") +region = Rect2(256, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1udie"] +atlas = ExtResource("2_f0eav") +region = Rect2(288, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_jbxve"] +atlas = ExtResource("2_f0eav") +region = Rect2(320, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wshh5"] +atlas = ExtResource("2_f0eav") +region = Rect2(352, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ydnb5"] +atlas = ExtResource("2_f0eav") +region = Rect2(384, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_gbjlf"] +atlas = ExtResource("2_f0eav") +region = Rect2(416, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_wm1o4"] +atlas = ExtResource("2_f0eav") +region = Rect2(448, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_oe8px"] +atlas = ExtResource("2_f0eav") +region = Rect2(480, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_toh5b"] +atlas = ExtResource("2_f0eav") +region = Rect2(512, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8qxo3"] +atlas = ExtResource("2_f0eav") +region = Rect2(544, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_pd7xg"] +atlas = ExtResource("2_f0eav") +region = Rect2(576, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_04ncl"] +atlas = ExtResource("2_f0eav") +region = Rect2(608, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_6vtoe"] +atlas = ExtResource("2_f0eav") +region = Rect2(640, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_nr23j"] +atlas = ExtResource("2_f0eav") +region = Rect2(672, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_it63n"] +atlas = ExtResource("2_f0eav") +region = Rect2(704, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_0xnpq"] +atlas = ExtResource("2_f0eav") +region = Rect2(736, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_ms08x"] +atlas = ExtResource("2_f0eav") +region = Rect2(768, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_swck5"] +atlas = ExtResource("2_f0eav") +region = Rect2(800, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_e3awo"] +atlas = ExtResource("2_f0eav") +region = Rect2(832, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_cr2sg"] +atlas = ExtResource("2_f0eav") +region = Rect2(864, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_yav1l"] +atlas = ExtResource("2_f0eav") +region = Rect2(896, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_tqtxc"] +atlas = ExtResource("2_f0eav") +region = Rect2(928, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_g41ho"] +atlas = ExtResource("2_f0eav") +region = Rect2(960, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_220he"] +atlas = ExtResource("2_f0eav") +region = Rect2(992, 0, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_0c7ms"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_2vug4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0l5it") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_3pcc7") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oqs77") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8cepb") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6pwny") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1n56w") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q6yxr") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_w2koh") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1udie") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_jbxve") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wshh5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ydnb5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_gbjlf") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_wm1o4") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_oe8px") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_toh5b") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8qxo3") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_pd7xg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_04ncl") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_6vtoe") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_nr23j") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_it63n") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_0xnpq") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_ms08x") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_swck5") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_e3awo") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_cr2sg") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_yav1l") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_tqtxc") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_g41ho") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_220he") +}], +"loop": true, +"name": &"default", +"speed": 32.0 +}] + +[node name="ConveyorBelt" type="Node2D"] +script = ExtResource("1_00233") + +[node name="Sprite2D" type="AnimatedSprite2D" parent="."] +texture_filter = 3 +sprite_frames = SubResource("SpriteFrames_0c7ms") +autoplay = "default" +speed_scale = 2.0 diff --git a/GameGrid.gd b/GameGrid.gd new file mode 100644 index 0000000..ac6a12f --- /dev/null +++ b/GameGrid.gd @@ -0,0 +1,65 @@ +extends Node2D +class_name GameGrid + +var grid_content: Dictionary = {} +@onready var tile_map: TileMapLayer = get_tree().root.get_node("Node2D/TileMap") + +func _ready(): + var belt1 = preload("res://ConveyorBelt.tscn").instantiate() + place_building(belt1, Vector2i(0, 0), Vector2i.RIGHT) + + var belt2 = preload("res://ConveyorBelt.tscn").instantiate() + place_building(belt2, Vector2i(1, 0), Vector2i.RIGHT) + + var belt4 = preload("res://ConveyorBelt.tscn").instantiate() + place_building(belt4, Vector2i(3, 0), Vector2i.RIGHT) + + var belt3 = preload("res://ConveyorBelt.tscn").instantiate() + place_building(belt3, Vector2i(2, 0), Vector2i.RIGHT) + + var spawner = preload("res://ItemSpawner.tscn").instantiate() + spawner.modulate = Color.RED + place_building(spawner, Vector2i(0, -1), Vector2i.DOWN) + + var spawner2 = preload("res://ItemSpawner.tscn").instantiate() + spawner2.modulate = Color.YELLOW + place_building(spawner2, Vector2i(0, 1), Vector2i.UP) + + var sink = preload("res://ItemSink.tscn").instantiate() + place_building(sink, Vector2i(2, 1)) + +func get_content_at_grid(grid_pos: Vector2i) -> Building: + return grid_content.get(grid_pos, null) + +func place_building(building_node: Building, grid_pos: Vector2i, direction: Vector2i = Vector2i.ZERO) -> bool: + if grid_content.has(grid_pos) and grid_content[grid_pos] != null: + print("grid_pos at %s not free." % grid_pos) + building_node.queue_free() + return false + + # Internal setter + building_node.current_grid_pos = grid_pos + building_node.direction = direction + + var world_center = tile_map.map_to_local(grid_pos) + (Vector2.ONE * tile_map.rendering_quadrant_size) / 2 + building_node.position = world_center + add_child(building_node) + grid_content[grid_pos] = building_node + print("placed %s at %s" % [building_node.name, grid_pos]) + return true + +func remove_building(grid_pos: Vector2i) -> bool: + if grid_content.has(grid_pos): + var building_to_remove = grid_content[grid_pos] + grid_content.erase(grid_pos) + + if building_to_remove is ConveyorBelt and not building_to_remove.items_on_belt.is_empty(): + for item_data in building_to_remove.items_on_belt: + item_data.item.queue_free() + + building_to_remove.queue_free() + print("removed building from %s" % grid_pos) + return true + + print("no building to remove at %s" % grid_pos) + return false diff --git a/GameGrid.gd.uid b/GameGrid.gd.uid new file mode 100644 index 0000000..d2d81ef --- /dev/null +++ b/GameGrid.gd.uid @@ -0,0 +1 @@ +uid://dhcaak02wvtk8 diff --git a/Item.gd b/Item.gd new file mode 100644 index 0000000..30c5e11 --- /dev/null +++ b/Item.gd @@ -0,0 +1,12 @@ +extends Node2D +class_name Item + +@export var type: String = "default" +@export var stack_count: int = 1 + +@onready var sprite: Sprite2D = $Sprite2D + +func _ready(): + # TODO: Use CustomResource for type definition and setup here + # Stuff like name, sprite, max_stack_count etc + pass diff --git a/Item.gd.uid b/Item.gd.uid new file mode 100644 index 0000000..606013d --- /dev/null +++ b/Item.gd.uid @@ -0,0 +1 @@ +uid://dnt8wmnnwufm0 diff --git a/Item.tscn b/Item.tscn new file mode 100644 index 0000000..67acdfc --- /dev/null +++ b/Item.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=3 format=3 uid="uid://8wybm2xsp48x"] + +[ext_resource type="Script" uid="uid://dnt8wmnnwufm0" path="res://Item.gd" id="1_ph0dh"] +[ext_resource type="Texture2D" uid="uid://cxv1o4v3xi3uv" path="res://icon.svg" id="2_6m5p0"] + +[node name="Item" type="Node2D"] +script = ExtResource("1_ph0dh") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture_filter = 6 +scale = Vector2(0.125, 0.125) +texture = ExtResource("2_6m5p0") diff --git a/ItemSink.gd b/ItemSink.gd new file mode 100644 index 0000000..b6211ca --- /dev/null +++ b/ItemSink.gd @@ -0,0 +1,27 @@ +extends Building +class_name ItemSink + +@onready var sink_sprite: Sprite2D = $Sprite2D + +func _ready(): + super() + + if sink_sprite: + sink_sprite.modulate = Color("darkred") + +func _on_grid_position_changed(): + super() + + name = "ItemSink_%s,%s" % [current_grid_pos.x, current_grid_pos.y] + +# Sink can always accept +func can_accept_item() -> bool: + return true + +func handle_item_entry(item: Item, remaining_delta_from_previous: float = 0.0): + print("ItemSink handle_item_entry at %s consumed item: %s" % [current_grid_pos, item.type]) + item.queue_free() + +func handle_item(item: Item): + print("ItemSink handle_item at %s consumed item: %s" % [current_grid_pos, item.type]) + item.queue_free() diff --git a/ItemSink.gd.uid b/ItemSink.gd.uid new file mode 100644 index 0000000..3557ba5 --- /dev/null +++ b/ItemSink.gd.uid @@ -0,0 +1 @@ +uid://dmmpii7rul7j8 diff --git a/ItemSink.tscn b/ItemSink.tscn new file mode 100644 index 0000000..c8167f3 --- /dev/null +++ b/ItemSink.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=3 format=3 uid="uid://c2q8ri3la0ivp"] + +[ext_resource type="Script" uid="uid://dmmpii7rul7j8" path="res://ItemSink.gd" id="1_21mh2"] +[ext_resource type="Texture2D" uid="uid://cxv1o4v3xi3uv" path="res://icon.svg" id="2_kwaey"] + +[node name="ItemSink" type="Node2D"] +script = ExtResource("1_21mh2") + +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(0.25, 0.25) +texture = ExtResource("2_kwaey") diff --git a/ItemSpawner.gd b/ItemSpawner.gd new file mode 100644 index 0000000..c88ceb6 --- /dev/null +++ b/ItemSpawner.gd @@ -0,0 +1,79 @@ +extends Building +class_name ItemSpawner + +# TODO: Use CustomResources to set item types +@export var item_type_to_spawn: String = "TestItem" +@export var spawn_interval_seconds: float = 1.0 + +@onready var spawn_timer: Timer = $SpawnTimer +#@onready var spawn_point_offset: Vector2 = Vector2(0, -32) + +var _spawned_item_scene: PackedScene = preload("res://Item.tscn") + +func _ready(): + super() + + _on_grid_position_changed() + + if spawn_timer: + spawn_timer.one_shot = true + spawn_timer.wait_time = spawn_interval_seconds + spawn_timer.timeout.connect(_on_spawn_timer_timeout) + spawn_timer.start() + +func _on_grid_position_changed(): + super() + + name = "ItemSpawner_%s,%s" % [current_grid_pos.x, current_grid_pos.y] + +# Can never accept items +func can_accept_item() -> bool: + return false + + +func handle_item_entry(item: Item, remaining_delta_from_previous: float = 0.0): + # Should never happen since can_accept_item() is always false + #item.queue_free() + print("Item %s tried to enter spawner at %s." % [item.type, current_grid_pos]) + +func _on_spawn_timer_timeout(): + set_physics_process(true) + var next_grid_cell_pos = current_grid_pos + direction + var next_entity: Building = game_grid.get_content_at_grid(next_grid_cell_pos) + + if not next_entity: + print("Spawner at %s is blocked: no entity at next cell." % current_grid_pos) + return + + if not next_entity.can_accept_item(): + # pause future spawning and "buffer" current item spawn until the space is free + # TODO: Use a signal FROM the belt here (belt should signal when it is free instead + # of the spawner checking every tick... + print("Spawner at %s is blocked: next entity (%s) cannot accept item. Pausing spawn." % [current_grid_pos, next_entity.name]) + return + + var new_item: Item = _spawned_item_scene.instantiate() + new_item.modulate = modulate + new_item.type = item_type_to_spawn + game_grid.add_child(new_item) + + new_item.global_position = global_position # + spawn_point_offset + new_item.reset_physics_interpolation() + + print("Spawner at %s is spawned item (%s) for next_entity (%s)." % [current_grid_pos, new_item.name, next_entity.name]) + + next_entity.handle_item_entry(new_item, 0.0) # TOOO: Use actual item pixel size + # Maybe have up to 4 or 8 items on a belt like factorio? + # Currently all items are in the center (easier), but we still + # need to use size to check if we are backed up and can't move + # Easierst would be to have ALL items be the same size, and use factorios approach of distances + # between items for checks + spawn_timer.start() + +func _physics_process(delta: float) -> void: + # We could disable physics_process() while the timer is running + if not spawn_timer.is_stopped(): + set_physics_process(false) + return + + _on_spawn_timer_timeout() diff --git a/ItemSpawner.gd.uid b/ItemSpawner.gd.uid new file mode 100644 index 0000000..9d4de50 --- /dev/null +++ b/ItemSpawner.gd.uid @@ -0,0 +1 @@ +uid://4koh4ogoiaq diff --git a/ItemSpawner.tscn b/ItemSpawner.tscn new file mode 100644 index 0000000..b1aca13 --- /dev/null +++ b/ItemSpawner.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://dle4coii8j7ax"] + +[ext_resource type="Script" uid="uid://4koh4ogoiaq" path="res://ItemSpawner.gd" id="1_ctm2s"] +[ext_resource type="Texture2D" uid="uid://cxv1o4v3xi3uv" path="res://icon.svg" id="2_fjwcf"] + +[node name="ItemSpawner" type="Node2D"] +script = ExtResource("1_ctm2s") + +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(0.25, 0.25) +texture = ExtResource("2_fjwcf") + +[node name="SpawnTimer" type="Timer" parent="."] +process_callback = 0 diff --git a/belttest.png b/belttest.png new file mode 100644 index 0000000..a41bff7 Binary files /dev/null and b/belttest.png differ diff --git a/belttest.png.import b/belttest.png.import new file mode 100644 index 0000000..8b19490 --- /dev/null +++ b/belttest.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cu35euxejrux5" +path="res://.godot/imported/belttest.png-ccfc37d9f118b8fddff7d9698ac42e06.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://belttest.png" +dest_files=["res://.godot/imported/belttest.png-ccfc37d9f118b8fddff7d9698ac42e06.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/icon.svg b/icon.svg new file mode 100644 index 0000000..9d8b7fa --- /dev/null +++ b/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/icon.svg.import b/icon.svg.import new file mode 100644 index 0000000..299e0f7 --- /dev/null +++ b/icon.svg.import @@ -0,0 +1,37 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxv1o4v3xi3uv" +path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.svg" +dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..1914be4 --- /dev/null +++ b/project.godot @@ -0,0 +1,32 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="Belts" +run/main_scene="uid://bpribijel28v7" +config/features=PackedStringArray("4.4", "Mobile") +config/icon="res://icon.svg" + +[display] + +window/size/viewport_width=1280 +window/size/viewport_height=720 +window/stretch/mode="viewport" + +[physics] + +common/physics_ticks_per_second=20 +common/physics_jitter_fix=0.0 +common/physics_interpolation=true + +[rendering] + +renderer/rendering_method="mobile" diff --git a/testbed.tscn b/testbed.tscn new file mode 100644 index 0000000..28f95a3 --- /dev/null +++ b/testbed.tscn @@ -0,0 +1,304 @@ +[gd_scene load_steps=85 format=4 uid="uid://bpribijel28v7"] + +[ext_resource type="Texture2D" uid="uid://cu35euxejrux5" path="res://belttest.png" id="1_2vug4"] +[ext_resource type="Texture2D" uid="uid://xkmolsg0pr3n" path="res://world/tileGrass1.png" id="1_hk075"] +[ext_resource type="Texture2D" uid="uid://ddnn0w35w4y3d" path="res://world/tileGrass_roadNorth.png" id="3_6eq4p"] +[ext_resource type="Texture2D" uid="uid://d3ukr2qasswm0" path="res://world/tileGrass_roadSplitE.png" id="4_cjjgq"] +[ext_resource type="Script" uid="uid://dhcaak02wvtk8" path="res://GameGrid.gd" id="4_oqs77"] +[ext_resource type="Texture2D" uid="uid://dgffc1ldbwwio" path="res://world/tileGrass_roadSplitN.png" id="5_08sll"] +[ext_resource type="Texture2D" uid="uid://bwgv8tojfbu0r" path="res://world/tileGrass_roadSplitS.png" id="6_kt1yj"] +[ext_resource type="Texture2D" uid="uid://dkjo70mrk4ujr" path="res://world/tileGrass_roadSplitW.png" id="7_rswvh"] +[ext_resource type="Texture2D" uid="uid://c3e48e8io0fth" path="res://world/tileGrass_roadTransitionE.png" id="8_6porf"] +[ext_resource type="Texture2D" uid="uid://b2vb3w0ld583s" path="res://world/tileGrass_roadTransitionE_dirt.png" id="9_xp2fc"] +[ext_resource type="Texture2D" uid="uid://bdbcth064ut1e" path="res://world/tileGrass_roadTransitionN.png" id="10_32gae"] +[ext_resource type="Texture2D" uid="uid://b11akaxir75p2" path="res://world/tileGrass_roadTransitionN_dirt.png" id="11_kp16x"] +[ext_resource type="Texture2D" uid="uid://durf77tvrka6j" path="res://world/tileGrass_roadTransitionS.png" id="12_phjq5"] +[ext_resource type="Texture2D" uid="uid://be1jqaahpu5vu" path="res://world/tileGrass2.png" id="13_e7cod"] +[ext_resource type="Texture2D" uid="uid://bibjwaxxpkn55" path="res://world/tileGrass_roadTransitionS_dirt.png" id="14_ynu81"] +[ext_resource type="Texture2D" uid="uid://313blhsi2jyx" path="res://world/tileGrass_roadTransitionW.png" id="15_t78br"] +[ext_resource type="Texture2D" uid="uid://sg026blje41t" path="res://world/tileGrass_roadTransitionW_dirt.png" id="16_6jaek"] +[ext_resource type="Texture2D" uid="uid://pef7ogfypiam" path="res://world/tileGrass_transitionE.png" id="17_pojk4"] +[ext_resource type="Texture2D" uid="uid://bkr2f5soaiipm" path="res://world/tileGrass_transitionN.png" id="18_jwr6h"] +[ext_resource type="Texture2D" uid="uid://y75csn0ejlyb" path="res://world/tileGrass_transitionS.png" id="19_ikffu"] +[ext_resource type="Texture2D" uid="uid://cckbxd8y3g3j8" path="res://world/tileGrass_transitionW.png" id="20_ax40v"] +[ext_resource type="Texture2D" uid="uid://c20xpjsvj3ksa" path="res://world/tileSand1.png" id="21_iwxxx"] +[ext_resource type="Texture2D" uid="uid://b081dp3upxpo0" path="res://world/tileSand2.png" id="22_524hh"] +[ext_resource type="Texture2D" uid="uid://bybmkb2c6f2ts" path="res://world/tileSand_roadCornerLL.png" id="23_a33nc"] +[ext_resource type="Texture2D" uid="uid://clesfxf2cn4ux" path="res://world/tileGrass_roadCornerLL.png" id="24_87e05"] +[ext_resource type="Texture2D" uid="uid://dm7gntent2xkc" path="res://world/tileSand_roadCornerLR.png" id="25_jxmen"] +[ext_resource type="Texture2D" uid="uid://cro6dth4amv1d" path="res://world/tileSand_roadCornerUL.png" id="26_bbff5"] +[ext_resource type="Texture2D" uid="uid://cbum78p7wyk2q" path="res://world/tileSand_roadCornerUR.png" id="27_p4b83"] +[ext_resource type="Texture2D" uid="uid://dtj3lfs7b2ave" path="res://world/tileSand_roadCrossing.png" id="28_oxxpa"] +[ext_resource type="Texture2D" uid="uid://heym5oaff1vg" path="res://world/tileSand_roadCrossingRound.png" id="29_e0y3o"] +[ext_resource type="Texture2D" uid="uid://t5dr6wha6jgn" path="res://world/tileSand_roadEast.png" id="30_7xi8o"] +[ext_resource type="Texture2D" uid="uid://mfmpalg0n76g" path="res://world/tileSand_roadNorth.png" id="31_5elgp"] +[ext_resource type="Texture2D" uid="uid://pfv27p0s2bln" path="res://world/tileSand_roadSplitE.png" id="32_8w6he"] +[ext_resource type="Texture2D" uid="uid://ksj88auqju5q" path="res://world/tileSand_roadSplitN.png" id="33_wtflj"] +[ext_resource type="Texture2D" uid="uid://cf55vcie8bwgg" path="res://world/tileSand_roadSplitS.png" id="34_pb62r"] +[ext_resource type="Texture2D" uid="uid://cs2tayht08g2i" path="res://world/tileGrass_roadCornerLR.png" id="35_36jsj"] +[ext_resource type="Texture2D" uid="uid://bu5woqqi8f0ys" path="res://world/tileSand_roadSplitW.png" id="36_bibfs"] +[ext_resource type="Texture2D" uid="uid://bqhyntglekj67" path="res://world/tileGrass_roadCornerUL.png" id="37_0fmkj"] +[ext_resource type="Texture2D" uid="uid://beawpxgnbacis" path="res://world/tileGrass_roadCornerUR.png" id="38_qmy8f"] +[ext_resource type="Texture2D" uid="uid://c4nlsejvgh46c" path="res://world/tileGrass_roadCrossing.png" id="39_p4pet"] +[ext_resource type="Texture2D" uid="uid://bj1cpesdra5yw" path="res://world/tileGrass_roadCrossingRound.png" id="40_n8xcm"] +[ext_resource type="Texture2D" uid="uid://4b3bwn74bt1s" path="res://world/tileGrass_roadEast.png" id="41_4himi"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_j3pej"] +texture = ExtResource("1_hk075") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0l5it"] +texture = ExtResource("1_2vug4") +texture_region_size = Vector2i(32, 32) +0:0/animation_columns = 32 +0:0/animation_speed = 64.0 +0:0/animation_frame_0/duration = 1.0 +0:0/animation_frame_1/duration = 1.0 +0:0/animation_frame_2/duration = 1.0 +0:0/animation_frame_3/duration = 1.0 +0:0/animation_frame_4/duration = 1.0 +0:0/animation_frame_5/duration = 1.0 +0:0/animation_frame_6/duration = 1.0 +0:0/animation_frame_7/duration = 1.0 +0:0/animation_frame_8/duration = 1.0 +0:0/animation_frame_9/duration = 1.0 +0:0/animation_frame_10/duration = 1.0 +0:0/animation_frame_11/duration = 1.0 +0:0/animation_frame_12/duration = 1.0 +0:0/animation_frame_13/duration = 1.0 +0:0/animation_frame_14/duration = 1.0 +0:0/animation_frame_15/duration = 1.0 +0:0/animation_frame_16/duration = 1.0 +0:0/animation_frame_17/duration = 1.0 +0:0/animation_frame_18/duration = 1.0 +0:0/animation_frame_19/duration = 1.0 +0:0/animation_frame_20/duration = 1.0 +0:0/animation_frame_21/duration = 1.0 +0:0/animation_frame_22/duration = 1.0 +0:0/animation_frame_23/duration = 1.0 +0:0/animation_frame_24/duration = 1.0 +0:0/animation_frame_25/duration = 1.0 +0:0/animation_frame_26/duration = 1.0 +0:0/animation_frame_27/duration = 1.0 +0:0/animation_frame_28/duration = 1.0 +0:0/animation_frame_29/duration = 1.0 +0:0/animation_frame_30/duration = 1.0 +0:0/animation_frame_31/duration = 1.0 +0:0/0 = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_a57a4"] +texture = ExtResource("3_6eq4p") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gv5kf"] +texture = ExtResource("4_cjjgq") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_q0xd1"] +texture = ExtResource("5_08sll") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_m7x2n"] +texture = ExtResource("6_kt1yj") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0gn3q"] +texture = ExtResource("7_rswvh") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ihp7b"] +texture = ExtResource("8_6porf") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_o4l45"] +texture = ExtResource("9_xp2fc") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_kc3jd"] +texture = ExtResource("10_32gae") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_uyly6"] +texture = ExtResource("11_kp16x") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_eqopx"] +texture = ExtResource("12_phjq5") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7iifg"] +texture = ExtResource("13_e7cod") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:1/0 = 0 +1:1/0 = 0 +1:0/0 = 0 + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_hq0lp"] +texture = ExtResource("14_ynu81") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_uvcj0"] +texture = ExtResource("15_t78br") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_itby2"] +texture = ExtResource("16_6jaek") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_fd353"] +texture = ExtResource("17_pojk4") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_td32j"] +texture = ExtResource("18_jwr6h") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_adnh6"] +texture = ExtResource("19_ikffu") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_hotlh"] +texture = ExtResource("20_ax40v") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_aplxv"] +texture = ExtResource("21_iwxxx") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_gxyi3"] +texture = ExtResource("22_524hh") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_theju"] +texture = ExtResource("23_a33nc") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_b0n1v"] +texture = ExtResource("24_87e05") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_ak6hw"] +texture = ExtResource("25_jxmen") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_oqlno"] +texture = ExtResource("26_bbff5") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_yrltv"] +texture = ExtResource("27_p4b83") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_uuwpd"] +texture = ExtResource("28_oxxpa") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_liqee"] +texture = ExtResource("29_e0y3o") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_g3esp"] +texture = ExtResource("30_7xi8o") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_mmu1w"] +texture = ExtResource("31_5elgp") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_3lulk"] +texture = ExtResource("32_8w6he") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_jwk6q"] +texture = ExtResource("33_wtflj") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_x3exf"] +texture = ExtResource("34_pb62r") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u4mnn"] +texture = ExtResource("35_36jsj") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_fbpid"] +texture = ExtResource("36_bibfs") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_4slgx"] +texture = ExtResource("37_0fmkj") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7801m"] +texture = ExtResource("38_qmy8f") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_mxt5j"] +texture = ExtResource("39_p4pet") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_c1tmk"] +texture = ExtResource("40_n8xcm") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_byriu"] +texture = ExtResource("41_4himi") +texture_region_size = Vector2i(32, 32) + +[sub_resource type="TileSet" id="TileSet_3pcc7"] +tile_size = Vector2i(32, 32) +sources/1 = SubResource("TileSetAtlasSource_0l5it") +sources/0 = SubResource("TileSetAtlasSource_j3pej") +sources/2 = SubResource("TileSetAtlasSource_7iifg") +sources/3 = SubResource("TileSetAtlasSource_b0n1v") +sources/4 = SubResource("TileSetAtlasSource_u4mnn") +sources/5 = SubResource("TileSetAtlasSource_4slgx") +sources/6 = SubResource("TileSetAtlasSource_7801m") +sources/7 = SubResource("TileSetAtlasSource_mxt5j") +sources/8 = SubResource("TileSetAtlasSource_c1tmk") +sources/9 = SubResource("TileSetAtlasSource_byriu") +sources/10 = SubResource("TileSetAtlasSource_a57a4") +sources/11 = SubResource("TileSetAtlasSource_gv5kf") +sources/12 = SubResource("TileSetAtlasSource_q0xd1") +sources/13 = SubResource("TileSetAtlasSource_m7x2n") +sources/14 = SubResource("TileSetAtlasSource_0gn3q") +sources/15 = SubResource("TileSetAtlasSource_ihp7b") +sources/16 = SubResource("TileSetAtlasSource_o4l45") +sources/17 = SubResource("TileSetAtlasSource_kc3jd") +sources/18 = SubResource("TileSetAtlasSource_uyly6") +sources/19 = SubResource("TileSetAtlasSource_eqopx") +sources/20 = SubResource("TileSetAtlasSource_hq0lp") +sources/21 = SubResource("TileSetAtlasSource_uvcj0") +sources/22 = SubResource("TileSetAtlasSource_itby2") +sources/23 = SubResource("TileSetAtlasSource_fd353") +sources/24 = SubResource("TileSetAtlasSource_td32j") +sources/25 = SubResource("TileSetAtlasSource_adnh6") +sources/26 = SubResource("TileSetAtlasSource_hotlh") +sources/27 = SubResource("TileSetAtlasSource_aplxv") +sources/28 = SubResource("TileSetAtlasSource_gxyi3") +sources/29 = SubResource("TileSetAtlasSource_theju") +sources/30 = SubResource("TileSetAtlasSource_ak6hw") +sources/31 = SubResource("TileSetAtlasSource_oqlno") +sources/32 = SubResource("TileSetAtlasSource_yrltv") +sources/33 = SubResource("TileSetAtlasSource_uuwpd") +sources/34 = SubResource("TileSetAtlasSource_liqee") +sources/35 = SubResource("TileSetAtlasSource_g3esp") +sources/36 = SubResource("TileSetAtlasSource_mmu1w") +sources/37 = SubResource("TileSetAtlasSource_3lulk") +sources/38 = SubResource("TileSetAtlasSource_jwk6q") +sources/39 = SubResource("TileSetAtlasSource_x3exf") +sources/40 = SubResource("TileSetAtlasSource_fbpid") + +[node name="Node2D" type="Node2D"] + +[node name="TileMap" type="TileMapLayer" parent="."] +texture_filter = 3 +tile_map_data = PackedByteArray("AAD/////AgAAAAAAAAD//wAAAgAAAAEAAAAAAP//AgABAAAAAAAAAAAAAgABAAEAAAD9////AgABAAEAAAD9/wAAAgABAAAAAAD+////AgABAAAAAAD+/wAAAgABAAEAAAD9//3/AgABAAEAAAD9//7/AgABAAAAAAD+//3/AgAAAAEAAAD+//7/AgABAAEAAAD///3/AgABAAEAAAD///7/AgAAAAEAAAAAAP3/AgAAAAEAAAAAAP7/AgABAAEAAAABAP3/AgABAAEAAAABAP7/AgAAAAEAAAACAP3/AgAAAAEAAAACAP7/AgAAAAAAAAABAP//AgAAAAAAAAABAAAAAgAAAAEAAAACAP//AgAAAAEAAAACAAAAAgAAAAAAAAABAAEAAgAAAAAAAAABAAIAAgABAAAAAAACAAEAAgAAAAEAAAACAAIAAgAAAAAAAAD//wEAAgAAAAAAAAD//wIAAgABAAAAAAAAAAEAAgABAAAAAAAAAAIAAgAAAAAAAAD9/wEAAgABAAEAAAD9/wIAAgABAAAAAAD+/wEAAgABAAAAAAD+/wIAAgAAAAAAAAADAP3/AgABAAEAAAADAP7/AgABAAAAAAAEAP3/AgAAAAEAAAAEAP7/AgAAAAAAAAADAP//AgABAAEAAAADAAAAAgABAAAAAAAEAP//AgAAAAEAAAAEAAAAAgAAAAAAAAD8//7/AgABAAEAAAD8////AgABAAAAAAD8//z/AgABAAEAAAD8//3/AgABAAAAAAD9//z/AgABAAAAAAD+//z/AgAAAAAAAAD///z/AgABAAAAAAAAAPz/AgAAAAAAAAABAPz/AgABAAAAAAACAPz/AgAAAAAAAAADAPz/AgABAAAAAAAFAP7/AgAAAAEAAAAFAP//AgAAAAAAAAAEAAEAAgAAAAEAAAAFAAAAAgAAAAEAAAAFAAEAAgAAAAAAAAADAAEAAgABAAEAAAACAAMAAgAAAAAAAAADAAIAAgABAAAAAAADAAMAAgABAAAAAAAAAAMAAgAAAAAAAAABAAMAAgABAAAAAAD+/wMAAgAAAAAAAAD//wMAAgABAAAAAAD8/wIAAgABAAEAAAD8/wMAAgABAAAAAAD9/wMAAgABAAAAAAD8/wAAAgABAAEAAAD8/wEAAgABAAAAAAD6/wAAAgABAAEAAAD6/wEAAgABAAAAAAD7/wAAAgAAAAEAAAD7/wEAAgAAAAAAAAD6//7/AgABAAEAAAD6////AgABAAAAAAD7//7/AgAAAAEAAAD7////AgAAAAAAAAD6//z/AgABAAEAAAD6//3/AgABAAAAAAD7//z/AgAAAAEAAAD7//3/AgAAAAAAAAD+//r/AgABAAEAAAD+//v/AgAAAAEAAAD///r/AgAAAAEAAAD///v/AgABAAEAAAAAAPr/AgABAAEAAAAAAPv/AgAAAAEAAAABAPr/AgAAAAEAAAABAPv/AgABAAEAAAACAPr/AgABAAEAAAACAPv/AgAAAAEAAAADAPr/AgAAAAEAAAADAPv/AgABAAEAAAAEAPz/AgAAAAAAAAAFAPz/AgAAAAEAAAAFAP3/AgAAAAAAAAD6//r/AgABAAEAAAD6//v/AgABAAAAAAD7//r/AgAAAAEAAAD7//v/AgAAAAAAAAD8//r/AgABAAEAAAD8//v/AgABAAAAAAD9//r/AgAAAAEAAAD9//v/AgABAAEAAAD6/wIAAgABAAEAAAD6/wMAAgABAAAAAAD7/wIAAgAAAAEAAAD7/wMAAgAAAAAAAAAEAAIAAgAAAAAAAAAEAAMAAgAAAAAAAAAFAAIAAgAAAAEAAAAFAAMAAgAAAAAAAAAEAPr/AgABAAEAAAAEAPv/AgAAAAEAAAAFAPr/AgAAAAEAAAAFAPv/AgAAAAAAAAAEAAQAAgAAAAEAAAAFAAQAAgAAAAEAAAACAAQAAgAAAAEAAAADAAQAAgABAAEAAAAAAAQAAgAAAAEAAAABAAQAAgABAAEAAAD+/wQAAgAAAAEAAAD//wQAAgABAAEAAAD8/wQAAgABAAEAAAD9/wQAAgABAAEAAAD6/wQAAgABAAEAAAD7/wQAAgAAAAEAAAAEAAUAAgABAAAAAAAEAAYAAgABAAEAAAAFAAUAAgAAAAAAAAAFAAYAAgAAAAEAAAD6/wUAAgABAAAAAAD6/wYAAgABAAEAAAD7/wUAAgAAAAAAAAD7/wYAAgAAAAEAAAD5/wUAAgAAAAAAAAD5/wYAAgAAAAEAAAD8/wUAAgABAAAAAAD8/wYAAgABAAEAAAD9/wUAAgAAAAAAAAD9/wYAAgAAAAEAAAD+/wUAAgABAAAAAAD+/wYAAgABAAEAAAD//wUAAgAAAAAAAAD//wYAAgAAAAEAAAAAAAUAAgABAAAAAAAAAAYAAgABAAEAAAABAAUAAgAAAAAAAAABAAYAAgAAAAEAAAACAAUAAgABAAAAAAACAAYAAgABAAEAAAADAAUAAgAAAAAAAAADAAYAAgAAAAEAAAD5//n/AgAAAAAAAAD5//r/AgAAAAEAAAD6//n/AgABAAAAAAD5//v/AgAAAAAAAAD5//z/AgAAAAEAAAD5//3/AgAAAAAAAAD5//7/AgAAAAEAAAD5////AgAAAAAAAAD5/wAAAgAAAAEAAAD5/wEAAgAAAAAAAAD5/wIAAgAAAAEAAAD5/wMAAgAAAAAAAAD5/wQAAgAAAAEAAAD7//n/AgAAAAAAAAD8//n/AgABAAAAAAD9//n/AgAAAAAAAAD+//n/AgABAAAAAAD///n/AgAAAAAAAAAAAPn/AgABAAAAAAABAPn/AgAAAAAAAAACAPn/AgABAAAAAAADAPn/AgAAAAAAAAAEAPn/AgABAAAAAAAFAPn/AgAAAAAAAAAGAPn/AgABAAAAAAAGAPr/AgABAAEAAAAGAPv/AgABAAAAAAAGAPz/AgABAAEAAAAGAP3/AgABAAAAAAAGAP7/AgABAAEAAAAGAP//AgABAAAAAAAGAAAAAgABAAEAAAAGAAEAAgABAAAAAAAGAAIAAgABAAEAAAAGAAMAAgABAAAAAAAGAAQAAgABAAEAAAAGAAUAAgABAAAAAAAGAAYAAgABAAEAAAA=") +tile_set = SubResource("TileSet_3pcc7") + +[node name="GameGrid" type="Node2D" parent="."] +script = ExtResource("4_oqs77") + +[node name="Camera2D" type="Camera2D" parent="."] +zoom = Vector2(2, 2) diff --git a/testbed.tscn2345335583.tmp b/testbed.tscn2345335583.tmp new file mode 100644 index 0000000..60af2e2 --- /dev/null +++ b/testbed.tscn2345335583.tmp @@ -0,0 +1,64 @@ +[gd_scene load_steps=7 format=3 uid="uid://bpribijel28v7"] + +[ext_resource type="Texture2D" uid="uid://cu35euxejrux5" path="res://belttest.png" id="1_2vug4"] +[ext_resource type="PackedScene" uid="uid://cx0w0b4lydvdc" path="res://conveyor_belt.tscn" id="2_oqs77"] +[ext_resource type="PackedScene" uid="uid://8wybm2xsp48x" path="res://item.tscn" id="3_8cepb"] +[ext_resource type="Script" uid="uid://dhcaak02wvtk8" path="res://grid.gd" id="4_oqs77"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0l5it"] +texture = ExtResource("1_2vug4") +texture_region_size = Vector2i(32, 32) +0:0/animation_columns = 32 +0:0/animation_speed = 64.0 +0:0/animation_frame_0/duration = 1.0 +0:0/animation_frame_1/duration = 1.0 +0:0/animation_frame_2/duration = 1.0 +0:0/animation_frame_3/duration = 1.0 +0:0/animation_frame_4/duration = 1.0 +0:0/animation_frame_5/duration = 1.0 +0:0/animation_frame_6/duration = 1.0 +0:0/animation_frame_7/duration = 1.0 +0:0/animation_frame_8/duration = 1.0 +0:0/animation_frame_9/duration = 1.0 +0:0/animation_frame_10/duration = 1.0 +0:0/animation_frame_11/duration = 1.0 +0:0/animation_frame_12/duration = 1.0 +0:0/animation_frame_13/duration = 1.0 +0:0/animation_frame_14/duration = 1.0 +0:0/animation_frame_15/duration = 1.0 +0:0/animation_frame_16/duration = 1.0 +0:0/animation_frame_17/duration = 1.0 +0:0/animation_frame_18/duration = 1.0 +0:0/animation_frame_19/duration = 1.0 +0:0/animation_frame_20/duration = 1.0 +0:0/animation_frame_21/duration = 1.0 +0:0/animation_frame_22/duration = 1.0 +0:0/animation_frame_23/duration = 1.0 +0:0/animation_frame_24/duration = 1.0 +0:0/animation_frame_25/duration = 1.0 +0:0/animation_frame_26/duration = 1.0 +0:0/animation_frame_27/duration = 1.0 +0:0/animation_frame_28/duration = 1.0 +0:0/animation_frame_29/duration = 1.0 +0:0/animation_frame_30/duration = 1.0 +0:0/animation_frame_31/duration = 1.0 +0:0/0 = 0 + +[sub_resource type="TileSet" id="TileSet_3pcc7"] +tile_size = Vector2i(32, 32) +sources/1 = SubResource("TileSetAtlasSource_0l5it") + +[node name="Node2D" type="Node2D"] + +[node name="TileMap" type="TileMapLayer" parent="."] +texture_filter = 3 +tile_set = SubResource("TileSet_3pcc7") + +[node name="Camera2D" type="Camera2D" parent="."] + +[node name="ConveyorBelt" parent="." instance=ExtResource("2_oqs77")] + +[node name="Item" parent="." instance=ExtResource("3_8cepb")] + +[node name="GameGrid" type="Node2D" parent="."] +script = ExtResource("4_oqs77") diff --git a/testbed.tscn23455402049.tmp b/testbed.tscn23455402049.tmp new file mode 100644 index 0000000..7559093 --- /dev/null +++ b/testbed.tscn23455402049.tmp @@ -0,0 +1,62 @@ +[gd_scene load_steps=6 format=3 uid="uid://bpribijel28v7"] + +[ext_resource type="Texture2D" uid="uid://cu35euxejrux5" path="res://belttest.png" id="1_2vug4"] +[ext_resource type="PackedScene" uid="uid://c2q8ri3la0ivp" path="res://ItemSink.tscn" id="3_3pcc7"] +[ext_resource type="Script" uid="uid://dhcaak02wvtk8" path="res://GameGrid.gd" id="4_oqs77"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0l5it"] +texture = ExtResource("1_2vug4") +texture_region_size = Vector2i(32, 32) +0:0/animation_columns = 32 +0:0/animation_speed = 64.0 +0:0/animation_frame_0/duration = 1.0 +0:0/animation_frame_1/duration = 1.0 +0:0/animation_frame_2/duration = 1.0 +0:0/animation_frame_3/duration = 1.0 +0:0/animation_frame_4/duration = 1.0 +0:0/animation_frame_5/duration = 1.0 +0:0/animation_frame_6/duration = 1.0 +0:0/animation_frame_7/duration = 1.0 +0:0/animation_frame_8/duration = 1.0 +0:0/animation_frame_9/duration = 1.0 +0:0/animation_frame_10/duration = 1.0 +0:0/animation_frame_11/duration = 1.0 +0:0/animation_frame_12/duration = 1.0 +0:0/animation_frame_13/duration = 1.0 +0:0/animation_frame_14/duration = 1.0 +0:0/animation_frame_15/duration = 1.0 +0:0/animation_frame_16/duration = 1.0 +0:0/animation_frame_17/duration = 1.0 +0:0/animation_frame_18/duration = 1.0 +0:0/animation_frame_19/duration = 1.0 +0:0/animation_frame_20/duration = 1.0 +0:0/animation_frame_21/duration = 1.0 +0:0/animation_frame_22/duration = 1.0 +0:0/animation_frame_23/duration = 1.0 +0:0/animation_frame_24/duration = 1.0 +0:0/animation_frame_25/duration = 1.0 +0:0/animation_frame_26/duration = 1.0 +0:0/animation_frame_27/duration = 1.0 +0:0/animation_frame_28/duration = 1.0 +0:0/animation_frame_29/duration = 1.0 +0:0/animation_frame_30/duration = 1.0 +0:0/animation_frame_31/duration = 1.0 +0:0/0 = 0 + +[sub_resource type="TileSet" id="TileSet_3pcc7"] +tile_size = Vector2i(32, 32) +sources/1 = SubResource("TileSetAtlasSource_0l5it") + +[node name="Node2D" type="Node2D"] + +[node name="GameGrid" type="Node2D" parent="."] +script = ExtResource("4_oqs77") + +[node name="TileMap" type="TileMapLayer" parent="."] +texture_filter = 3 +tile_set = SubResource("TileSet_3pcc7") + +[node name="Camera2D" type="Camera2D" parent="."] + +[node name="ItemSink" parent="." instance=ExtResource("3_3pcc7")] +position = Vector2(-46, -5) diff --git a/world/tileGrass1.png b/world/tileGrass1.png new file mode 100644 index 0000000..3a57b37 Binary files /dev/null and b/world/tileGrass1.png differ diff --git a/world/tileGrass1.png.import b/world/tileGrass1.png.import new file mode 100644 index 0000000..b96094f --- /dev/null +++ b/world/tileGrass1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xkmolsg0pr3n" +path="res://.godot/imported/tileGrass1.png-7bfcdb6f4992133c23bdf98cbc6e9168.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass1.png" +dest_files=["res://.godot/imported/tileGrass1.png-7bfcdb6f4992133c23bdf98cbc6e9168.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass2.png b/world/tileGrass2.png new file mode 100644 index 0000000..1e9e4df Binary files /dev/null and b/world/tileGrass2.png differ diff --git a/world/tileGrass2.png.import b/world/tileGrass2.png.import new file mode 100644 index 0000000..f9d30bb --- /dev/null +++ b/world/tileGrass2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://be1jqaahpu5vu" +path="res://.godot/imported/tileGrass2.png-2f7c3f78a9e7b121ae56fc68b592f2f3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass2.png" +dest_files=["res://.godot/imported/tileGrass2.png-2f7c3f78a9e7b121ae56fc68b592f2f3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadCornerLL.png b/world/tileGrass_roadCornerLL.png new file mode 100644 index 0000000..605f595 Binary files /dev/null and b/world/tileGrass_roadCornerLL.png differ diff --git a/world/tileGrass_roadCornerLL.png.import b/world/tileGrass_roadCornerLL.png.import new file mode 100644 index 0000000..e5db70d --- /dev/null +++ b/world/tileGrass_roadCornerLL.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clesfxf2cn4ux" +path="res://.godot/imported/tileGrass_roadCornerLL.png-8e485b388536232a436426954c6fd85d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadCornerLL.png" +dest_files=["res://.godot/imported/tileGrass_roadCornerLL.png-8e485b388536232a436426954c6fd85d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadCornerLR.png b/world/tileGrass_roadCornerLR.png new file mode 100644 index 0000000..f620e0b Binary files /dev/null and b/world/tileGrass_roadCornerLR.png differ diff --git a/world/tileGrass_roadCornerLR.png.import b/world/tileGrass_roadCornerLR.png.import new file mode 100644 index 0000000..3f509c6 --- /dev/null +++ b/world/tileGrass_roadCornerLR.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cs2tayht08g2i" +path="res://.godot/imported/tileGrass_roadCornerLR.png-d6677142d2b1f0dce0c5e6cee1be4596.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadCornerLR.png" +dest_files=["res://.godot/imported/tileGrass_roadCornerLR.png-d6677142d2b1f0dce0c5e6cee1be4596.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadCornerUL.png b/world/tileGrass_roadCornerUL.png new file mode 100644 index 0000000..95de8af Binary files /dev/null and b/world/tileGrass_roadCornerUL.png differ diff --git a/world/tileGrass_roadCornerUL.png.import b/world/tileGrass_roadCornerUL.png.import new file mode 100644 index 0000000..7a64ef0 --- /dev/null +++ b/world/tileGrass_roadCornerUL.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqhyntglekj67" +path="res://.godot/imported/tileGrass_roadCornerUL.png-93505a5a242a9595b6e4c0883b3e7f60.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadCornerUL.png" +dest_files=["res://.godot/imported/tileGrass_roadCornerUL.png-93505a5a242a9595b6e4c0883b3e7f60.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadCornerUR.png b/world/tileGrass_roadCornerUR.png new file mode 100644 index 0000000..5aad724 Binary files /dev/null and b/world/tileGrass_roadCornerUR.png differ diff --git a/world/tileGrass_roadCornerUR.png.import b/world/tileGrass_roadCornerUR.png.import new file mode 100644 index 0000000..a8ac83b --- /dev/null +++ b/world/tileGrass_roadCornerUR.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://beawpxgnbacis" +path="res://.godot/imported/tileGrass_roadCornerUR.png-9e4365affe099fd6cd31eeee19f414d1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadCornerUR.png" +dest_files=["res://.godot/imported/tileGrass_roadCornerUR.png-9e4365affe099fd6cd31eeee19f414d1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadCrossing.png b/world/tileGrass_roadCrossing.png new file mode 100644 index 0000000..90d2adf Binary files /dev/null and b/world/tileGrass_roadCrossing.png differ diff --git a/world/tileGrass_roadCrossing.png.import b/world/tileGrass_roadCrossing.png.import new file mode 100644 index 0000000..1015a70 --- /dev/null +++ b/world/tileGrass_roadCrossing.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4nlsejvgh46c" +path="res://.godot/imported/tileGrass_roadCrossing.png-413ed1489a6c40b8a3492d05e6210544.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadCrossing.png" +dest_files=["res://.godot/imported/tileGrass_roadCrossing.png-413ed1489a6c40b8a3492d05e6210544.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadCrossingRound.png b/world/tileGrass_roadCrossingRound.png new file mode 100644 index 0000000..e4602b4 Binary files /dev/null and b/world/tileGrass_roadCrossingRound.png differ diff --git a/world/tileGrass_roadCrossingRound.png.import b/world/tileGrass_roadCrossingRound.png.import new file mode 100644 index 0000000..159b909 --- /dev/null +++ b/world/tileGrass_roadCrossingRound.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bj1cpesdra5yw" +path="res://.godot/imported/tileGrass_roadCrossingRound.png-191c00d6f931fe6e8bd4ba3953354555.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadCrossingRound.png" +dest_files=["res://.godot/imported/tileGrass_roadCrossingRound.png-191c00d6f931fe6e8bd4ba3953354555.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadEast.png b/world/tileGrass_roadEast.png new file mode 100644 index 0000000..b6c7990 Binary files /dev/null and b/world/tileGrass_roadEast.png differ diff --git a/world/tileGrass_roadEast.png.import b/world/tileGrass_roadEast.png.import new file mode 100644 index 0000000..0d69454 --- /dev/null +++ b/world/tileGrass_roadEast.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4b3bwn74bt1s" +path="res://.godot/imported/tileGrass_roadEast.png-a93d0585652eb43e12c870dc384b02ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadEast.png" +dest_files=["res://.godot/imported/tileGrass_roadEast.png-a93d0585652eb43e12c870dc384b02ad.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadNorth.png b/world/tileGrass_roadNorth.png new file mode 100644 index 0000000..1030441 Binary files /dev/null and b/world/tileGrass_roadNorth.png differ diff --git a/world/tileGrass_roadNorth.png.import b/world/tileGrass_roadNorth.png.import new file mode 100644 index 0000000..73306d9 --- /dev/null +++ b/world/tileGrass_roadNorth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddnn0w35w4y3d" +path="res://.godot/imported/tileGrass_roadNorth.png-ee0e3c3bca10de486e4cb6b92fa87d0b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadNorth.png" +dest_files=["res://.godot/imported/tileGrass_roadNorth.png-ee0e3c3bca10de486e4cb6b92fa87d0b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadSplitE.png b/world/tileGrass_roadSplitE.png new file mode 100644 index 0000000..e8b6904 Binary files /dev/null and b/world/tileGrass_roadSplitE.png differ diff --git a/world/tileGrass_roadSplitE.png.import b/world/tileGrass_roadSplitE.png.import new file mode 100644 index 0000000..68bcf42 --- /dev/null +++ b/world/tileGrass_roadSplitE.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3ukr2qasswm0" +path="res://.godot/imported/tileGrass_roadSplitE.png-39b097a2d8825f2c7f43d30d1d4bade2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadSplitE.png" +dest_files=["res://.godot/imported/tileGrass_roadSplitE.png-39b097a2d8825f2c7f43d30d1d4bade2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadSplitN.png b/world/tileGrass_roadSplitN.png new file mode 100644 index 0000000..528fa84 Binary files /dev/null and b/world/tileGrass_roadSplitN.png differ diff --git a/world/tileGrass_roadSplitN.png.import b/world/tileGrass_roadSplitN.png.import new file mode 100644 index 0000000..e9c6b4f --- /dev/null +++ b/world/tileGrass_roadSplitN.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgffc1ldbwwio" +path="res://.godot/imported/tileGrass_roadSplitN.png-bd6f0737e1ec3e8d66a6ae51b41b039e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadSplitN.png" +dest_files=["res://.godot/imported/tileGrass_roadSplitN.png-bd6f0737e1ec3e8d66a6ae51b41b039e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadSplitS.png b/world/tileGrass_roadSplitS.png new file mode 100644 index 0000000..de6d6d9 Binary files /dev/null and b/world/tileGrass_roadSplitS.png differ diff --git a/world/tileGrass_roadSplitS.png.import b/world/tileGrass_roadSplitS.png.import new file mode 100644 index 0000000..ab9dacb --- /dev/null +++ b/world/tileGrass_roadSplitS.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwgv8tojfbu0r" +path="res://.godot/imported/tileGrass_roadSplitS.png-3d9e8c1eff0bd243b71058db130b8eba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadSplitS.png" +dest_files=["res://.godot/imported/tileGrass_roadSplitS.png-3d9e8c1eff0bd243b71058db130b8eba.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadSplitW.png b/world/tileGrass_roadSplitW.png new file mode 100644 index 0000000..e54f756 Binary files /dev/null and b/world/tileGrass_roadSplitW.png differ diff --git a/world/tileGrass_roadSplitW.png.import b/world/tileGrass_roadSplitW.png.import new file mode 100644 index 0000000..5b38677 --- /dev/null +++ b/world/tileGrass_roadSplitW.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkjo70mrk4ujr" +path="res://.godot/imported/tileGrass_roadSplitW.png-edcd4867ba0b07dcd3ffb8cb374b3e81.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadSplitW.png" +dest_files=["res://.godot/imported/tileGrass_roadSplitW.png-edcd4867ba0b07dcd3ffb8cb374b3e81.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadTransitionE.png b/world/tileGrass_roadTransitionE.png new file mode 100644 index 0000000..3689d3d Binary files /dev/null and b/world/tileGrass_roadTransitionE.png differ diff --git a/world/tileGrass_roadTransitionE.png.import b/world/tileGrass_roadTransitionE.png.import new file mode 100644 index 0000000..acf7d99 --- /dev/null +++ b/world/tileGrass_roadTransitionE.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3e48e8io0fth" +path="res://.godot/imported/tileGrass_roadTransitionE.png-727cdf1f94fe7caca8700a3065c06d2b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadTransitionE.png" +dest_files=["res://.godot/imported/tileGrass_roadTransitionE.png-727cdf1f94fe7caca8700a3065c06d2b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadTransitionE_dirt.png b/world/tileGrass_roadTransitionE_dirt.png new file mode 100644 index 0000000..cdab90a Binary files /dev/null and b/world/tileGrass_roadTransitionE_dirt.png differ diff --git a/world/tileGrass_roadTransitionE_dirt.png.import b/world/tileGrass_roadTransitionE_dirt.png.import new file mode 100644 index 0000000..d54a3f6 --- /dev/null +++ b/world/tileGrass_roadTransitionE_dirt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2vb3w0ld583s" +path="res://.godot/imported/tileGrass_roadTransitionE_dirt.png-62d0f973e0f01daeb8f124aad4091773.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadTransitionE_dirt.png" +dest_files=["res://.godot/imported/tileGrass_roadTransitionE_dirt.png-62d0f973e0f01daeb8f124aad4091773.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadTransitionN.png b/world/tileGrass_roadTransitionN.png new file mode 100644 index 0000000..43f7670 Binary files /dev/null and b/world/tileGrass_roadTransitionN.png differ diff --git a/world/tileGrass_roadTransitionN.png.import b/world/tileGrass_roadTransitionN.png.import new file mode 100644 index 0000000..cc8eebf --- /dev/null +++ b/world/tileGrass_roadTransitionN.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bdbcth064ut1e" +path="res://.godot/imported/tileGrass_roadTransitionN.png-2d1aca55d9746a5dc83de8af1db29905.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadTransitionN.png" +dest_files=["res://.godot/imported/tileGrass_roadTransitionN.png-2d1aca55d9746a5dc83de8af1db29905.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadTransitionN_dirt.png b/world/tileGrass_roadTransitionN_dirt.png new file mode 100644 index 0000000..80daeae Binary files /dev/null and b/world/tileGrass_roadTransitionN_dirt.png differ diff --git a/world/tileGrass_roadTransitionN_dirt.png.import b/world/tileGrass_roadTransitionN_dirt.png.import new file mode 100644 index 0000000..f8fc52b --- /dev/null +++ b/world/tileGrass_roadTransitionN_dirt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b11akaxir75p2" +path="res://.godot/imported/tileGrass_roadTransitionN_dirt.png-0491a4b038ef853befea2e73788eab4e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadTransitionN_dirt.png" +dest_files=["res://.godot/imported/tileGrass_roadTransitionN_dirt.png-0491a4b038ef853befea2e73788eab4e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadTransitionS.png b/world/tileGrass_roadTransitionS.png new file mode 100644 index 0000000..13887bf Binary files /dev/null and b/world/tileGrass_roadTransitionS.png differ diff --git a/world/tileGrass_roadTransitionS.png.import b/world/tileGrass_roadTransitionS.png.import new file mode 100644 index 0000000..b0e791e --- /dev/null +++ b/world/tileGrass_roadTransitionS.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://durf77tvrka6j" +path="res://.godot/imported/tileGrass_roadTransitionS.png-c0bc68277de0cc9af738a0f20acf5133.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadTransitionS.png" +dest_files=["res://.godot/imported/tileGrass_roadTransitionS.png-c0bc68277de0cc9af738a0f20acf5133.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadTransitionS_dirt.png b/world/tileGrass_roadTransitionS_dirt.png new file mode 100644 index 0000000..5f0575b Binary files /dev/null and b/world/tileGrass_roadTransitionS_dirt.png differ diff --git a/world/tileGrass_roadTransitionS_dirt.png.import b/world/tileGrass_roadTransitionS_dirt.png.import new file mode 100644 index 0000000..ba2e3c7 --- /dev/null +++ b/world/tileGrass_roadTransitionS_dirt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bibjwaxxpkn55" +path="res://.godot/imported/tileGrass_roadTransitionS_dirt.png-693d063b7c5fbef5367256aa6abfac1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadTransitionS_dirt.png" +dest_files=["res://.godot/imported/tileGrass_roadTransitionS_dirt.png-693d063b7c5fbef5367256aa6abfac1b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadTransitionW.png b/world/tileGrass_roadTransitionW.png new file mode 100644 index 0000000..8fae3f6 Binary files /dev/null and b/world/tileGrass_roadTransitionW.png differ diff --git a/world/tileGrass_roadTransitionW.png.import b/world/tileGrass_roadTransitionW.png.import new file mode 100644 index 0000000..74d5a35 --- /dev/null +++ b/world/tileGrass_roadTransitionW.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://313blhsi2jyx" +path="res://.godot/imported/tileGrass_roadTransitionW.png-5e46d73f5b95e7a55f14a04446aab13b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadTransitionW.png" +dest_files=["res://.godot/imported/tileGrass_roadTransitionW.png-5e46d73f5b95e7a55f14a04446aab13b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_roadTransitionW_dirt.png b/world/tileGrass_roadTransitionW_dirt.png new file mode 100644 index 0000000..c80df56 Binary files /dev/null and b/world/tileGrass_roadTransitionW_dirt.png differ diff --git a/world/tileGrass_roadTransitionW_dirt.png.import b/world/tileGrass_roadTransitionW_dirt.png.import new file mode 100644 index 0000000..1e0f91c --- /dev/null +++ b/world/tileGrass_roadTransitionW_dirt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://sg026blje41t" +path="res://.godot/imported/tileGrass_roadTransitionW_dirt.png-b257ad284a43f71449fc414d1128618b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_roadTransitionW_dirt.png" +dest_files=["res://.godot/imported/tileGrass_roadTransitionW_dirt.png-b257ad284a43f71449fc414d1128618b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_transitionE.png b/world/tileGrass_transitionE.png new file mode 100644 index 0000000..a869e63 Binary files /dev/null and b/world/tileGrass_transitionE.png differ diff --git a/world/tileGrass_transitionE.png.import b/world/tileGrass_transitionE.png.import new file mode 100644 index 0000000..eae9527 --- /dev/null +++ b/world/tileGrass_transitionE.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pef7ogfypiam" +path="res://.godot/imported/tileGrass_transitionE.png-271bb87a23ec9fe497ea31f3fa5476ea.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_transitionE.png" +dest_files=["res://.godot/imported/tileGrass_transitionE.png-271bb87a23ec9fe497ea31f3fa5476ea.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_transitionN.png b/world/tileGrass_transitionN.png new file mode 100644 index 0000000..1256b32 Binary files /dev/null and b/world/tileGrass_transitionN.png differ diff --git a/world/tileGrass_transitionN.png.import b/world/tileGrass_transitionN.png.import new file mode 100644 index 0000000..a53472a --- /dev/null +++ b/world/tileGrass_transitionN.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkr2f5soaiipm" +path="res://.godot/imported/tileGrass_transitionN.png-287f3a8a381521adc71193acc23819ed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_transitionN.png" +dest_files=["res://.godot/imported/tileGrass_transitionN.png-287f3a8a381521adc71193acc23819ed.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_transitionS.png b/world/tileGrass_transitionS.png new file mode 100644 index 0000000..0d3cbd4 Binary files /dev/null and b/world/tileGrass_transitionS.png differ diff --git a/world/tileGrass_transitionS.png.import b/world/tileGrass_transitionS.png.import new file mode 100644 index 0000000..bc0bebe --- /dev/null +++ b/world/tileGrass_transitionS.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://y75csn0ejlyb" +path="res://.godot/imported/tileGrass_transitionS.png-3a28b235a65d804d9b78dd2d75958484.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_transitionS.png" +dest_files=["res://.godot/imported/tileGrass_transitionS.png-3a28b235a65d804d9b78dd2d75958484.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileGrass_transitionW.png b/world/tileGrass_transitionW.png new file mode 100644 index 0000000..41e419f Binary files /dev/null and b/world/tileGrass_transitionW.png differ diff --git a/world/tileGrass_transitionW.png.import b/world/tileGrass_transitionW.png.import new file mode 100644 index 0000000..66c2edf --- /dev/null +++ b/world/tileGrass_transitionW.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cckbxd8y3g3j8" +path="res://.godot/imported/tileGrass_transitionW.png-8fbf2c4ed688a73ffb1a39eab4f59a08.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileGrass_transitionW.png" +dest_files=["res://.godot/imported/tileGrass_transitionW.png-8fbf2c4ed688a73ffb1a39eab4f59a08.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand1.png b/world/tileSand1.png new file mode 100644 index 0000000..a5b6fea Binary files /dev/null and b/world/tileSand1.png differ diff --git a/world/tileSand1.png.import b/world/tileSand1.png.import new file mode 100644 index 0000000..5ece023 --- /dev/null +++ b/world/tileSand1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c20xpjsvj3ksa" +path="res://.godot/imported/tileSand1.png-6068026bd2f1be3054eba934afd336d7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand1.png" +dest_files=["res://.godot/imported/tileSand1.png-6068026bd2f1be3054eba934afd336d7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand2.png b/world/tileSand2.png new file mode 100644 index 0000000..6328ba1 Binary files /dev/null and b/world/tileSand2.png differ diff --git a/world/tileSand2.png.import b/world/tileSand2.png.import new file mode 100644 index 0000000..38a3e41 --- /dev/null +++ b/world/tileSand2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b081dp3upxpo0" +path="res://.godot/imported/tileSand2.png-276a699ba8616df48b5ede8064516e5f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand2.png" +dest_files=["res://.godot/imported/tileSand2.png-276a699ba8616df48b5ede8064516e5f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadCornerLL.png b/world/tileSand_roadCornerLL.png new file mode 100644 index 0000000..b52d747 Binary files /dev/null and b/world/tileSand_roadCornerLL.png differ diff --git a/world/tileSand_roadCornerLL.png.import b/world/tileSand_roadCornerLL.png.import new file mode 100644 index 0000000..ff0ab3b --- /dev/null +++ b/world/tileSand_roadCornerLL.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bybmkb2c6f2ts" +path="res://.godot/imported/tileSand_roadCornerLL.png-71ecbf8571fbdc0c0d89e41e9494b62d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadCornerLL.png" +dest_files=["res://.godot/imported/tileSand_roadCornerLL.png-71ecbf8571fbdc0c0d89e41e9494b62d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadCornerLR.png b/world/tileSand_roadCornerLR.png new file mode 100644 index 0000000..dede575 Binary files /dev/null and b/world/tileSand_roadCornerLR.png differ diff --git a/world/tileSand_roadCornerLR.png.import b/world/tileSand_roadCornerLR.png.import new file mode 100644 index 0000000..5cfafbd --- /dev/null +++ b/world/tileSand_roadCornerLR.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm7gntent2xkc" +path="res://.godot/imported/tileSand_roadCornerLR.png-09ad7e03782bbb155d151dac65bc47c6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadCornerLR.png" +dest_files=["res://.godot/imported/tileSand_roadCornerLR.png-09ad7e03782bbb155d151dac65bc47c6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadCornerUL.png b/world/tileSand_roadCornerUL.png new file mode 100644 index 0000000..192b6f2 Binary files /dev/null and b/world/tileSand_roadCornerUL.png differ diff --git a/world/tileSand_roadCornerUL.png.import b/world/tileSand_roadCornerUL.png.import new file mode 100644 index 0000000..92bee8d --- /dev/null +++ b/world/tileSand_roadCornerUL.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cro6dth4amv1d" +path="res://.godot/imported/tileSand_roadCornerUL.png-9a87c83c1236135dea17e42e71df8998.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadCornerUL.png" +dest_files=["res://.godot/imported/tileSand_roadCornerUL.png-9a87c83c1236135dea17e42e71df8998.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadCornerUR.png b/world/tileSand_roadCornerUR.png new file mode 100644 index 0000000..c4f2a16 Binary files /dev/null and b/world/tileSand_roadCornerUR.png differ diff --git a/world/tileSand_roadCornerUR.png.import b/world/tileSand_roadCornerUR.png.import new file mode 100644 index 0000000..cfadea3 --- /dev/null +++ b/world/tileSand_roadCornerUR.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbum78p7wyk2q" +path="res://.godot/imported/tileSand_roadCornerUR.png-a808e05589dd991405bd9f1bbb7fd264.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadCornerUR.png" +dest_files=["res://.godot/imported/tileSand_roadCornerUR.png-a808e05589dd991405bd9f1bbb7fd264.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadCrossing.png b/world/tileSand_roadCrossing.png new file mode 100644 index 0000000..f5ae9ff Binary files /dev/null and b/world/tileSand_roadCrossing.png differ diff --git a/world/tileSand_roadCrossing.png.import b/world/tileSand_roadCrossing.png.import new file mode 100644 index 0000000..03ba47c --- /dev/null +++ b/world/tileSand_roadCrossing.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtj3lfs7b2ave" +path="res://.godot/imported/tileSand_roadCrossing.png-41daf2f7fb564f8d6431ea5ca2462dff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadCrossing.png" +dest_files=["res://.godot/imported/tileSand_roadCrossing.png-41daf2f7fb564f8d6431ea5ca2462dff.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadCrossingRound.png b/world/tileSand_roadCrossingRound.png new file mode 100644 index 0000000..41a7119 Binary files /dev/null and b/world/tileSand_roadCrossingRound.png differ diff --git a/world/tileSand_roadCrossingRound.png.import b/world/tileSand_roadCrossingRound.png.import new file mode 100644 index 0000000..0e510da --- /dev/null +++ b/world/tileSand_roadCrossingRound.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://heym5oaff1vg" +path="res://.godot/imported/tileSand_roadCrossingRound.png-a5f57120d88e5a3c4d163fe2a919c780.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadCrossingRound.png" +dest_files=["res://.godot/imported/tileSand_roadCrossingRound.png-a5f57120d88e5a3c4d163fe2a919c780.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadEast.png b/world/tileSand_roadEast.png new file mode 100644 index 0000000..549c374 Binary files /dev/null and b/world/tileSand_roadEast.png differ diff --git a/world/tileSand_roadEast.png.import b/world/tileSand_roadEast.png.import new file mode 100644 index 0000000..264625c --- /dev/null +++ b/world/tileSand_roadEast.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://t5dr6wha6jgn" +path="res://.godot/imported/tileSand_roadEast.png-d1a724e2aabedef47530a010fe8f1349.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadEast.png" +dest_files=["res://.godot/imported/tileSand_roadEast.png-d1a724e2aabedef47530a010fe8f1349.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadNorth.png b/world/tileSand_roadNorth.png new file mode 100644 index 0000000..3b674e5 Binary files /dev/null and b/world/tileSand_roadNorth.png differ diff --git a/world/tileSand_roadNorth.png.import b/world/tileSand_roadNorth.png.import new file mode 100644 index 0000000..88109d8 --- /dev/null +++ b/world/tileSand_roadNorth.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mfmpalg0n76g" +path="res://.godot/imported/tileSand_roadNorth.png-1af530e07e186ad2b3873e8f17b8b08e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadNorth.png" +dest_files=["res://.godot/imported/tileSand_roadNorth.png-1af530e07e186ad2b3873e8f17b8b08e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadSplitE.png b/world/tileSand_roadSplitE.png new file mode 100644 index 0000000..7692d52 Binary files /dev/null and b/world/tileSand_roadSplitE.png differ diff --git a/world/tileSand_roadSplitE.png.import b/world/tileSand_roadSplitE.png.import new file mode 100644 index 0000000..999346c --- /dev/null +++ b/world/tileSand_roadSplitE.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pfv27p0s2bln" +path="res://.godot/imported/tileSand_roadSplitE.png-0f407602a1c55de9660c56e86f1da5ee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadSplitE.png" +dest_files=["res://.godot/imported/tileSand_roadSplitE.png-0f407602a1c55de9660c56e86f1da5ee.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadSplitN.png b/world/tileSand_roadSplitN.png new file mode 100644 index 0000000..190aaf0 Binary files /dev/null and b/world/tileSand_roadSplitN.png differ diff --git a/world/tileSand_roadSplitN.png.import b/world/tileSand_roadSplitN.png.import new file mode 100644 index 0000000..9c2f738 --- /dev/null +++ b/world/tileSand_roadSplitN.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ksj88auqju5q" +path="res://.godot/imported/tileSand_roadSplitN.png-3a5c76a59e460dc767e32e9369a833b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadSplitN.png" +dest_files=["res://.godot/imported/tileSand_roadSplitN.png-3a5c76a59e460dc767e32e9369a833b7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadSplitS.png b/world/tileSand_roadSplitS.png new file mode 100644 index 0000000..dc1ad35 Binary files /dev/null and b/world/tileSand_roadSplitS.png differ diff --git a/world/tileSand_roadSplitS.png.import b/world/tileSand_roadSplitS.png.import new file mode 100644 index 0000000..850b67c --- /dev/null +++ b/world/tileSand_roadSplitS.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cf55vcie8bwgg" +path="res://.godot/imported/tileSand_roadSplitS.png-f42382cd0931d453f6fe57d7ad969ff4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadSplitS.png" +dest_files=["res://.godot/imported/tileSand_roadSplitS.png-f42382cd0931d453f6fe57d7ad969ff4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/world/tileSand_roadSplitW.png b/world/tileSand_roadSplitW.png new file mode 100644 index 0000000..b2ac193 Binary files /dev/null and b/world/tileSand_roadSplitW.png differ diff --git a/world/tileSand_roadSplitW.png.import b/world/tileSand_roadSplitW.png.import new file mode 100644 index 0000000..b722490 --- /dev/null +++ b/world/tileSand_roadSplitW.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bu5woqqi8f0ys" +path="res://.godot/imported/tileSand_roadSplitW.png-0ee0eea1d291969e73d786de43ecab68.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://world/tileSand_roadSplitW.png" +dest_files=["res://.godot/imported/tileSand_roadSplitW.png-0ee0eea1d291969e73d786de43ecab68.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1