diff --git a/source/addons/boxconstructor/boxconstructor.gd b/source/addons/boxconstructor/boxconstructor.gd new file mode 100644 index 0000000..11b2439 --- /dev/null +++ b/source/addons/boxconstructor/boxconstructor.gd @@ -0,0 +1,1156 @@ +@tool +extends EditorPlugin + +# === Constants === +enum BuildMode { + DISABLE, + SELECT, + ADD +} + + +const GRID_SCALE_1 = 0.01 +const GRID_SCALE_2 = 0.1 +const GRID_SCALE_3 = 0.25 +const GRID_SCALE_4 = 0.5 +const GRID_SCALE_5 = 0.75 +const GRID_SCALE_6 = 1 +const GRID_SCALE_7 = 2 +const GRID_SCALE_8 = 5 +const GRID_SCALE_9 = 10 +const BASE_PREVIEW_THICKNESS = 0.05 + +# === Editor properties === +var current_mode: BuildMode = BuildMode.SELECT +var toolbar: PanelContainer +var editor_viewport = EditorInterface.get_editor_viewport_3d() +var camera = editor_viewport.get_camera_3d() + +# === Grid and CSG properties === +var csg_root: CSGCombiner3D +var selected_grid: CubeGrid3D +var csg_mesh: MeshInstance3D = null + +# === Rectangle drawing properties === +var is_drawing: bool = false +var draw_normal: Vector3 = Vector3.UP +var draw_start: Vector3 = Vector3() +var draw_end: Vector3 = Vector3() +var draw_preview: MeshInstance3D = null +var draw_plane: Plane +var base_rect_points: Array = [] + +# === Extrusion properties === +var is_extruding: bool = false +var has_started_extrusion: bool = false +var extrude_distance: float = 0.0 +var initial_extrude_point: Vector3 +var extrude_line_normal: Vector3 + +# === Highlight properties === +var hover_preview: MeshInstance3D = null +var hover_point: Vector3 = Vector3.ZERO + +# === Edge Movement properties === +var edge_preview: MeshInstance3D = null +var current_edge: Array = [] +var is_dragging_edge: bool = false +var dragged_mesh: CSGMesh3D = null +var drag_start_position: Vector3 +var drag_plane: Plane +var drag_start_offset: Vector3 +var is_mouse_in_viewport: bool = false + +var undo_redo +var drag_start_vertices: PackedVector3Array +var drag_start_indices: PackedInt32Array + +func _update_mesh_arrays(mesh_node: CSGMesh3D, vertices: PackedVector3Array, indices: PackedInt32Array) -> void: + var arr_mesh = mesh_node.mesh as ArrayMesh + if arr_mesh: + var arrays = [] + arrays.resize(Mesh.ARRAY_MAX) + arrays[Mesh.ARRAY_VERTEX] = vertices + arrays[Mesh.ARRAY_INDEX] = indices + arr_mesh.clear_surfaces() + arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays) + +# === Lifecycle Methods === +func _enter_tree() -> void: + EditorInterface.get_selection().selection_changed.connect(_on_selection_changed) + editor_viewport = EditorInterface.get_editor_viewport_3d() + undo_redo = get_undo_redo() + toolbar = preload("res://addons/boxconstructor/scripts/toolbar.gd").new(self) # Create the toolbar + var viewport_base = editor_viewport.get_parent().get_parent() + viewport_base.add_child(toolbar) + toolbar.set_anchors_and_offsets_preset(Control.PRESET_CENTER_TOP, 0, 10) + + toolbar.hide() # Hide toolbar by default + _connect_toolbar_signals() # Connect signals + + +func _exit_tree() -> void: + if toolbar: + toolbar.queue_free() # Remove the toolbar + + if EditorInterface.get_selection().selection_changed.is_connected(_on_selection_changed): + EditorInterface.get_selection().selection_changed.disconnect(_on_selection_changed) # Disconnect signals + + +# This section handles all of the inputs +func _input(event: InputEvent) -> void: + if not selected_grid or not selected_grid.is_inside_tree(): + return + + # Pressing the X key will move the grid to mouse position + if event is InputEventKey and event.pressed and event.keycode == KEY_X: + if not camera or not selected_grid: + return + # Cast a ray and get the hit position + var from = camera.project_ray_origin(editor_viewport.get_mouse_position()) + var to = from + camera.project_ray_normal(editor_viewport.get_mouse_position()) * 5000 + var ray_query = PhysicsRayQueryParameters3D.new() + ray_query.from = from + ray_query.to = to + var hit = EditorInterface.get_edited_scene_root().get_world_3d().direct_space_state.intersect_ray(ray_query) + if hit: + var snapped_pos = _snap_to_grid(hit.position) + # Move the Grid to the hit position + _align_grid_to_surface(hit.normal, snapped_pos) + + # Pressing Z resets the grid to the 0,0,0 position + if event is InputEventKey and event.pressed and event.keycode == KEY_Z: + _reset_grid_transform() + + # Edge movement logic + if current_mode == BuildMode.SELECT: + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_LEFT and event.pressed: + if not is_dragging_edge: + if edge_preview and edge_preview.visible: + for child in csg_root.get_children(): + if child is CSGBox3D or child is CSGMesh3D: + # Get all of the edges of CSGBox3D or CSGMesh3D + var edges = _get_edges(child) + for edge in edges: + + # Check if the currently hovered edge is the same as the one we are dragging + if edge[0].is_equal_approx(current_edge[0]) and edge[1].is_equal_approx(current_edge[1]): + var from = camera.project_ray_origin(event.position) + var dir = camera.project_ray_normal(event.position) + + # Create a plane for the edge to drag along + var edge_dir = (edge[1] - edge[0]).normalized() + drag_plane = Plane(edge_dir, edge[0].dot(edge_dir)) + + # Get the intersection point of the ray and the plane + var intersection = drag_plane.intersects_ray(from, dir) + if intersection: + # We turn the CSGBox3D into a custom mesh that allows use to move the vertecies + if child is CSGBox3D: + dragged_mesh = _convert_box_to_CSGMesh(child) + + else: + dragged_mesh = child + + var arr_mesh = dragged_mesh.mesh as ArrayMesh + if arr_mesh: + var arrays = arr_mesh.surface_get_arrays(0) + drag_start_vertices = arrays[Mesh.ARRAY_VERTEX].duplicate() + drag_start_indices = arrays[Mesh.ARRAY_INDEX].duplicate() + is_dragging_edge = true # Set dragging to true + current_edge = edge # Set the current edge to the one we are dragging + drag_start_offset = _snap_to_grid(intersection) # Starting position of edge drag + break + else: + if is_dragging_edge and dragged_mesh: + var arr_mesh = dragged_mesh.mesh as ArrayMesh + if arr_mesh: + var final_arrays = arr_mesh.surface_get_arrays(0) + undo_redo.create_action("Move Edge") + + # Store the current state + var current_mesh = arr_mesh.duplicate(true) + + # Create original mesh + var original_mesh = ArrayMesh.new() + var arrays = [] + arrays.resize(Mesh.ARRAY_MAX) + arrays[Mesh.ARRAY_VERTEX] = drag_start_vertices + arrays[Mesh.ARRAY_INDEX] = drag_start_indices + original_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays) + + undo_redo.add_do_property(dragged_mesh, "mesh", current_mesh) + undo_redo.add_undo_property(dragged_mesh, "mesh", original_mesh) + undo_redo.commit_action() + + is_dragging_edge = false + dragged_mesh = null + edge_preview.hide() + + if event is InputEventMouseMotion: + if is_dragging_edge and dragged_mesh: + edge_preview.hide() + var from = camera.project_ray_origin(event.position) + var dir = camera.project_ray_normal(event.position) + + # Project mouse position onto drag plane + var intersection = drag_plane.intersects_ray(from, dir) + if intersection: + # Snapped position on the grid + var snapped_pos = _snap_to_grid(intersection) + # Offset from the start position + var offset = snapped_pos - drag_start_offset + + var arr_mesh = dragged_mesh.mesh as ArrayMesh + if arr_mesh: + var arrays = arr_mesh.surface_get_arrays(0) + var vertices = arrays[Mesh.ARRAY_VERTEX] as PackedVector3Array + + # Get the edge points in local space + var local_edge = [ + dragged_mesh.to_local(current_edge[0]), + dragged_mesh.to_local(current_edge[1]) + ] + # Calculate the new offset + var local_offset = dragged_mesh.global_transform.basis.inverse() * offset + var new_vertices = PackedVector3Array() + new_vertices.resize(vertices.size()) + + # Move vertices that match the edge points + for i in range(vertices.size()): + var vertex = vertices[i] + if vertex.is_equal_approx(local_edge[0]) or vertex.is_equal_approx(local_edge[1]): + new_vertices[i] = vertex + local_offset + else: + new_vertices[i] = vertex + + # Update the mesh + var new_arrays = [] + new_arrays.resize(Mesh.ARRAY_MAX) + new_arrays[Mesh.ARRAY_VERTEX] = new_vertices + new_arrays[Mesh.ARRAY_INDEX] = arrays[Mesh.ARRAY_INDEX] + + arr_mesh.clear_surfaces() + arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, new_arrays) + + current_edge = [ + dragged_mesh.global_transform * (local_edge[0] + local_offset), + dragged_mesh.global_transform * (local_edge[1] + local_offset) + ] + drag_start_offset = snapped_pos + + # Highlight the closest edge + elif not is_dragging_edge: + if not camera or not csg_root: + if edge_preview: + edge_preview.hide() + return + + # Get the closest node + var mouse_pos = editor_viewport.get_mouse_position() + var closest_node = null + var closest_distance = INF + + for child in csg_root.get_children(): + if not (child is CSGBox3D or child is CSGMesh3D): + continue + + var node_center = child.global_position + var screen_pos = camera.unproject_position(node_center) # Takes the position in 3D converts it to 2D + var distance = screen_pos.distance_to(mouse_pos) + + if distance < closest_distance: + closest_node = child + closest_distance = distance + + if closest_distance: + var closest_edge = _find_closest_edge(closest_node, mouse_pos) + current_edge = closest_edge + _create_edge_preview(closest_edge) + else: + current_edge = [] + if edge_preview: + edge_preview.hide() + + # Handle Rectangle Drawing and Extrusion Logic + if current_mode == BuildMode.ADD: + if event is InputEventMouseButton: + + # If clicked inside toolbar ignore + if toolbar and toolbar.get_global_rect().has_point(event.position): + return + + if event.button_index == MOUSE_BUTTON_LEFT: + if event.pressed: + if not camera: return + + # Extruson end + if is_extruding and has_started_extrusion: + # Create the box when clicking during extrusion + _create_CSGBox3D() + is_drawing = false + is_extruding = false + has_started_extrusion = false + if draw_preview: + draw_preview.queue_free() + draw_preview = null + return + + # Start dragging the base rectangle + var ray_query = PhysicsRayQueryParameters3D.new() + ray_query.from = camera.project_ray_origin(editor_viewport.get_mouse_position()) + ray_query.to = ray_query.from + camera.project_ray_normal(editor_viewport.get_mouse_position()) * 1000 + + var hit = EditorInterface.get_editor_viewport_3d(0).find_world_3d().direct_space_state.intersect_ray(ray_query) + if hit: + is_drawing = true + draw_normal = hit.normal + draw_start = _snap_to_grid(hit.position) + draw_end = draw_start + draw_plane = Plane(draw_normal, hit.position.dot(draw_normal)) + create_rectangle_preview() + + else: + # End dragging and start extrusion if we were drawing + if is_drawing and not is_extruding: + is_extruding = true + has_started_extrusion = false + extrude_distance = 0.0 + + var from = camera.project_ray_origin(editor_viewport.get_mouse_position()) + var dir = camera.project_ray_normal(editor_viewport.get_mouse_position()) + var intersection = draw_plane.intersects_ray(from, dir) + + if intersection: + initial_extrude_point = _snap_to_grid(intersection) + extrude_line_normal = draw_normal + _update_rectangle_preview() + + elif event is InputEventKey and event.pressed and event.keycode == KEY_ESCAPE: + is_drawing = false + is_extruding = false + has_started_extrusion = false + if draw_preview: + draw_preview.queue_free() + draw_preview = null + + get_viewport().set_input_as_handled() + + # Update section + elif event is InputEventMouseMotion: + if current_mode == BuildMode.ADD: + if not is_drawing: + if not camera: return + + var ray_query = PhysicsRayQueryParameters3D.new() + ray_query.from = camera.project_ray_origin(editor_viewport.get_mouse_position()) + ray_query.to = ray_query.from + camera.project_ray_normal(editor_viewport.get_mouse_position()) * 1000 + ray_query.collide_with_bodies = true + + var hit = EditorInterface.get_editor_viewport_3d(0).find_world_3d().direct_space_state.intersect_ray(ray_query) + if hit: + hover_point = _snap_to_grid(hit.position) + if not hover_preview: + _create_hover_preview() + _update_hover_preview() + elif hover_preview: + hover_preview.queue_free() + + if is_drawing and not is_extruding: + if not camera: return + + var from = camera.project_ray_origin(editor_viewport.get_mouse_position()) + var dir = camera.project_ray_normal(editor_viewport.get_mouse_position()) + + var intersection = draw_plane.intersects_ray(from, dir) + if intersection: + draw_end = _snap_to_grid(intersection) + _calculate_base_rect_points() + _update_rectangle_preview() + + elif is_extruding: + if not camera: return + + var from = camera.project_ray_origin(editor_viewport.get_mouse_position()) + var dir = camera.project_ray_normal(editor_viewport.get_mouse_position()) + + if not has_started_extrusion: + if event.relative.length() > 0.01: + has_started_extrusion = true + + if has_started_extrusion: + var grid_unit = selected_grid.grid_scale + var e_line1 = initial_extrude_point - extrude_line_normal * 5000 + var e_line2 = initial_extrude_point + extrude_line_normal * 5000 + var m_line1 = from + var m_line2 = from + dir * 5000 + var closest_point = Geometry3D.get_closest_points_between_segments(e_line1, e_line2, m_line1, m_line2) + var mouse_on_exturde_line = closest_point[0] + var distance_vec = mouse_on_exturde_line - initial_extrude_point + var distance = distance_vec.length() * distance_vec.normalized().dot(extrude_line_normal) + + var new_distance = round(distance / grid_unit) * grid_unit + #print(new_distance) + if not is_equal_approx(extrude_distance, new_distance): + extrude_distance = new_distance + _update_rectangle_preview() + + +# === Grid Methods === +# Changes the grid size based on the input from the toolbar +func _on_grid_size_changed(size: float) -> void: + if selected_grid and selected_grid.grid_material: + selected_grid.grid_scale = size + selected_grid.grid_material.set_shader_parameter("grid_scale", size) + + # Destroy the hover preview so it gets updated + if hover_preview: + hover_preview.queue_free() + hover_preview = null + + +# Snaps the position to the grid size +func _snap_to_grid(pos: Vector3) -> Vector3: + if not selected_grid: + return pos + + # Get the grid size of the selected grid + var grid_unit = selected_grid.grid_scale + + # Divide the coordinates of the given position by the grid scale, to get how far it is from the origin + # and round it to the nearest integer + return Vector3( + round(pos.x / grid_unit) * grid_unit, + round(pos.y / grid_unit) * grid_unit, + round(pos.z / grid_unit) * grid_unit + ) + + +func _align_grid_to_surface(normal: Vector3, hit_position: Vector3) -> void: + if not selected_grid: + return + + var mesh = selected_grid.get_node_or_null("CubeGridMesh3D") + var collision = selected_grid.get_node_or_null("CubeGridCollisionShape3D") + + var mesh_size = mesh.scale + var collision_size = collision.scale + + if not mesh or not collision: + return + + # Normalize the normal vector + normal = normal.normalized() + + var up = normal + var right = up.cross(Vector3.FORWARD).normalized() + if right.length() < 0.1: + right = up.cross(Vector3.RIGHT).normalized() + var forward = right.cross(up) + + # Create the Basis and Transform3D + var basis = Basis(right, up, forward) + var transform = Transform3D(basis, hit_position + up * 0.01) + + # Apply the transform + mesh.transform = transform + collision.transform = transform + + # Restore correct scale + mesh.scale = mesh_size + collision.scale = collision_size + + # Update the material + selected_grid._update_material() + + +func _reset_grid_transform() -> void: + if not selected_grid: + return + + var mesh = selected_grid.get_node_or_null("CubeGridMesh3D") + var collision = selected_grid.get_node_or_null("CubeGridCollisionShape3D") + + if not mesh or not collision: + return + + # Get the current mesh and collision scale + var mesh_scale = mesh.scale + var collision_scale = collision.scale + + # Reset the transform + mesh.transform = Transform3D() + collision.transform = Transform3D() + + # Restore the scale + mesh.scale = mesh_scale + collision.scale = collision_scale + + # Update the shader + selected_grid._update_material() + + +# === Drawing Methods === +# Creates a MeshInstance3D shpere at the current hovered location when in ADD mode +func _create_hover_preview() -> void: + # Clear the existing preview + if hover_preview: + hover_preview.queue_free() + + # Create new hover preview + hover_preview = MeshInstance3D.new() + var sphere = SphereMesh.new() + var scale = selected_grid.grid_scale * BASE_PREVIEW_THICKNESS + sphere.radius = scale + sphere.height = scale * 2 + hover_preview.mesh = sphere + + # Create the material for the hover preview + var material = StandardMaterial3D.new() + material.albedo_color = Color.RED + material.no_depth_test = true # Always visible Renders ontop of other objects + hover_preview.material_override = material + + # Add it to the scene + if csg_root: + csg_root.add_child(hover_preview) + hover_preview.position = hover_point + # Do not add owner + + +# Changes the position of the hover preview +func _update_hover_preview() -> void: + if not hover_preview: + return + hover_preview.global_position = hover_point + + +func _calculate_base_rect_points() -> void: + if not selected_grid: + return + + var grid_unit = selected_grid.grid_scale + + # Calculate the base rectangle points + var min_x = floor(min(draw_start.x, draw_end.x) / grid_unit) * grid_unit + var max_x = ceil(max(draw_start.x, draw_end.x) / grid_unit) * grid_unit + var min_y = floor(min(draw_start.y, draw_end.y) / grid_unit) * grid_unit + var max_y = ceil(max(draw_start.y, draw_end.y) / grid_unit) * grid_unit + var min_z = floor(min(draw_start.z, draw_end.z) / grid_unit) * grid_unit + var max_z = ceil(max(draw_start.z, draw_end.z) / grid_unit) * grid_unit + + if draw_normal.abs().is_equal_approx(Vector3.UP) or draw_normal.abs().is_equal_approx(Vector3.DOWN): + base_rect_points = [ + Vector3(min_x, draw_start.y, min_z), + Vector3(max_x, draw_start.y, min_z), + Vector3(max_x, draw_start.y, max_z), + Vector3(min_x, draw_start.y, max_z) + ] + elif draw_normal.abs().is_equal_approx(Vector3.RIGHT) or draw_normal.abs().is_equal_approx(Vector3.LEFT): + base_rect_points = [ + Vector3(draw_start.x, min_y, min_z), + Vector3(draw_start.x, max_y, min_z), + Vector3(draw_start.x, max_y, max_z), + Vector3(draw_start.x, min_y, max_z) + ] + else: + base_rect_points = [ + Vector3(min_x, min_y, draw_start.z), + Vector3(max_x, min_y, draw_start.z), + Vector3(max_x, max_y, draw_start.z), + Vector3(min_x, max_y, draw_start.z) + ] + + +func create_rectangle_preview() -> void: + # Clear the previous preview + if draw_preview: + draw_preview.queue_free() + + # Create a new preview + draw_preview = MeshInstance3D.new() + var immediate_mesh = ImmediateMesh.new() + draw_preview.mesh = immediate_mesh + + var material = StandardMaterial3D.new() + material.albedo_color = Color.RED + material.cull_mode = BaseMaterial3D.CULL_DISABLED + material.no_depth_test = true + draw_preview.material_override = material + + if csg_root: + csg_root.add_child(draw_preview) + draw_preview.owner = EditorInterface.get_edited_scene_root() + + +func _update_rectangle_preview() -> void: + if not draw_preview: return + var immediate_mesh = draw_preview.mesh as ImmediateMesh + immediate_mesh.clear_surfaces() + + var base_thickness = BASE_PREVIEW_THICKNESS * selected_grid.grid_scale + var thickness = base_thickness + var grid_unit = selected_grid.grid_scale + var material = draw_preview.material_override as StandardMaterial3D + + if is_extruding: + material.albedo_color = Color.GREEN if extrude_distance >= 0 else Color.RED + var preview_offset = draw_normal * (grid_unit * 0.000001) + immediate_mesh.surface_begin(Mesh.PRIMITIVE_TRIANGLES) + + var preview_points = [] + for point in base_rect_points: + preview_points.append(point + preview_offset) + + # Rectangle base lines + for i in range(preview_points.size()): + add_thick_line( + immediate_mesh, + preview_points[i], + preview_points[(i + 1) % preview_points.size()], + thickness + ) + # Extrusion lines + if is_extruding: + add_thick_line(immediate_mesh, + initial_extrude_point + preview_offset, + initial_extrude_point + draw_normal * (extrude_distance + preview_offset.length()), + thickness * 0.5) + + if has_started_extrusion: + var extrude_offset = draw_normal * extrude_distance + + for i in range(preview_points.size()): + var extruded_point = preview_points[i] + extrude_offset + add_thick_line(immediate_mesh, + preview_points[i], + extruded_point, + thickness) + add_thick_line( + immediate_mesh, + extruded_point, + preview_points[(i + 1) % preview_points.size()] + extrude_offset, + thickness + ) + + immediate_mesh.surface_end() + + +func add_thick_line(immediate_mesh: ImmediateMesh, start: Vector3, end: Vector3, thickness: float) -> void: + var direction = (end - start).normalized() + + # Find a perpendicular vector to the line + var perpendicular = Vector3.UP.cross(direction).normalized() + if perpendicular.length() < 0.1: + perpendicular = Vector3.RIGHT.cross(direction).normalized() + + # Calculate the four corners of the line + var offset = perpendicular * thickness + var v1 = start + offset + var v2 = start - offset + var v3 = end + offset + var v4 = end - offset + + # Add the two faces to the line + create_rectangle(immediate_mesh, v1, v2, v3, v4) + + +# Creates a rectangle using the given vertecies out of two triangles +func create_rectangle(immediate_mesh: ImmediateMesh, v1: Vector3, v2: Vector3, v3: Vector3, v4: Vector3) -> void: + # Add two triangles to form a rectangle + immediate_mesh.surface_add_vertex(v1) + immediate_mesh.surface_add_vertex(v2) + immediate_mesh.surface_add_vertex(v3) + + immediate_mesh.surface_add_vertex(v2) + immediate_mesh.surface_add_vertex(v4) + immediate_mesh.surface_add_vertex(v3) + + +# === CSG Management Methods === +func _create_CSGBox3D() -> void: + var new_box = CSGBox3D.new() + new_box.use_collision = true + new_box.set_meta("_edit_lock_", true) + new_box.set_meta("_edit_group_", true) + + + var min_point = base_rect_points[0] + var max_point = base_rect_points[0] + + # Minimum and maximum points of the base rectangle + for point in base_rect_points: + min_point = Vector3( + min(min_point.x, point.x), + min(min_point.y, point.y), + min(min_point.z, point.z) + ) + max_point = Vector3( + max(max_point.x, point.x), + max(max_point.y, point.y), + max(max_point.z, point.z) + ) + + # Initial size and center of the box + var size = (max_point - min_point) + var center = (max_point + min_point) * 0.5 + + # Adjust size and center based on the extrusion + if draw_normal.abs().is_equal_approx(Vector3.UP) or draw_normal.abs().is_equal_approx(Vector3.DOWN): + size.y = abs(extrude_distance) + center += draw_normal * (extrude_distance * 0.5) + elif draw_normal.abs().is_equal_approx(Vector3.RIGHT) or draw_normal.abs().is_equal_approx(Vector3.LEFT): + size.x = abs(extrude_distance) + center += draw_normal * (extrude_distance * 0.5) + else: + size.z = abs(extrude_distance) + center += draw_normal * (extrude_distance * 0.5) + + if size.x < 0.0001 or size.y < 0.0001 or size.z < 0.0001: + return + + new_box.size = size + new_box.position = center + + # Depending on the extrusion distance set the operation + if extrude_distance < 0: + new_box.operation = CSGShape3D.OPERATION_SUBTRACTION + + undo_redo.create_action("Create CSGBox3D") + undo_redo.add_do_method(csg_root, "add_child", new_box) + undo_redo.add_do_method(new_box, "set_owner", EditorInterface.get_edited_scene_root()) + undo_redo.add_undo_method(csg_root, "remove_child", new_box) + undo_redo.commit_action() + _update_toolbar_states() + + +func _on_merge_mesh() -> void: + if not csg_root or csg_root.get_child_count() == 0: + return + # Dont allow to merge an already merged mesh + if csg_root.has_node("CSGMesh"): + push_warning("Already merged!") + return + + if edge_preview: + edge_preview.queue_free() + edge_preview = null + + current_edge = [] + is_dragging_edge = false + + var nodes_to_keep = [] + # Go over all of the children of the csg root and check if they are CSGBox3D or CSGMesh3D + for node in csg_root.get_children(): + if node is MeshInstance3D: + continue + + # For subtraction operations, check if it actually cuts something + if node.operation == CSGShape3D.OPERATION_SUBTRACTION: + var cuts_something = false + for other_node in csg_root.get_children(): + if other_node.operation == CSGShape3D.OPERATION_UNION: + if node is CSGBox3D and other_node is CSGBox3D: + var node_bounds = AABB( + node.position - (node.size * 0.5), + node.size + ) + var other_bounds = AABB( + other_node.position - (other_node.size * 0.5), + other_node.size + ) + # Check if the bounding boxes intersect if does keep it + if node_bounds.intersects(other_bounds): + cuts_something = true + break + else: + cuts_something = false + break + # Only keep if it actually cuts something + if cuts_something: + nodes_to_keep.append(node) + else: + nodes_to_keep.append(node) + + var nodes_data = [] + for node in nodes_to_keep: + nodes_data.append(_store_mesh_data(node)) + + var meshes = csg_root.get_meshes() + if meshes.size() > 1: + if not csg_mesh: + csg_mesh = MeshInstance3D.new() + csg_mesh.name = "CSGMesh" + csg_root.add_child(csg_mesh) + csg_mesh.owner = EditorInterface.get_edited_scene_root() + + csg_mesh.mesh = meshes[1] + csg_mesh.set_meta("csg_data", { + "nodes": nodes_data + }) + + for child in csg_root.get_children(): + if child != csg_mesh: + child.queue_free() + + _update_toolbar_states() + _change_mode(BuildMode.DISABLE) + + +func _on_edit_mesh() -> void: + if not csg_root: + push_warning("No Mesh root found!") + return + + if not csg_root.has_node("CSGMesh"): + push_warning("No CSGMesh to edit!") + return + + csg_mesh = csg_root.get_node("CSGMesh") + var data = csg_mesh.get_meta("csg_data") + if not data: + push_warning("No CSG data found in mesh!") + return + # Deconstruct the mesh into CSGBox3D or CSGMesh3D + _convert_to_boxes() + +# Stores the information about the CSGBox3D or CSGMesh3D +func _store_mesh_data(node: Node) -> Dictionary: + # Create a dictionary to store information + var data = { + "position": node.position, + "operation": node.operation, + "use_collision": node.use_collision, + "type": "box" if node is CSGBox3D else "mesh" + } + # Store the size of the CSGBox3D or the vertices and indices of the CSGMesh3D + if node is CSGBox3D: + data["size"] = node.size + # Store vertices and indices of the CSGMesh3D + elif node is CSGMesh3D: + var mesh = node.mesh as ArrayMesh + if mesh: + data["vertices"] = mesh.surface_get_arrays(0)[Mesh.ARRAY_VERTEX] + data["indices"] = mesh.surface_get_arrays(0)[Mesh.ARRAY_INDEX] + + return data + + +# Recreates the CSGBox3D or CSGMesh3D from the stored metadata +func _convert_to_boxes() -> void: + + csg_mesh = csg_root.get_node("CSGMesh") + if not csg_mesh: + push_warning("No CSGMesh node found!") + return + var data = csg_mesh.get_meta("csg_data") + if not data: + push_warning("No CSG data found in mesh!") + return + + # Go through all of the nodes and recreate them + for node_info in data["nodes"]: + var new_node + + # Based on the type, recreate CSGBox3D or CSGMesh3D + if node_info["type"] == "box": + new_node = CSGBox3D.new() # Create a new CSGBox3D + new_node.size = node_info["size"] # Set the size of the box by getting the size from the metadata + else: + new_node = CSGMesh3D.new() # Create a new CSGMesh3D + var arr_mesh = ArrayMesh.new() # Create a new ArrayMesh + var arrays = [] + arrays.resize(Mesh.ARRAY_MAX) + + arrays[Mesh.ARRAY_VERTEX] = node_info["vertices"] + arrays[Mesh.ARRAY_INDEX] = node_info["indices"] + arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays) # Add the surface to the ArrayMesh + new_node.mesh = arr_mesh + + new_node.position = node_info["position"] # Set the position + new_node.operation = node_info["operation"] + new_node.use_collision = node_info["use_collision"] + + new_node.set_meta("_edit_lock_", true) + new_node.set_meta("_edit_group_", true) + + csg_root.add_child(new_node) + new_node.owner = EditorInterface.get_edited_scene_root() + + # Remove the CSGMesh + csg_mesh.queue_free() + csg_mesh = null + + toolbar.update_button_states(false) + _change_mode(BuildMode.DISABLE) + + +# === UI Management Methods === +func _connect_toolbar_signals() -> void: + toolbar.select_button_pressed.connect(func(): _change_mode(BuildMode.SELECT)) + toolbar.add_button_pressed.connect(func(): _change_mode(BuildMode.ADD)) + toolbar.disable_button_pressed.connect(func(): _change_mode(BuildMode.DISABLE)) + toolbar.grid_size_changed.connect(_on_grid_size_changed) + toolbar.reset_grid_pressed.connect(_reset_grid_transform) + toolbar.merge_mesh.connect(_on_merge_mesh) + toolbar.edit_mesh.connect(_on_edit_mesh) + + +func _update_toolbar_states() -> void: + if not csg_root: + return + + var has_csg_mesh = csg_root.has_node("CSGMesh") + var has_csg_boxes = false + + for child in csg_root.get_children(): + if child is CSGBox3D or child is CSGMesh3D: + has_csg_boxes = true + break + + if has_csg_mesh: + toolbar.update_button_states(true) + else: + toolbar.update_button_states(false) + + toolbar.set_merge_button_enabled(has_csg_boxes) + toolbar.set_select_button_enabled(has_csg_boxes) + toolbar.set_edit_button_enabled(has_csg_mesh) + + +func _on_selection_changed() -> void: + var selected = EditorInterface.get_selection().get_selected_nodes() + if selected.size() == 1 and selected[0] is CubeGrid3D: + selected_grid = selected[0] + csg_root = selected_grid.get_node("CSGCombiner3D") + toolbar.show() + toolbar.connect_to_grid(selected_grid) + _update_toolbar_states() + + var root := EditorInterface.get_base_control() + var toolbar = root.find_children("", "Node3DEditor", true, false)[0].get_child(0).find_children("", "HBoxContainer", true, false)[0] + var btn = toolbar.get_child(2) + btn.pressed.emit() + if hover_preview: + hover_preview.queue_free() + hover_preview = null + else: + _change_mode(BuildMode.DISABLE) + if hover_preview: + hover_preview.queue_free() + hover_preview = null + selected_grid = null + csg_root = null + toolbar.hide() + + +func _change_mode(new_mode: BuildMode) -> void: + if new_mode == BuildMode.ADD and csg_root and csg_root.has_node("CSGMesh"): + push_warning("Can't switch to ADD mode while CSGMesh exists. Use Edit to modify.") + toolbar.set_active_mode(current_mode) + return + + current_mode = new_mode + toolbar.set_active_mode(current_mode) + + if edge_preview: + edge_preview.queue_free() + edge_preview = null + current_edge = [] + is_dragging_edge = false + + if csg_root: + csg_root.set_meta("_edit_lock_", current_mode != BuildMode.SELECT) + + +# === Edge Movement Methods === +func _get_edges(node: Node) -> Array: + var edges = [] + + if node is CSGBox3D: + var aabb = AABB( + node.global_position - (node.size * 0.5), + node.size + ) + # Corners of the CSGBox3D + var corners = [ + Vector3(aabb.position.x, aabb.position.y, aabb.position.z), + Vector3(aabb.end.x, aabb.position.y, aabb.position.z), + Vector3(aabb.end.x, aabb.end.y, aabb.position.z), + Vector3(aabb.position.x, aabb.end.y, aabb.position.z), + Vector3(aabb.position.x, aabb.position.y, aabb.end.z), + Vector3(aabb.end.x, aabb.position.y, aabb.end.z), + Vector3(aabb.end.x, aabb.end.y, aabb.end.z), + Vector3(aabb.position.x, aabb.end.y, aabb.end.z) + ] + # Edges of the CSGBox3D + var edge_indices = [ + [0, 1], [1, 2], [2, 3], [3, 0], + [4, 5], [5, 6], [6, 7], [7, 4], + [0, 4], [1, 5], [2, 6], [3, 7] + ] + # Create edges by taking pairs of corners + for pair in edge_indices: + edges.append([corners[pair[0]], corners[pair[1]]]) + # CSGMesh3D get edges by getting the verticies and indicies + elif node is CSGMesh3D: + var arr_mesh = node.mesh as ArrayMesh + if not arr_mesh: + return edges + + # Arraymesh + var arrays = arr_mesh.surface_get_arrays(0) + # Get the vertices and indices + var vertices = arrays[Mesh.ARRAY_VERTEX] as PackedVector3Array + var indices = arrays[Mesh.ARRAY_INDEX] as PackedInt32Array + # Create a set to store edges + var edge_set = {} + + # Go through the indicies and create an edgemap + for i in range(0, indices.size(), 3): + var tri_indices = [ + indices[i], + indices[i + 1], + indices[i + 2] + ] + + for j in range(3): + var idx1 = tri_indices[j] + var idx2 = tri_indices[(j + 1) % 3] # Get the next 2 indicies + + var edge_key = str(min(idx1, idx2)) + "_" + str(max(idx1, idx2)) + if not edge_set.has(edge_key): + edge_set[edge_key] = true + var vert1 = node.global_transform * vertices[idx1] + var vert2 = node.global_transform * vertices[idx2] + edges.append([vert1, vert2]) + + return edges + + +# Finds the closest edge to the mouse +func _find_closest_edge(node: Node, mouse_pos: Vector2) -> Array: + if not camera: + return [] + + # Get all of the edges + var edges = _get_edges(node) + # Intialize closest edge + var closest_edge = [] + # Set the distance to infinity + var min_distance = INF + + # Cast ray from the camera to the mouse position + var from = camera.project_ray_origin(mouse_pos) + var dir = camera.project_ray_normal(mouse_pos) + var m_line1 = from + var m_line2 = from + dir * 5000 + + # Go over all of the edges + for edge in edges: + # Take the two first endpoints of the edge + var e_line1 = edge[0] + var e_line2 = edge[1] + + # Get the closest points between the edge and the ray + var closest_points = Geometry3D.get_closest_points_between_segments(e_line1, e_line2, m_line1, m_line2) + # Return the closest edge + var point_on_edge = closest_points[0] + var point_on_ray = closest_points[1] + + # Calculate the distance between the two points + var distance_vec = point_on_ray - point_on_edge + var distance = distance_vec.length() + + # If the distance is smaller than the current minimum, update the closest edge + if distance < min_distance: + min_distance = distance + closest_edge = edge + + return closest_edge + + +# Method that draws a line on the currently hovered edge +func _create_edge_preview(edge: Array) -> void: + + if edge.is_empty(): + if edge_preview: + edge_preview.hide() + return + + # Create the edge preview material + if not edge_preview: + edge_preview = MeshInstance3D.new() + var immediate_mesh = ImmediateMesh.new() + edge_preview.mesh = immediate_mesh + + var material = StandardMaterial3D.new() + material.albedo_color = Color.RED + material.cull_mode = BaseMaterial3D.CULL_DISABLED + material.no_depth_test = true + edge_preview.material_override = material + + if csg_root: + csg_root.add_child(edge_preview) + + edge_preview.show() + var immediate_mesh = edge_preview.mesh as ImmediateMesh + immediate_mesh.clear_surfaces() + + immediate_mesh.surface_begin(Mesh.PRIMITIVE_TRIANGLES) + var thickness = selected_grid.grid_scale * BASE_PREVIEW_THICKNESS # Scale the thickness based on grid size + add_thick_line(immediate_mesh, edge[0], edge[1], thickness) # Use the add_thick_line methdod to create the line + immediate_mesh.surface_end() + + +func _convert_box_to_CSGMesh(box: CSGBox3D) -> CSGMesh3D: + var csg_mesh = CSGMesh3D.new() + var arr_mesh = ArrayMesh.new() + var vertices = PackedVector3Array() + var indices = PackedInt32Array() + var half_size = box.size * 0.5 + + var local_verts = [ + Vector3(-half_size.x, -half_size.y, -half_size.z), # 0 + Vector3(half_size.x, -half_size.y, -half_size.z), # 1 + Vector3(half_size.x, half_size.y, -half_size.z), # 2 + Vector3(-half_size.x, half_size.y, -half_size.z), # 3 + Vector3(-half_size.x, -half_size.y, half_size.z), # 4 + Vector3(half_size.x, -half_size.y, half_size.z), # 5 + Vector3(half_size.x, half_size.y, half_size.z), # 6 + Vector3(-half_size.x, half_size.y, half_size.z) # 7 + ] + + vertices.append_array(local_verts) + + var faces = [ + [0, 1, 2, 2, 3, 0], # Front + [1, 5, 6, 6, 2, 1], # Right + [5, 4, 7, 7, 6, 5], # Back + [4, 0, 3, 3, 7, 4], # Left + [3, 2, 6, 6, 7, 3], # Top + [4, 5, 1, 1, 0, 4] # Bottom + ] + + for face in faces: + indices.append_array(face) + + var arrays = [] + arrays.resize(Mesh.ARRAY_MAX) + arrays[Mesh.ARRAY_VERTEX] = vertices + arrays[Mesh.ARRAY_INDEX] = indices + + arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays) + + csg_mesh.mesh = arr_mesh + csg_mesh.transform = box.transform + csg_mesh.operation = box.operation + csg_mesh.use_collision = box.use_collision + + csg_root.add_child(csg_mesh) + csg_mesh.owner = EditorInterface.get_edited_scene_root() + + box.queue_free() + + return csg_mesh diff --git a/source/addons/boxconstructor/boxconstructor.gd.uid b/source/addons/boxconstructor/boxconstructor.gd.uid new file mode 100644 index 0000000..4b990d3 --- /dev/null +++ b/source/addons/boxconstructor/boxconstructor.gd.uid @@ -0,0 +1 @@ +uid://qnfnr8wrpdsl diff --git a/source/addons/boxconstructor/plugin.cfg b/source/addons/boxconstructor/plugin.cfg new file mode 100644 index 0000000..3b60acf --- /dev/null +++ b/source/addons/boxconstructor/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="BoxConstructor" +description="Easy-to-use grayboxing tool designed for rapid prototyping in Godot" +author="Hannogert Otti" +version="1.0.0" +script="boxconstructor.gd" diff --git a/source/addons/boxconstructor/scripts/cube_grid.gd b/source/addons/boxconstructor/scripts/cube_grid.gd new file mode 100644 index 0000000..bf32181 --- /dev/null +++ b/source/addons/boxconstructor/scripts/cube_grid.gd @@ -0,0 +1,73 @@ +@tool +extends StaticBody3D +class_name CubeGrid3D +var grid_scale: float = 1: + set(value): + grid_scale = value + _update_material() + emit_signal("grid_created", grid_scale) + + +var mesh_instance: MeshInstance3D +var grid_material: ShaderMaterial +var csg_root: CSGCombiner3D +signal grid_created(scale: float) + +func _enter_tree() -> void: + if Engine.is_editor_hint(): + set_meta("_edit_lock_", true) + + # Check if the CubeGridMesh3D already exists + mesh_instance = get_node_or_null("CubeGridMesh3D") + if not mesh_instance: + mesh_instance = MeshInstance3D.new() + mesh_instance.name = "CubeGridMesh3D" + mesh_instance.set_meta("_edit_lock_", true) + var plane_mesh = PlaneMesh.new() + plane_mesh.size = Vector2(1, 1) + mesh_instance.mesh = plane_mesh + mesh_instance.scale = Vector3(4000, 0.001, 4000) + add_child(mesh_instance) + if Engine.is_editor_hint(): + mesh_instance.owner = null + + # Check if the CSGCombiner3D already exists + csg_root = self.get_node_or_null("CSGCombiner3D") + if not csg_root: + csg_root = CSGCombiner3D.new() + csg_root.name = "CSGCombiner3D" + csg_root.use_collision = true + add_child(csg_root) + if Engine.is_editor_hint(): + csg_root.owner = get_tree().edited_scene_root + + # Check if the CubeGridCollisionShape3D already exists + var collision_shape = get_node_or_null("CubeGridCollisionShape3D") + if not collision_shape: + collision_shape = CollisionShape3D.new() + var box_shape = BoxShape3D.new() + box_shape.size = Vector3(4000, 0.001, 4000) + collision_shape.shape = box_shape + collision_shape.name = "CubeGridCollisionShape3D" + add_child(collision_shape) + if Engine.is_editor_hint(): + collision_shape.owner = null + + _setup_shader() + emit_signal("grid_created", grid_scale) + +func _setup_shader() -> void: + if not mesh_instance: + mesh_instance = get_node_or_null("CubeGridMesh3D") + if not mesh_instance: + push_error("Grid mesh instance not found!") + return + + if not grid_material: + var base_material = preload("res://addons/boxconstructor/textures/cube_grid.tres") + grid_material = base_material.duplicate() + mesh_instance.material_override = grid_material + grid_material.set_shader_parameter("grid_scale", grid_scale) + +func _update_material() -> void: + grid_material.set_shader_parameter("grid_scale", grid_scale) diff --git a/source/addons/boxconstructor/scripts/cube_grid.gd.uid b/source/addons/boxconstructor/scripts/cube_grid.gd.uid new file mode 100644 index 0000000..7dcc211 --- /dev/null +++ b/source/addons/boxconstructor/scripts/cube_grid.gd.uid @@ -0,0 +1 @@ +uid://bgxvcscuumfyq diff --git a/source/addons/boxconstructor/scripts/toolbar.gd b/source/addons/boxconstructor/scripts/toolbar.gd new file mode 100644 index 0000000..7be8d3b --- /dev/null +++ b/source/addons/boxconstructor/scripts/toolbar.gd @@ -0,0 +1,275 @@ +@tool +extends PanelContainer + +signal disable_button_pressed +signal select_button_pressed +signal add_button_pressed +signal remove_button_pressed +signal edit_mesh +signal grid_size_changed(size: float) +signal reset_grid_pressed +signal merge_mesh + +var disable_button: Button +var merge_button: Button +var edit_button: Button +var tooltip_button: Button +var plugin: EditorPlugin +var toolbar_buttons: HBoxContainer +var select_button: Button +var add_button: Button +var active_button_stylebox: StyleBoxFlat +var grid_sizes = [0.01, 0.1, 0.25, 0.5, 0.75, 1, 2, 5, 10] + +func _init(p_plugin: EditorPlugin) -> void: + plugin = p_plugin + +func _ready() -> void: + _configure_style() + _create_containers() + _create_active_button_style() + _create_all_buttons() + +func _create_all_buttons() -> void: + disable_button = _create_mode_button("Disable", "GuiClose", "_on_disable_pressed") + select_button = _create_mode_button("Select Edge", "ToolSelect", "_on_select_button_pressed") + add_button = _create_mode_button("Add Primitive", "Add", "_on_add_button_pressed") + _create_button("Reset Grid", "Reload", "_on_reset_button_pressed") + _create_grid_size_selector() + merge_button = _create_button("Merge Mesh", "BoxMesh", "_on_merge_mesh_pressed") + edit_button = _create_button("Edit Mesh", "Edit", "_on_edit_pressed") + tooltip_button = _create_button("", "Help", "pass") + +func _configure_style() -> void: + var stylebox = StyleBoxFlat.new() + stylebox.bg_color = Color(0.211, 0.239, 0.290) + stylebox.set_corner_radius_all(20) + add_theme_stylebox_override("panel", stylebox) + + add_theme_constant_override("margin_left", 20) + add_theme_constant_override("margin_right", 20) + add_theme_constant_override("margin_top", 10) + add_theme_constant_override("margin_bottom", 10) + +func _create_containers() -> void: + var margin_container = MarginContainer.new() + margin_container.add_theme_constant_override("margin_left", 6) + margin_container.add_theme_constant_override("margin_right", 6) + margin_container.add_theme_constant_override("margin_top", 6) + margin_container.add_theme_constant_override("margin_bottom", 6) + add_child(margin_container) + + toolbar_buttons = HBoxContainer.new() + toolbar_buttons.alignment = BoxContainer.ALIGNMENT_CENTER + toolbar_buttons.add_theme_constant_override("separation", 8) + margin_container.add_child(toolbar_buttons) + +func _create_active_button_style() -> void: + active_button_stylebox = _create_button_stylebox() + active_button_stylebox.bg_color = Color(0.3, 0.5, 0.7) + active_button_stylebox.border_color = Color.WHITE + +func _create_buttons() -> void: + disable_button = _create_mode_button("Disable", "GuiVisibilityHidden", "_on_disable_pressed") + select_button = _create_mode_button("Select Edge", "ToolSelect", "_on_select_button_pressed") + add_button = _create_mode_button("Add Primitive", "Add", "_on_add_button_pressed") + _create_button("Reset Grid", "Reload", "_on_reset_button_pressed") + +func set_edit_button_enabled(enabled: bool) -> void: + if edit_button: + edit_button.disabled = not enabled + +func set_merge_button_enabled(enabled: bool) -> void: + if merge_button: + merge_button.disabled = not enabled + +func set_select_button_enabled(enabled: bool) -> void: + if select_button: + select_button.disabled = not enabled + +func update_button_states(is_merged: bool) -> void: + + if select_button: + select_button.visible = !is_merged + if add_button: + add_button.visible = !is_merged + if merge_button: + merge_button.visible = !is_merged + if edit_button: + edit_button.visible = is_merged + + if add_button: + add_button.queue_redraw() + if merge_button: + merge_button.queue_redraw() + if edit_button: + edit_button.queue_redraw() + + toolbar_buttons.custom_minimum_size = Vector2.ZERO + toolbar_buttons.reset_size() + custom_minimum_size = Vector2.ZERO + reset_size() + + var viewport_base = get_parent() + if viewport_base: + position.x = (viewport_base.size.x - size.x) * 0.5 + +func _create_mode_button(text: String, icon_name: String, callback: String) -> Button: + var button = Button.new() + button.text = text + button.toggle_mode = true + button.icon = plugin.get_editor_interface().get_base_control().get_theme_icon(icon_name, "EditorIcons") + button.connect("pressed", Callable(self, callback)) + + var normal_style = _create_button_stylebox() + var hover_style = _create_button_stylebox(true) + + button.tooltip_text = _get_tooltip_text(button.text) + button.add_theme_stylebox_override("normal", normal_style) + button.add_theme_stylebox_override("hover", hover_style) + button.add_theme_stylebox_override("pressed", active_button_stylebox) + button.add_theme_stylebox_override("disabled", normal_style) + button.add_theme_stylebox_override("focus", normal_style) + + toolbar_buttons.add_child(button) + return button + +func _create_button(text: String, icon_name: String, callback: String) -> Button: + var button = Button.new() + button.text = text + button.icon = plugin.get_editor_interface().get_base_control().get_theme_icon(icon_name, "EditorIcons") + button.connect("pressed", Callable(self, callback)) + + var normal_style = _create_button_stylebox() + var hover_style = _create_button_stylebox(true) + + button.tooltip_text = _get_tooltip_text(button.text) + button.add_theme_stylebox_override("normal", normal_style) + button.add_theme_stylebox_override("hover", hover_style) + button.add_theme_stylebox_override("pressed", hover_style) + button.add_theme_stylebox_override("disabled", normal_style) + button.add_theme_stylebox_override("focus", normal_style) + + toolbar_buttons.add_child(button) + return button + +func _create_button_stylebox(is_hover: bool = false) -> StyleBoxFlat: + var stylebox = StyleBoxFlat.new() + stylebox.bg_color = Color(0.15, 0.17, 0.20) if not is_hover else Color(0.25, 0.27, 0.30) + stylebox.set_corner_radius_all(20) + + stylebox.content_margin_left = 8 + stylebox.content_margin_right = 8 + stylebox.content_margin_top = 4 + stylebox.content_margin_bottom = 4 + + stylebox.border_width_bottom = 0 + stylebox.border_width_left = 0 + stylebox.border_width_right = 0 + stylebox.border_width_top = 0 + + return stylebox + +func _create_grid_size_selector() -> void: + var grid_size_button = OptionButton.new() + grid_size_button.name = "Grid Size" + + grid_size_button.add_item("0.01", 0) + grid_size_button.add_item("0.1", 1) + grid_size_button.add_item("0.25", 2) + grid_size_button.add_item("0.5", 3) + grid_size_button.add_item("0.75", 4) + grid_size_button.add_item("1", 5) + grid_size_button.add_item("2", 6) + grid_size_button.add_item("5", 7) + grid_size_button.add_item("10", 8) + + grid_size_button.select(5) + + grid_size_button.connect("item_selected", Callable(self, "_on_grid_size_selected")) + grid_size_button.add_theme_stylebox_override("normal", _create_button_stylebox()) + grid_size_button.add_theme_stylebox_override("hover", _create_button_stylebox(true)) + + toolbar_buttons.add_child(grid_size_button) + +func set_active_mode(mode: int) -> void: + disable_button.button_pressed = (mode == 0) # DISABLE mode + select_button.button_pressed = (mode == 1) # SELECT mode + add_button.button_pressed = (mode == 2) # ADD mode + +func connect_to_grid(grid: CubeGrid3D) -> void: + var grid_size_button = toolbar_buttons.get_node("Grid Size") as OptionButton + if not grid_size_button: + return + + var grid_sizes = [0.01, 0.1, 0.25, 0.5, 0.75, 1, 2, 5, 10] + var index = grid_sizes.find(grid.grid_scale) + if index != -1: + grid_size_button.select(index) + +func _on_grid_created(initial_scale: float) -> void: + var grid_size_button = toolbar_buttons.get_node("Grid Size") as OptionButton + if not grid_size_button: + return + + var index = grid_sizes.find(initial_scale) + if index != -1: + grid_size_button.select(index) + +func _on_disable_pressed() -> void: + emit_signal("disable_button_pressed") + +func _on_select_button_pressed() -> void: + emit_signal("select_button_pressed") + +func _on_add_button_pressed() -> void: + emit_signal("add_button_pressed") + +func _on_remove_button_pressed() -> void: + emit_signal("remove_button_pressed") + +func _on_grid_size_selected(index: int) -> void: + var selected_size = grid_sizes[index] + emit_signal("grid_size_changed", selected_size) + +func _on_reset_button_pressed() -> void: + emit_signal("reset_grid_pressed") + +func _on_merge_mesh_pressed() -> void: + emit_signal("merge_mesh") + +func _on_edit_pressed() -> void: + update_button_states(false) + emit_signal("edit_mesh") + +func _get_tooltip_text(button_name: String) -> String: + match button_name: + "Disable": + return "Disable\n Disables mouse input for Constructor." + "Select Edge": + return "Select Edge\n Allows you to select an edge to move it." + "Add Primitive": + return "Add Primitive\n Allows you to add or remove a box by drawing a rectangle and extruding it." + "Reset Grid": + return "Reset\n Resets the grid to its original state." + "Grid Size": + return "Grid Size\n Sets the size of the grid." + "Merge Mesh": + return "Merge Mesh\n Merges all the cubes into a single MeshInstance3D." + "Edit Mesh": + return "Edit Mesh\n Breaks the mesh into its original cubes." + "": + return """Box Constructor Help: + + Keyboard Shortcuts: + - Press X to move the drawing plane. + - Press Z key to reset the drawing plane. + - Middle mouse will cancel the current operation for extrudsion and drawing. + + Tips: + - You can use the edge select to move edges, but only use them to create ramps + (Creating other shapes may result in CSG operations not working correctly). + - The drawing does not work on slanted surfaces, only flat surfaces. + """ + _: + return "" diff --git a/source/addons/boxconstructor/scripts/toolbar.gd.uid b/source/addons/boxconstructor/scripts/toolbar.gd.uid new file mode 100644 index 0000000..016ba37 --- /dev/null +++ b/source/addons/boxconstructor/scripts/toolbar.gd.uid @@ -0,0 +1 @@ +uid://coo1do7f6lmce diff --git a/source/addons/boxconstructor/textures/cube_grid.tres b/source/addons/boxconstructor/textures/cube_grid.tres new file mode 100644 index 0000000..3b87ddc --- /dev/null +++ b/source/addons/boxconstructor/textures/cube_grid.tres @@ -0,0 +1,9 @@ +[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://iwvr14kdcfog"] + +[ext_resource type="Shader" uid="uid://qnh11q0505w1" path="res://addons/qb2/textures/grid_shader.gdshader" id="1_uxs6n"] + +[resource] +render_priority = 0 +shader = ExtResource("1_uxs6n") +shader_parameter/grid_scale = 5.0 +shader_parameter/camera_distance = 0.0 diff --git a/source/addons/boxconstructor/textures/grid_shader.gdshader b/source/addons/boxconstructor/textures/grid_shader.gdshader new file mode 100644 index 0000000..d625618 --- /dev/null +++ b/source/addons/boxconstructor/textures/grid_shader.gdshader @@ -0,0 +1,23 @@ +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_burley; + +uniform float grid_scale = 0.1; + +void fragment() { + vec2 world_uv = UV * 4000.0; + + vec2 scaled_uv = world_uv / grid_scale; + + vec2 grid = abs(fract(scaled_uv - 0.5) - 0.5); + vec2 grid_width = fwidth(scaled_uv) * 1.0; + vec2 grid_lines = smoothstep(vec2(0.0), grid_width, grid); + float line = min(grid_lines.x, grid_lines.y); + + if (line < 0.5) { + ALBEDO = vec3(0.4); + ALPHA = 0.8; + } else { + ALBEDO = vec3(0.15); + ALPHA = 0.1; + } +} \ No newline at end of file diff --git a/source/addons/boxconstructor/textures/grid_shader.gdshader.uid b/source/addons/boxconstructor/textures/grid_shader.gdshader.uid new file mode 100644 index 0000000..e9182bd --- /dev/null +++ b/source/addons/boxconstructor/textures/grid_shader.gdshader.uid @@ -0,0 +1 @@ +uid://qnh11q0505w1 diff --git a/source/addons/controller_icons/ControllerIcons.gd b/source/addons/controller_icons/ControllerIcons.gd new file mode 100644 index 0000000..aac44a5 --- /dev/null +++ b/source/addons/controller_icons/ControllerIcons.gd @@ -0,0 +1,697 @@ +@tool +extends Node + +signal input_type_changed(input_type: InputType, controller: int) + +enum InputType { + KEYBOARD_MOUSE, ## The input is from the keyboard and/or mouse. + CONTROLLER ## The input is from a controller. +} + +enum PathType { + INPUT_ACTION, ## The path is an input action. + JOYPAD_PATH, ## The path is a generic joypad path. + SPECIFIC_PATH ## The path is a specific path. +} + +var _cached_icons := {} +var _custom_input_actions := {} + +var _cached_callables_lock := Mutex.new() +var _cached_callables : Array[Callable] = [] + +var _last_input_type : InputType +var _last_controller : int +var _settings : ControllerSettings +var _base_extension := "png" + +# Custom mouse velocity calculation, because Godot +# doesn't implement it on some OSes apparently +const _MOUSE_VELOCITY_DELTA := 0.1 +var _t : float +var _mouse_velocity : int + +var Mapper = preload("res://addons/controller_icons/Mapper.gd").new() + +# Default actions will be the builtin editor actions when +# the script is at editor ("tool") level. To pickup more +# actions available, these have to be queried manually +var _builtin_keys := [ + "input/ui_accept", "input/ui_cancel", "input/ui_copy", + "input/ui_cut", "input/ui_down", "input/ui_end", + "input/ui_filedialog_refresh", "input/ui_filedialog_show_hidden", + "input/ui_filedialog_up_one_level", "input/ui_focus_next", + "input/ui_focus_prev", "input/ui_graph_delete", + "input/ui_graph_duplicate", "input/ui_home", + "input/ui_left", "input/ui_menu", "input/ui_page_down", + "input/ui_page_up", "input/ui_paste", "input/ui_redo", + "input/ui_right", "input/ui_select", "input/ui_swap_input_direction", + "input/ui_text_add_selection_for_next_occurrence", + "input/ui_text_backspace", "input/ui_text_backspace_all_to_left", + "input/ui_text_backspace_all_to_left.macos", + "input/ui_text_backspace_word", "input/ui_text_backspace_word.macos", + "input/ui_text_caret_add_above", "input/ui_text_caret_add_above.macos", + "input/ui_text_caret_add_below", "input/ui_text_caret_add_below.macos", + "input/ui_text_caret_document_end", "input/ui_text_caret_document_end.macos", + "input/ui_text_caret_document_start", "input/ui_text_caret_document_start.macos", + "input/ui_text_caret_down", "input/ui_text_caret_left", + "input/ui_text_caret_line_end", "input/ui_text_caret_line_end.macos", + "input/ui_text_caret_line_start", "input/ui_text_caret_line_start.macos", + "input/ui_text_caret_page_down", "input/ui_text_caret_page_up", + "input/ui_text_caret_right", "input/ui_text_caret_up", + "input/ui_text_caret_word_left", "input/ui_text_caret_word_left.macos", + "input/ui_text_caret_word_right", "input/ui_text_caret_word_right.macos", + "input/ui_text_clear_carets_and_selection", "input/ui_text_completion_accept", + "input/ui_text_completion_query", "input/ui_text_completion_replace", + "input/ui_text_dedent", "input/ui_text_delete", + "input/ui_text_delete_all_to_right", "input/ui_text_delete_all_to_right.macos", + "input/ui_text_delete_word", "input/ui_text_delete_word.macos", + "input/ui_text_indent", "input/ui_text_newline", "input/ui_text_newline_above", + "input/ui_text_newline_blank", "input/ui_text_scroll_down", + "input/ui_text_scroll_down.macos", "input/ui_text_scroll_up", + "input/ui_text_scroll_up.macos", "input/ui_text_select_all", + "input/ui_text_select_word_under_caret", "input/ui_text_select_word_under_caret.macos", + "input/ui_text_submit", "input/ui_text_toggle_insert_mode", "input/ui_undo", + "input/ui_up", +] + +func _set_last_input_type(__last_input_type, __last_controller): + _last_input_type = __last_input_type + _last_controller = __last_controller + emit_signal("input_type_changed", _last_input_type, _last_controller) + +func _enter_tree(): + process_mode = Node.PROCESS_MODE_ALWAYS + if Engine.is_editor_hint(): + _parse_input_actions() + +func _exit_tree(): + Mapper.queue_free() + +func _parse_input_actions(): + _custom_input_actions.clear() + + for key in _builtin_keys: + var data : Dictionary = ProjectSettings.get_setting(key) + if not data.is_empty() and data.has("events") and data["events"] is Array: + _add_custom_input_action((key as String).trim_prefix("input/"), data) + + # A script running at editor ("tool") level only has + # the default mappings. The way to get around this is + # manually parsing the project file and adding the + # new input actions to lookup. + var proj_file := ConfigFile.new() + if proj_file.load("res://project.godot"): + printerr("Failed to open \"project.godot\"! Custom input actions will not work on editor view!") + return + if proj_file.has_section("input"): + for input_action in proj_file.get_section_keys("input"): + var data : Dictionary = proj_file.get_value("input", input_action) + _add_custom_input_action(input_action, data) + +func _ready(): + Input.joy_connection_changed.connect(_on_joy_connection_changed) + _settings = load("res://addons/controller_icons/settings.tres") + if not _settings: + _settings = ControllerSettings.new() + if _settings.custom_mapper: + Mapper = _settings.custom_mapper.new() + if _settings.custom_file_extension and not _settings.custom_file_extension.is_empty(): + _base_extension = _settings.custom_file_extension + # Wait a frame to give a chance for the app to initialize + await get_tree().process_frame + # Set input type to what's likely being used currently + if Input.get_connected_joypads().is_empty(): + _set_last_input_type(InputType.KEYBOARD_MOUSE, -1) + else: + _set_last_input_type(InputType.CONTROLLER, Input.get_connected_joypads().front()) + +func _on_joy_connection_changed(device, connected): + if connected: + _set_last_input_type(InputType.CONTROLLER, device) + else: + if Input.get_connected_joypads().is_empty(): + _set_last_input_type(InputType.KEYBOARD_MOUSE, -1) + else: + _set_last_input_type(InputType.CONTROLLER, Input.get_connected_joypads().front()) + +func _input(event: InputEvent): + var input_type = _last_input_type + var controller = _last_controller + match event.get_class(): + "InputEventKey", "InputEventMouseButton": + input_type = InputType.KEYBOARD_MOUSE + "InputEventMouseMotion": + if _settings.allow_mouse_remap and _test_mouse_velocity(event.relative): + input_type = InputType.KEYBOARD_MOUSE + "InputEventJoypadButton": + input_type = InputType.CONTROLLER + controller = event.device + "InputEventJoypadMotion": + if abs(event.axis_value) > _settings.joypad_deadzone: + input_type = InputType.CONTROLLER + controller = event.device + if input_type != _last_input_type or controller != _last_controller: + _set_last_input_type(input_type, controller) + +func _test_mouse_velocity(relative_vec: Vector2): + if _t > _MOUSE_VELOCITY_DELTA: + _t = 0 + _mouse_velocity = 0 + + # We do a component sum instead of a length, to save on a + # sqrt operation, and because length_squared is negatively + # affected by low value vectors (<10). + # It is also good enough for this system, so reliability + # is sacrificed in favor of speed. + _mouse_velocity += abs(relative_vec.x) + abs(relative_vec.y) + return _mouse_velocity / _MOUSE_VELOCITY_DELTA > _settings.mouse_min_movement + +func _process(delta: float) -> void: + _t += delta + + if not _cached_callables.is_empty() and _cached_callables_lock.try_lock(): + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for f: Callable in _cached_callables: + for f in _cached_callables: + if f.is_valid(): f.call() + _cached_callables.clear() + _cached_callables_lock.unlock() + +func _add_custom_input_action(input_action: String, data: Dictionary): + _custom_input_actions[input_action] = data["events"] + +func refresh(): + # All it takes is to signal icons to refresh paths + emit_signal("input_type_changed", _last_input_type, _last_controller) + +func get_joypad_type(controller: int = _last_controller) -> ControllerSettings.Devices: + return Mapper._get_joypad_type(controller, _settings.joypad_fallback) + +func parse_path(path: String, input_type = _last_input_type, last_controller = _last_controller) -> Texture: + if typeof(input_type) == TYPE_NIL: + return null + var root_paths := _expand_path(path, input_type, last_controller) + for root_path in root_paths: + if _load_icon(root_path): + continue + return _cached_icons[root_path] + return null + +func parse_event_modifiers(event: InputEvent) -> Array[Texture]: + if not event or not event is InputEventWithModifiers: + return [] + + var icons : Array[Texture] = [] + var modifiers : Array[String] = [] + if event.command_or_control_autoremap: + match OS.get_name(): + "macOS": + modifiers.push_back("key/command") + _: + modifiers.push_back("key/ctrl") + if event.ctrl_pressed and not event.command_or_control_autoremap: + modifiers.push_back("key/ctrl") + if event.shift_pressed: + modifiers.push_back("key/shift") + if event.alt_pressed: + modifiers.push_back("key/alt") + if event.meta_pressed and not event.command_or_control_autoremap: + match OS.get_name(): + "macOS": + modifiers.push_back("key/command") + _: + modifiers.push_back("key/win") + + for modifier in modifiers: + for icon_path in _expand_path(modifier, InputType.KEYBOARD_MOUSE, -1): + if _load_icon(icon_path) == OK: + icons.push_back(_cached_icons[icon_path]) + + return icons + +func parse_path_to_tts(path: String, input_type: int = _last_input_type, controller: int = _last_controller) -> String: + if input_type == null: + return "" + var tts = _convert_path_to_asset_file(path, input_type, controller) + return _convert_asset_file_to_tts(tts.get_basename().get_file()) + +func parse_event(event: InputEvent) -> Texture: + var path = _convert_event_to_path(event) + if path.is_empty(): + return null + + var base_paths := [ + _settings.custom_asset_dir + "/", + "res://addons/controller_icons/assets/" + ] + for base_path in base_paths: + if base_path.is_empty(): + continue + base_path += path + "." + _base_extension + if _load_icon(base_path): + continue + return _cached_icons[base_path] + return null + +func get_path_type(path: String) -> PathType: + if _custom_input_actions.has(path) or InputMap.has_action(path): + return PathType.INPUT_ACTION + elif path.get_slice("/", 0) == "joypad": + return PathType.JOYPAD_PATH + else: + return PathType.SPECIFIC_PATH + +func get_matching_event(path: String, input_type: InputType = _last_input_type, controller: int = _last_controller) -> InputEvent: + var events : Array + if _custom_input_actions.has(path): + events = _custom_input_actions[path] + else: + events = InputMap.action_get_events(path) + + var fallback = null + for event in events: + if not is_instance_valid(event): continue + + match event.get_class(): + "InputEventKey", "InputEventMouse", "InputEventMouseMotion", "InputEventMouseButton": + if input_type == InputType.KEYBOARD_MOUSE: + return event + "InputEventJoypadButton", "InputEventJoypadMotion": + if input_type == InputType.CONTROLLER: + # Use the first device specific mapping if there is one. + if event.device == controller: + return event + # Otherwise use the first "all devices" mapping. + elif fallback == null and event.device < 0: + fallback = event + + return fallback + +func _expand_path(path: String, input_type: int, controller: int) -> Array: + var paths := [] + var base_paths := [ + _settings.custom_asset_dir + "/", + "res://addons/controller_icons/assets/" + ] + for base_path in base_paths: + if base_path.is_empty(): + continue + base_path += _convert_path_to_asset_file(path, input_type, controller) + + paths.push_back(base_path + "." + _base_extension) + return paths + +func _convert_path_to_asset_file(path: String, input_type: int, controller: int) -> String: + match get_path_type(path): + PathType.INPUT_ACTION: + var event := get_matching_event(path, input_type, controller) + if event: + return _convert_event_to_path(event) + return path + PathType.JOYPAD_PATH: + return Mapper._convert_joypad_path(path, controller, _settings.joypad_fallback) + PathType.SPECIFIC_PATH, _: + return path + +func _convert_asset_file_to_tts(path: String) -> String: + match path: + "shift_alt": + return "shift" + "esc": + return "escape" + "backspace_alt": + return "backspace" + "enter_alt": + return "enter" + "enter_tall": + return "keypad enter" + "arrow_left": + return "left arrow" + "arrow_right": + return "right arrow" + "del": + return "delete" + "arrow_up": + return "up arrow" + "arrow_down": + return "down arrow" + "shift_alt": + return "shift" + "ctrl": + return "control" + "kp_add": + return "keypad plus" + "mark_left": + return "left mark" + "mark_right": + return "right mark" + "bracket_left": + return "left bracket" + "bracket_right": + return "right bracket" + "tilda": + return "tilde" + "lb": + return "left bumper" + "rb": + return "right bumper" + "lt": + return "left trigger" + "rt": + return "right trigger" + "l_stick_click": + return "left stick click" + "r_stick_click": + return "right stick click" + "l_stick": + return "left stick" + "r_stick": + return "right stick" + _: + return path + +func _convert_event_to_path(event: InputEvent): + if event is InputEventKey: + # If this is a physical key, convert to localized scancode + if event.keycode == 0: + return _convert_key_to_path(DisplayServer.keyboard_get_keycode_from_physical(event.physical_keycode)) + return _convert_key_to_path(event.keycode) + elif event is InputEventMouseButton: + return _convert_mouse_button_to_path(event.button_index) + elif event is InputEventJoypadButton: + return _convert_joypad_button_to_path(event.button_index, event.device) + elif event is InputEventJoypadMotion: + return _convert_joypad_motion_to_path(event.axis, event.device) + +func _convert_key_to_path(scancode: int): + match scancode: + KEY_ESCAPE: + return "key/esc" + KEY_TAB: + return "key/tab" + KEY_BACKSPACE: + return "key/backspace_alt" + KEY_ENTER: + return "key/enter_alt" + KEY_KP_ENTER: + return "key/enter_tall" + KEY_INSERT: + return "key/insert" + KEY_DELETE: + return "key/del" + KEY_PRINT: + return "key/print_screen" + KEY_HOME: + return "key/home" + KEY_END: + return "key/end" + KEY_LEFT: + return "key/arrow_left" + KEY_UP: + return "key/arrow_up" + KEY_RIGHT: + return "key/arrow_right" + KEY_DOWN: + return "key/arrow_down" + KEY_PAGEUP: + return "key/page_up" + KEY_PAGEDOWN: + return "key/page_down" + KEY_SHIFT: + return "key/shift_alt" + KEY_CTRL: + return "key/ctrl" + KEY_META: + match OS.get_name(): + "macOS": + return "key/command" + _: + return "key/meta" + KEY_ALT: + return "key/alt" + KEY_CAPSLOCK: + return "key/caps_lock" + KEY_NUMLOCK: + return "key/num_lock" + KEY_F1: + return "key/f1" + KEY_F2: + return "key/f2" + KEY_F3: + return "key/f3" + KEY_F4: + return "key/f4" + KEY_F5: + return "key/f5" + KEY_F6: + return "key/f6" + KEY_F7: + return "key/f7" + KEY_F8: + return "key/f8" + KEY_F9: + return "key/f9" + KEY_F10: + return "key/f10" + KEY_F11: + return "key/f11" + KEY_F12: + return "key/f12" + KEY_KP_MULTIPLY, KEY_ASTERISK: + return "key/asterisk" + KEY_KP_SUBTRACT, KEY_MINUS: + return "key/minus" + KEY_KP_ADD: + return "key/plus_tall" + KEY_KP_0: + return "key/0" + KEY_KP_1: + return "key/1" + KEY_KP_2: + return "key/2" + KEY_KP_3: + return "key/3" + KEY_KP_4: + return "key/4" + KEY_KP_5: + return "key/5" + KEY_KP_6: + return "key/6" + KEY_KP_7: + return "key/7" + KEY_KP_8: + return "key/8" + KEY_KP_9: + return "key/9" + KEY_UNKNOWN: + return "" + KEY_SPACE: + return "key/space" + KEY_QUOTEDBL: + return "key/quote" + KEY_PLUS: + return "key/plus" + KEY_0: + return "key/0" + KEY_1: + return "key/1" + KEY_2: + return "key/2" + KEY_3: + return "key/3" + KEY_4: + return "key/4" + KEY_5: + return "key/5" + KEY_6: + return "key/6" + KEY_7: + return "key/7" + KEY_8: + return "key/8" + KEY_9: + return "key/9" + KEY_SEMICOLON: + return "key/semicolon" + KEY_LESS: + return "key/mark_left" + KEY_GREATER: + return "key/mark_right" + KEY_QUESTION: + return "key/question" + KEY_A: + return "key/a" + KEY_B: + return "key/b" + KEY_C: + return "key/c" + KEY_D: + return "key/d" + KEY_E: + return "key/e" + KEY_F: + return "key/f" + KEY_G: + return "key/g" + KEY_H: + return "key/h" + KEY_I: + return "key/i" + KEY_J: + return "key/j" + KEY_K: + return "key/k" + KEY_L: + return "key/l" + KEY_M: + return "key/m" + KEY_N: + return "key/n" + KEY_O: + return "key/o" + KEY_P: + return "key/p" + KEY_Q: + return "key/q" + KEY_R: + return "key/r" + KEY_S: + return "key/s" + KEY_T: + return "key/t" + KEY_U: + return "key/u" + KEY_V: + return "key/v" + KEY_W: + return "key/w" + KEY_X: + return "key/x" + KEY_Y: + return "key/y" + KEY_Z: + return "key/z" + KEY_BRACKETLEFT: + return "key/bracket_left" + KEY_BACKSLASH: + return "key/slash" + KEY_SLASH: + return "key/forward_slash" + KEY_BRACKETRIGHT: + return "key/bracket_right" + KEY_ASCIITILDE: + return "key/tilda" + KEY_QUOTELEFT: + return "key/backtick" + KEY_APOSTROPHE: + return "key/apostrophe" + KEY_COMMA: + return "key/comma" + KEY_EQUAL: + return "key/equals" + KEY_PERIOD, KEY_KP_PERIOD: + return "key/period" + _: + return "" + +func _convert_mouse_button_to_path(button_index: int): + match button_index: + MOUSE_BUTTON_LEFT: + return "mouse/left" + MOUSE_BUTTON_RIGHT: + return "mouse/right" + MOUSE_BUTTON_MIDDLE: + return "mouse/middle" + MOUSE_BUTTON_WHEEL_UP: + return "mouse/wheel_up" + MOUSE_BUTTON_WHEEL_DOWN: + return "mouse/wheel_down" + MOUSE_BUTTON_XBUTTON1: + return "mouse/side_down" + MOUSE_BUTTON_XBUTTON2: + return "mouse/side_up" + _: + return "mouse/sample" + +func _convert_joypad_button_to_path(button_index: int, controller: int): + var path + match button_index: + JOY_BUTTON_A: + path = "joypad/a" + JOY_BUTTON_B: + path = "joypad/b" + JOY_BUTTON_X: + path = "joypad/x" + JOY_BUTTON_Y: + path = "joypad/y" + JOY_BUTTON_LEFT_SHOULDER: + path = "joypad/lb" + JOY_BUTTON_RIGHT_SHOULDER: + path = "joypad/rb" + JOY_BUTTON_LEFT_STICK: + path = "joypad/l_stick_click" + JOY_BUTTON_RIGHT_STICK: + path = "joypad/r_stick_click" + JOY_BUTTON_BACK: + path = "joypad/select" + JOY_BUTTON_START: + path = "joypad/start" + JOY_BUTTON_DPAD_UP: + path = "joypad/dpad_up" + JOY_BUTTON_DPAD_DOWN: + path = "joypad/dpad_down" + JOY_BUTTON_DPAD_LEFT: + path = "joypad/dpad_left" + JOY_BUTTON_DPAD_RIGHT: + path = "joypad/dpad_right" + JOY_BUTTON_GUIDE: + path = "joypad/home" + JOY_BUTTON_MISC1: + path = "joypad/share" + _: + return "" + return Mapper._convert_joypad_path(path, controller, _settings.joypad_fallback) + +func _convert_joypad_motion_to_path(axis: int, controller: int): + var path : String + match axis: + JOY_AXIS_LEFT_X, JOY_AXIS_LEFT_Y: + path = "joypad/l_stick" + JOY_AXIS_RIGHT_X, JOY_AXIS_RIGHT_Y: + path = "joypad/r_stick" + JOY_AXIS_TRIGGER_LEFT: + path = "joypad/lt" + JOY_AXIS_TRIGGER_RIGHT: + path = "joypad/rt" + _: + return "" + return Mapper._convert_joypad_path(path, controller, _settings.joypad_fallback) + +func _load_icon(path: String) -> int: + if _cached_icons.has(path): return OK + var tex = null + if path.begins_with("res://"): + if ResourceLoader.exists(path): + tex = load(path) + if not tex: + return ERR_FILE_CORRUPT + else: + return ERR_FILE_NOT_FOUND + else: + if not FileAccess.file_exists(path): + return ERR_FILE_NOT_FOUND + var img := Image.new() + var err = img.load(path) + if err != OK: + return err + tex = ImageTexture.new() + tex.create_from_image(img) + _cached_icons[path] = tex + return OK + +func _defer_texture_load(f: Callable) -> void: + _cached_callables_lock.lock() + _cached_callables.push_back(f) + _cached_callables_lock.unlock() diff --git a/source/addons/controller_icons/ControllerIcons.gd.uid b/source/addons/controller_icons/ControllerIcons.gd.uid new file mode 100644 index 0000000..a66494e --- /dev/null +++ b/source/addons/controller_icons/ControllerIcons.gd.uid @@ -0,0 +1 @@ +uid://ddcwjvcc65eg0 diff --git a/source/addons/controller_icons/Mapper.gd b/source/addons/controller_icons/Mapper.gd new file mode 100644 index 0000000..25d597a --- /dev/null +++ b/source/addons/controller_icons/Mapper.gd @@ -0,0 +1,299 @@ +extends Node +class_name ControllerMapper + +func _convert_joypad_path(path: String, device: int, fallback: ControllerSettings.Devices) -> String: + match _get_joypad_type(device, fallback): + ControllerSettings.Devices.LUNA: + return _convert_joypad_to_luna(path) + ControllerSettings.Devices.PS3: + return _convert_joypad_to_ps3(path) + ControllerSettings.Devices.PS4: + return _convert_joypad_to_ps4(path) + ControllerSettings.Devices.PS5: + return _convert_joypad_to_ps5(path) + ControllerSettings.Devices.STADIA: + return _convert_joypad_to_stadia(path) + ControllerSettings.Devices.STEAM: + return _convert_joypad_to_steam(path) + ControllerSettings.Devices.SWITCH: + return _convert_joypad_to_switch(path) + ControllerSettings.Devices.JOYCON: + return _convert_joypad_to_joycon(path) + ControllerSettings.Devices.XBOX360: + return _convert_joypad_to_xbox360(path) + ControllerSettings.Devices.XBOXONE: + return _convert_joypad_to_xboxone(path) + ControllerSettings.Devices.XBOXSERIES: + return _convert_joypad_to_xboxseries(path) + ControllerSettings.Devices.STEAM_DECK: + return _convert_joypad_to_steamdeck(path) + ControllerSettings.Devices.OUYA: + return _convert_joypad_to_ouya(path) + _: + return "" + +func _get_joypad_type(device, fallback): + var available = Input.get_connected_joypads() + if available.is_empty(): + return fallback + # If the requested joypad is not on the connected joypad list, try using the last known connected joypad + if not device in available: + device = ControllerIcons._last_controller + # If that fails too, then use whatever joypad we have connected right now + if not device in available: + device = available.front() + + var controller_name = Input.get_joy_name(device) + if "Luna Controller" in controller_name: + return ControllerSettings.Devices.LUNA + elif "PS3 Controller" in controller_name: + return ControllerSettings.Devices.PS3 + elif "PS4 Controller" in controller_name or \ + "DUALSHOCK 4" in controller_name: + return ControllerSettings.Devices.PS4 + elif "PS5 Controller" in controller_name or \ + "DualSense" in controller_name: + return ControllerSettings.Devices.PS5 + elif "Stadia Controller" in controller_name: + return ControllerSettings.Devices.STADIA + elif "Steam Controller" in controller_name: + return ControllerSettings.Devices.STEAM + elif "Switch Controller" in controller_name or \ + "Switch Pro Controller" in controller_name: + return ControllerSettings.Devices.SWITCH + elif "Joy-Con" in controller_name: + return ControllerSettings.Devices.JOYCON + elif "Xbox 360 Controller" in controller_name: + return ControllerSettings.Devices.XBOX360 + elif "Xbox One" in controller_name or \ + "X-Box One" in controller_name or \ + "Xbox Wireless Controller" in controller_name: + return ControllerSettings.Devices.XBOXONE + elif "Xbox Series" in controller_name: + return ControllerSettings.Devices.XBOXSERIES + elif "Steam Deck" in controller_name or \ + "Steam Virtual Gamepad" in controller_name: + return ControllerSettings.Devices.STEAM_DECK + elif "OUYA Controller" in controller_name: + return ControllerSettings.Devices.OUYA + else: + return fallback + +func _convert_joypad_to_luna(path: String): + path = path.replace("joypad", "luna") + match path.substr(path.find("/") + 1): + "select": + return path.replace("/select", "/circle") + "start": + return path.replace("/start", "/menu") + "share": + return path.replace("/share", "/microphone") + _: + return path + +func _convert_joypad_to_playstation(path: String): + match path.substr(path.find("/") + 1): + "a": + return path.replace("/a", "/cross") + "b": + return path.replace("/b", "/circle") + "x": + return path.replace("/x", "/square") + "y": + return path.replace("/y", "/triangle") + "lb": + return path.replace("/lb", "/l1") + "rb": + return path.replace("/rb", "/r1") + "lt": + return path.replace("/lt", "/l2") + "rt": + return path.replace("/rt", "/r2") + _: + return path + +func _convert_joypad_to_ps3(path: String): + return _convert_joypad_to_playstation(path.replace("joypad", "ps3")) + +func _convert_joypad_to_ps4(path: String): + path = _convert_joypad_to_playstation(path.replace("joypad", "ps4")) + match path.substr(path.find("/") + 1): + "select": + return path.replace("/select", "/share") + "start": + return path.replace("/start", "/options") + "share": + return path.replace("/share", "/") + _: + return path + +func _convert_joypad_to_ps5(path: String): + path = _convert_joypad_to_playstation(path.replace("joypad", "ps5")) + match path.substr(path.find("/") + 1): + "select": + return path.replace("/select", "/share") + "start": + return path.replace("/start", "/options") + "home": + return path.replace("/home", "/assistant") + "share": + return path.replace("/share", "/microphone") + _: + return path + +func _convert_joypad_to_stadia(path: String): + path = path.replace("joypad", "stadia") + match path.substr(path.find("/") + 1): + "lb": + return path.replace("/lb", "/l1") + "rb": + return path.replace("/rb", "/r1") + "lt": + return path.replace("/lt", "/l2") + "rt": + return path.replace("/rt", "/r2") + "select": + return path.replace("/select", "/dots") + "start": + return path.replace("/start", "/menu") + "share": + return path.replace("/share", "/select") + _: + return path + +func _convert_joypad_to_steam(path: String): + path = path.replace("joypad", "steam") + match path.substr(path.find("/") + 1): + "r_stick_click": + return path.replace("/r_stick_click", "/right_track_center") + "select": + return path.replace("/select", "/back") + "home": + return path.replace("/home", "/system") + "dpad": + return path.replace("/dpad", "/left_track") + "dpad_up": + return path.replace("/dpad_up", "/left_track_up") + "dpad_down": + return path.replace("/dpad_down", "/left_track_down") + "dpad_left": + return path.replace("/dpad_left", "/left_track_left") + "dpad_right": + return path.replace("/dpad_right", "/left_track_right") + "l_stick": + return path.replace("/l_stick", "/stick") + "r_stick": + return path.replace("/r_stick", "/right_track") + _: + return path + +func _convert_joypad_to_switch(path: String): + path = path.replace("joypad", "switch") + match path.substr(path.find("/") + 1): + "a": + return path.replace("/a", "/b") + "b": + return path.replace("/b", "/a") + "x": + return path.replace("/x", "/y") + "y": + return path.replace("/y", "/x") + "lb": + return path.replace("/lb", "/l") + "rb": + return path.replace("/rb", "/r") + "lt": + return path.replace("/lt", "/zl") + "rt": + return path.replace("/rt", "/zr") + "select": + return path.replace("/select", "/minus") + "start": + return path.replace("/start", "/plus") + "share": + return path.replace("/share", "/square") + _: + return path + +func _convert_joypad_to_joycon(path: String): + path = _convert_joypad_to_switch(path) + match path.substr(path.find("/") + 1): + "dpad_up": + return path.replace("/dpad_up", "/up") + "dpad_down": + return path.replace("/dpad_down", "/down") + "dpad_left": + return path.replace("/dpad_left", "/left") + "dpad_right": + return path.replace("/dpad_right", "/right") + _: + return path + +func _convert_joypad_to_xbox360(path: String): + path = path.replace("joypad", "xbox360") + match path.substr(path.find("/") + 1): + "select": + return path.replace("/select", "/back") + _: + return path + +func _convert_joypad_to_xbox_modern(path: String): + match path.substr(path.find("/") + 1): + "select": + return path.replace("/select", "/view") + "start": + return path.replace("/start", "/menu") + _: + return path + +func _convert_joypad_to_xboxone(path: String): + return _convert_joypad_to_xbox_modern(path.replace("joypad", "xboxone")) + +func _convert_joypad_to_xboxseries(path: String): + return _convert_joypad_to_xbox_modern(path.replace("joypad", "xboxseries")) + +func _convert_joypad_to_steamdeck(path: String): + path = path.replace("joypad", "steamdeck") + match path.substr(path.find("/") + 1): + "lb": + return path.replace("/lb", "/l1") + "rb": + return path.replace("/rb", "/r1") + "lt": + return path.replace("/lt", "/l2") + "rt": + return path.replace("/rt", "/r2") + "select": + return path.replace("/select", "/square") + "start": + return path.replace("/start", "/menu") + "home": + return path.replace("/home", "/steam") + "share": + return path.replace("/share", "/dots") + _: + return path + +func _convert_joypad_to_ouya(path: String): + path = path.replace("joypad", "ouya") + match path.substr(path.find("/") + 1): + "a": + return path.replace("/a", "/o") + "x": + return path.replace("/x", "/u") + "b": + return path.replace("/b", "/a") + "lb": + return path.replace("/lb", "/l1") + "rb": + return path.replace("/rb", "/r1") + "lt": + return path.replace("/lt", "/l2") + "rt": + return path.replace("/rt", "/r2") + "start": + return path.replace("/start", "/menu") + "share": + return path.replace("/share", "/microphone") + _: + return path diff --git a/source/addons/controller_icons/Mapper.gd.uid b/source/addons/controller_icons/Mapper.gd.uid new file mode 100644 index 0000000..00d965f --- /dev/null +++ b/source/addons/controller_icons/Mapper.gd.uid @@ -0,0 +1 @@ +uid://do2cg52wwim1s diff --git a/source/addons/controller_icons/Settings.gd b/source/addons/controller_icons/Settings.gd new file mode 100644 index 0000000..7400e77 --- /dev/null +++ b/source/addons/controller_icons/Settings.gd @@ -0,0 +1,55 @@ +@tool +extends Resource +class_name ControllerSettings + +enum Devices { + LUNA, + OUYA, + PS3, + PS4, + PS5, + STADIA, + STEAM, + SWITCH, + JOYCON, + XBOX360, + XBOXONE, + XBOXSERIES, + STEAM_DECK +} + +## General addon settings +@export_subgroup("General") + +## Controller type to fallback to if automatic +## controller detection fails +@export var joypad_fallback : Devices = Devices.XBOX360 + +## Controller deadzone for triggering an icon remap when input +## is analogic (movement sticks or triggers) +@export_range(0.0, 1.0) var joypad_deadzone : float = 0.5 + +## Allow mouse movement to trigger an icon remap +@export var allow_mouse_remap : bool = true + +## Minimum mouse "instantaneous" movement for +## triggering an icon remap +@export_range(0, 10000) var mouse_min_movement : int = 200 + +## Settings related to advanced custom assets usage and remapping +@export_subgroup("Custom assets") + +## Custom asset lookup folder for custom icons +@export_dir var custom_asset_dir : String = "" + +## Custom generic joystick mapper script +@export var custom_mapper : Script + +## Custom icon file extension +@export var custom_file_extension : String = "" + +## Custom settings related to any text rendering required on prompts +@export_subgroup("Text Rendering") + +## Custom LabelSettings. If unset, uses engine default settings. +@export var custom_label_settings : LabelSettings diff --git a/source/addons/controller_icons/Settings.gd.uid b/source/addons/controller_icons/Settings.gd.uid new file mode 100644 index 0000000..2c1f23a --- /dev/null +++ b/source/addons/controller_icons/Settings.gd.uid @@ -0,0 +1 @@ +uid://dhd3vo6f4h2r diff --git a/source/addons/controller_icons/assets/disconnected.png b/source/addons/controller_icons/assets/disconnected.png new file mode 100644 index 0000000..6c93def Binary files /dev/null and b/source/addons/controller_icons/assets/disconnected.png differ diff --git a/source/addons/controller_icons/assets/disconnected.png.import b/source/addons/controller_icons/assets/disconnected.png.import new file mode 100644 index 0000000..e8880a4 --- /dev/null +++ b/source/addons/controller_icons/assets/disconnected.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5j0idk4yjkkj" +path="res://.godot/imported/disconnected.png-459773ea7f2a3f5eca9fe5104acb9105.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/disconnected.png" +dest_files=["res://.godot/imported/disconnected.png-459773ea7f2a3f5eca9fe5104acb9105.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/source/addons/controller_icons/assets/key/0.png b/source/addons/controller_icons/assets/key/0.png new file mode 100644 index 0000000..ab5408e Binary files /dev/null and b/source/addons/controller_icons/assets/key/0.png differ diff --git a/source/addons/controller_icons/assets/key/0.png.import b/source/addons/controller_icons/assets/key/0.png.import new file mode 100644 index 0000000..bd635e3 --- /dev/null +++ b/source/addons/controller_icons/assets/key/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhwug5n7wvn8b" +path="res://.godot/imported/0.png-5e4ef89ebfb88cf2281fb8519eae8326.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/0.png" +dest_files=["res://.godot/imported/0.png-5e4ef89ebfb88cf2281fb8519eae8326.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/source/addons/controller_icons/assets/key/1.png b/source/addons/controller_icons/assets/key/1.png new file mode 100644 index 0000000..d88cfd0 Binary files /dev/null and b/source/addons/controller_icons/assets/key/1.png differ diff --git a/source/addons/controller_icons/assets/key/1.png.import b/source/addons/controller_icons/assets/key/1.png.import new file mode 100644 index 0000000..5297d70 --- /dev/null +++ b/source/addons/controller_icons/assets/key/1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyvt6g1pkcqfo" +path="res://.godot/imported/1.png-5e93042ff4733b49c5848a419f211dc0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/1.png" +dest_files=["res://.godot/imported/1.png-5e93042ff4733b49c5848a419f211dc0.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/source/addons/controller_icons/assets/key/2.png b/source/addons/controller_icons/assets/key/2.png new file mode 100644 index 0000000..257a0a8 Binary files /dev/null and b/source/addons/controller_icons/assets/key/2.png differ diff --git a/source/addons/controller_icons/assets/key/2.png.import b/source/addons/controller_icons/assets/key/2.png.import new file mode 100644 index 0000000..d323f75 --- /dev/null +++ b/source/addons/controller_icons/assets/key/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cp0j8cw8o6wvu" +path="res://.godot/imported/2.png-cc45af4ba1a14d5c701d7eaf772cb60e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/2.png" +dest_files=["res://.godot/imported/2.png-cc45af4ba1a14d5c701d7eaf772cb60e.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/source/addons/controller_icons/assets/key/3.png b/source/addons/controller_icons/assets/key/3.png new file mode 100644 index 0000000..37f01a2 Binary files /dev/null and b/source/addons/controller_icons/assets/key/3.png differ diff --git a/source/addons/controller_icons/assets/key/3.png.import b/source/addons/controller_icons/assets/key/3.png.import new file mode 100644 index 0000000..3828583 --- /dev/null +++ b/source/addons/controller_icons/assets/key/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tljp3e67878n" +path="res://.godot/imported/3.png-a28e3d1bcdb601b911e3d5e9aaaece29.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/3.png" +dest_files=["res://.godot/imported/3.png-a28e3d1bcdb601b911e3d5e9aaaece29.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/source/addons/controller_icons/assets/key/4.png b/source/addons/controller_icons/assets/key/4.png new file mode 100644 index 0000000..f2ec50e Binary files /dev/null and b/source/addons/controller_icons/assets/key/4.png differ diff --git a/source/addons/controller_icons/assets/key/4.png.import b/source/addons/controller_icons/assets/key/4.png.import new file mode 100644 index 0000000..6385ace --- /dev/null +++ b/source/addons/controller_icons/assets/key/4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvv0nf2te2dy8" +path="res://.godot/imported/4.png-d6e77f4e27328a413d34506751d7e7d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/4.png" +dest_files=["res://.godot/imported/4.png-d6e77f4e27328a413d34506751d7e7d8.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/source/addons/controller_icons/assets/key/5.png b/source/addons/controller_icons/assets/key/5.png new file mode 100644 index 0000000..4996f90 Binary files /dev/null and b/source/addons/controller_icons/assets/key/5.png differ diff --git a/source/addons/controller_icons/assets/key/5.png.import b/source/addons/controller_icons/assets/key/5.png.import new file mode 100644 index 0000000..8312b63 --- /dev/null +++ b/source/addons/controller_icons/assets/key/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://co1b5kuqpipbi" +path="res://.godot/imported/5.png-e3a211f712f0ba23f0383e633d91b292.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/5.png" +dest_files=["res://.godot/imported/5.png-e3a211f712f0ba23f0383e633d91b292.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/source/addons/controller_icons/assets/key/6.png b/source/addons/controller_icons/assets/key/6.png new file mode 100644 index 0000000..7ebf62d Binary files /dev/null and b/source/addons/controller_icons/assets/key/6.png differ diff --git a/source/addons/controller_icons/assets/key/6.png.import b/source/addons/controller_icons/assets/key/6.png.import new file mode 100644 index 0000000..2d735c4 --- /dev/null +++ b/source/addons/controller_icons/assets/key/6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2mcylnx72rnc" +path="res://.godot/imported/6.png-c94a4fdfe4780a6cd266a954fce863aa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/6.png" +dest_files=["res://.godot/imported/6.png-c94a4fdfe4780a6cd266a954fce863aa.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/source/addons/controller_icons/assets/key/7.png b/source/addons/controller_icons/assets/key/7.png new file mode 100644 index 0000000..bae81b4 Binary files /dev/null and b/source/addons/controller_icons/assets/key/7.png differ diff --git a/source/addons/controller_icons/assets/key/7.png.import b/source/addons/controller_icons/assets/key/7.png.import new file mode 100644 index 0000000..96a595c --- /dev/null +++ b/source/addons/controller_icons/assets/key/7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://346orodxqrwr" +path="res://.godot/imported/7.png-2aed855c8db8718bbf613d3fe15e397f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/7.png" +dest_files=["res://.godot/imported/7.png-2aed855c8db8718bbf613d3fe15e397f.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/source/addons/controller_icons/assets/key/8.png b/source/addons/controller_icons/assets/key/8.png new file mode 100644 index 0000000..4cbf159 Binary files /dev/null and b/source/addons/controller_icons/assets/key/8.png differ diff --git a/source/addons/controller_icons/assets/key/8.png.import b/source/addons/controller_icons/assets/key/8.png.import new file mode 100644 index 0000000..bd50585 --- /dev/null +++ b/source/addons/controller_icons/assets/key/8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bb0namehypd0v" +path="res://.godot/imported/8.png-7347a4f63d0d4bf8e342c042e8a47b6a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/8.png" +dest_files=["res://.godot/imported/8.png-7347a4f63d0d4bf8e342c042e8a47b6a.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/source/addons/controller_icons/assets/key/9.png b/source/addons/controller_icons/assets/key/9.png new file mode 100644 index 0000000..8da9b01 Binary files /dev/null and b/source/addons/controller_icons/assets/key/9.png differ diff --git a/source/addons/controller_icons/assets/key/9.png.import b/source/addons/controller_icons/assets/key/9.png.import new file mode 100644 index 0000000..0067677 --- /dev/null +++ b/source/addons/controller_icons/assets/key/9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7hs1r61dhf8f" +path="res://.godot/imported/9.png-92a5ba8724ec75cb0650a7e43ee7de1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/9.png" +dest_files=["res://.godot/imported/9.png-92a5ba8724ec75cb0650a7e43ee7de1a.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/source/addons/controller_icons/assets/key/a.png b/source/addons/controller_icons/assets/key/a.png new file mode 100644 index 0000000..ba2b1dd Binary files /dev/null and b/source/addons/controller_icons/assets/key/a.png differ diff --git a/source/addons/controller_icons/assets/key/a.png.import b/source/addons/controller_icons/assets/key/a.png.import new file mode 100644 index 0000000..aeea511 --- /dev/null +++ b/source/addons/controller_icons/assets/key/a.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bptg6u6b4y5no" +path.s3tc="res://.godot/imported/a.png-02614b596e2702a221a87d93abcfaa61.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/a.png" +dest_files=["res://.godot/imported/a.png-02614b596e2702a221a87d93abcfaa61.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/source/addons/controller_icons/assets/key/alt.png b/source/addons/controller_icons/assets/key/alt.png new file mode 100644 index 0000000..9c0ceb6 Binary files /dev/null and b/source/addons/controller_icons/assets/key/alt.png differ diff --git a/source/addons/controller_icons/assets/key/alt.png.import b/source/addons/controller_icons/assets/key/alt.png.import new file mode 100644 index 0000000..fab08fa --- /dev/null +++ b/source/addons/controller_icons/assets/key/alt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpld7e28w4q1e" +path="res://.godot/imported/alt.png-2955b920d549ecae6d20f5b9d8b28316.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/alt.png" +dest_files=["res://.godot/imported/alt.png-2955b920d549ecae6d20f5b9d8b28316.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/source/addons/controller_icons/assets/key/apostrophe.png b/source/addons/controller_icons/assets/key/apostrophe.png new file mode 100644 index 0000000..0dc0827 Binary files /dev/null and b/source/addons/controller_icons/assets/key/apostrophe.png differ diff --git a/source/addons/controller_icons/assets/key/apostrophe.png.import b/source/addons/controller_icons/assets/key/apostrophe.png.import new file mode 100644 index 0000000..15e9370 --- /dev/null +++ b/source/addons/controller_icons/assets/key/apostrophe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8hets451bgxx" +path="res://.godot/imported/apostrophe.png-8f8272980f0f51de5195fea6a914a748.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/apostrophe.png" +dest_files=["res://.godot/imported/apostrophe.png-8f8272980f0f51de5195fea6a914a748.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/source/addons/controller_icons/assets/key/arrow_down.png b/source/addons/controller_icons/assets/key/arrow_down.png new file mode 100644 index 0000000..9edcf58 Binary files /dev/null and b/source/addons/controller_icons/assets/key/arrow_down.png differ diff --git a/source/addons/controller_icons/assets/key/arrow_down.png.import b/source/addons/controller_icons/assets/key/arrow_down.png.import new file mode 100644 index 0000000..510f40e --- /dev/null +++ b/source/addons/controller_icons/assets/key/arrow_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cge2w6yy0r2cx" +path="res://.godot/imported/arrow_down.png-5893b4e3a78dea022e4220c8b377b562.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/arrow_down.png" +dest_files=["res://.godot/imported/arrow_down.png-5893b4e3a78dea022e4220c8b377b562.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/source/addons/controller_icons/assets/key/arrow_left.png b/source/addons/controller_icons/assets/key/arrow_left.png new file mode 100644 index 0000000..3425005 Binary files /dev/null and b/source/addons/controller_icons/assets/key/arrow_left.png differ diff --git a/source/addons/controller_icons/assets/key/arrow_left.png.import b/source/addons/controller_icons/assets/key/arrow_left.png.import new file mode 100644 index 0000000..9d80871 --- /dev/null +++ b/source/addons/controller_icons/assets/key/arrow_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://puc614rf26im" +path="res://.godot/imported/arrow_left.png-47644a17d01cec89c19b183ed0ee3e4f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/arrow_left.png" +dest_files=["res://.godot/imported/arrow_left.png-47644a17d01cec89c19b183ed0ee3e4f.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/source/addons/controller_icons/assets/key/arrow_right.png b/source/addons/controller_icons/assets/key/arrow_right.png new file mode 100644 index 0000000..929cb35 Binary files /dev/null and b/source/addons/controller_icons/assets/key/arrow_right.png differ diff --git a/source/addons/controller_icons/assets/key/arrow_right.png.import b/source/addons/controller_icons/assets/key/arrow_right.png.import new file mode 100644 index 0000000..cf80ddb --- /dev/null +++ b/source/addons/controller_icons/assets/key/arrow_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbjc54bmpv3f8" +path="res://.godot/imported/arrow_right.png-d9645066e53f8382133c3d6066489082.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/arrow_right.png" +dest_files=["res://.godot/imported/arrow_right.png-d9645066e53f8382133c3d6066489082.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=0 diff --git a/source/addons/controller_icons/assets/key/arrow_up.png b/source/addons/controller_icons/assets/key/arrow_up.png new file mode 100644 index 0000000..025a68d Binary files /dev/null and b/source/addons/controller_icons/assets/key/arrow_up.png differ diff --git a/source/addons/controller_icons/assets/key/arrow_up.png.import b/source/addons/controller_icons/assets/key/arrow_up.png.import new file mode 100644 index 0000000..8c7608c --- /dev/null +++ b/source/addons/controller_icons/assets/key/arrow_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d04bqc5v3befo" +path="res://.godot/imported/arrow_up.png-332906f7ec320f7aacf747e92daffc49.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/arrow_up.png" +dest_files=["res://.godot/imported/arrow_up.png-332906f7ec320f7aacf747e92daffc49.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/source/addons/controller_icons/assets/key/asterisk.png b/source/addons/controller_icons/assets/key/asterisk.png new file mode 100644 index 0000000..abcdd9f Binary files /dev/null and b/source/addons/controller_icons/assets/key/asterisk.png differ diff --git a/source/addons/controller_icons/assets/key/asterisk.png.import b/source/addons/controller_icons/assets/key/asterisk.png.import new file mode 100644 index 0000000..e0df8c5 --- /dev/null +++ b/source/addons/controller_icons/assets/key/asterisk.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crg486276l0ie" +path="res://.godot/imported/asterisk.png-f83bdb0b06735716dc152cef5ad1a65a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/asterisk.png" +dest_files=["res://.godot/imported/asterisk.png-f83bdb0b06735716dc152cef5ad1a65a.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/source/addons/controller_icons/assets/key/b.png b/source/addons/controller_icons/assets/key/b.png new file mode 100644 index 0000000..bb6b3bb Binary files /dev/null and b/source/addons/controller_icons/assets/key/b.png differ diff --git a/source/addons/controller_icons/assets/key/b.png.import b/source/addons/controller_icons/assets/key/b.png.import new file mode 100644 index 0000000..b9c66ef --- /dev/null +++ b/source/addons/controller_icons/assets/key/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://canr2drixxw4k" +path="res://.godot/imported/b.png-85e60076ce4df311fd6ce062c3953570.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/b.png" +dest_files=["res://.godot/imported/b.png-85e60076ce4df311fd6ce062c3953570.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/source/addons/controller_icons/assets/key/backspace.png b/source/addons/controller_icons/assets/key/backspace.png new file mode 100644 index 0000000..bd2b56d Binary files /dev/null and b/source/addons/controller_icons/assets/key/backspace.png differ diff --git a/source/addons/controller_icons/assets/key/backspace.png.import b/source/addons/controller_icons/assets/key/backspace.png.import new file mode 100644 index 0000000..c6e28ef --- /dev/null +++ b/source/addons/controller_icons/assets/key/backspace.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fm4t6x1nefje" +path="res://.godot/imported/backspace.png-ca81128ca83f7830c8e33092a92b27bf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/backspace.png" +dest_files=["res://.godot/imported/backspace.png-ca81128ca83f7830c8e33092a92b27bf.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/source/addons/controller_icons/assets/key/backspace_alt.png b/source/addons/controller_icons/assets/key/backspace_alt.png new file mode 100644 index 0000000..be1a758 Binary files /dev/null and b/source/addons/controller_icons/assets/key/backspace_alt.png differ diff --git a/source/addons/controller_icons/assets/key/backspace_alt.png.import b/source/addons/controller_icons/assets/key/backspace_alt.png.import new file mode 100644 index 0000000..a480a7f --- /dev/null +++ b/source/addons/controller_icons/assets/key/backspace_alt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rhv2hov7acmp" +path="res://.godot/imported/backspace_alt.png-bc1abf5cd15987380ececb7b4192e96e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/backspace_alt.png" +dest_files=["res://.godot/imported/backspace_alt.png-bc1abf5cd15987380ececb7b4192e96e.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/source/addons/controller_icons/assets/key/backtick.png b/source/addons/controller_icons/assets/key/backtick.png new file mode 100644 index 0000000..f656b50 Binary files /dev/null and b/source/addons/controller_icons/assets/key/backtick.png differ diff --git a/source/addons/controller_icons/assets/key/backtick.png.import b/source/addons/controller_icons/assets/key/backtick.png.import new file mode 100644 index 0000000..21411a1 --- /dev/null +++ b/source/addons/controller_icons/assets/key/backtick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlknwm7g0tm3s" +path="res://.godot/imported/backtick.png-7eaa9a9989e965a67c1aedce73c9bf10.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/backtick.png" +dest_files=["res://.godot/imported/backtick.png-7eaa9a9989e965a67c1aedce73c9bf10.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/source/addons/controller_icons/assets/key/bracket_left.png b/source/addons/controller_icons/assets/key/bracket_left.png new file mode 100644 index 0000000..8734b86 Binary files /dev/null and b/source/addons/controller_icons/assets/key/bracket_left.png differ diff --git a/source/addons/controller_icons/assets/key/bracket_left.png.import b/source/addons/controller_icons/assets/key/bracket_left.png.import new file mode 100644 index 0000000..ab69739 --- /dev/null +++ b/source/addons/controller_icons/assets/key/bracket_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnk0mxv25m1bg" +path="res://.godot/imported/bracket_left.png-578afec4dd6c472e6a94a57c46997f4d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/bracket_left.png" +dest_files=["res://.godot/imported/bracket_left.png-578afec4dd6c472e6a94a57c46997f4d.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/source/addons/controller_icons/assets/key/bracket_right.png b/source/addons/controller_icons/assets/key/bracket_right.png new file mode 100644 index 0000000..c56aef4 Binary files /dev/null and b/source/addons/controller_icons/assets/key/bracket_right.png differ diff --git a/source/addons/controller_icons/assets/key/bracket_right.png.import b/source/addons/controller_icons/assets/key/bracket_right.png.import new file mode 100644 index 0000000..e0468d1 --- /dev/null +++ b/source/addons/controller_icons/assets/key/bracket_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cg2bqitp08keh" +path="res://.godot/imported/bracket_right.png-ba5f88773753e95ae7dc9570a2aff676.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/bracket_right.png" +dest_files=["res://.godot/imported/bracket_right.png-ba5f88773753e95ae7dc9570a2aff676.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/source/addons/controller_icons/assets/key/c.png b/source/addons/controller_icons/assets/key/c.png new file mode 100644 index 0000000..005e4ca Binary files /dev/null and b/source/addons/controller_icons/assets/key/c.png differ diff --git a/source/addons/controller_icons/assets/key/c.png.import b/source/addons/controller_icons/assets/key/c.png.import new file mode 100644 index 0000000..7bdd02b --- /dev/null +++ b/source/addons/controller_icons/assets/key/c.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvki5kbcq7qow" +path="res://.godot/imported/c.png-60bc13862a491d6dad69b4db7006689e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/c.png" +dest_files=["res://.godot/imported/c.png-60bc13862a491d6dad69b4db7006689e.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/source/addons/controller_icons/assets/key/caps_lock.png b/source/addons/controller_icons/assets/key/caps_lock.png new file mode 100644 index 0000000..de5adb8 Binary files /dev/null and b/source/addons/controller_icons/assets/key/caps_lock.png differ diff --git a/source/addons/controller_icons/assets/key/caps_lock.png.import b/source/addons/controller_icons/assets/key/caps_lock.png.import new file mode 100644 index 0000000..91cb28d --- /dev/null +++ b/source/addons/controller_icons/assets/key/caps_lock.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmu1dyma2ia1w" +path="res://.godot/imported/caps_lock.png-68be22558ed98886d7f0c42175a4f042.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/caps_lock.png" +dest_files=["res://.godot/imported/caps_lock.png-68be22558ed98886d7f0c42175a4f042.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/source/addons/controller_icons/assets/key/comma.png b/source/addons/controller_icons/assets/key/comma.png new file mode 100644 index 0000000..18be905 Binary files /dev/null and b/source/addons/controller_icons/assets/key/comma.png differ diff --git a/source/addons/controller_icons/assets/key/comma.png.import b/source/addons/controller_icons/assets/key/comma.png.import new file mode 100644 index 0000000..dcd082e --- /dev/null +++ b/source/addons/controller_icons/assets/key/comma.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvdspc7muffjb" +path="res://.godot/imported/comma.png-c6a5b4ddb60c3aa4cfc77e26999940ed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/comma.png" +dest_files=["res://.godot/imported/comma.png-c6a5b4ddb60c3aa4cfc77e26999940ed.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/source/addons/controller_icons/assets/key/command.png b/source/addons/controller_icons/assets/key/command.png new file mode 100644 index 0000000..22dfd60 Binary files /dev/null and b/source/addons/controller_icons/assets/key/command.png differ diff --git a/source/addons/controller_icons/assets/key/command.png.import b/source/addons/controller_icons/assets/key/command.png.import new file mode 100644 index 0000000..9271825 --- /dev/null +++ b/source/addons/controller_icons/assets/key/command.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c75c1nu5vft30" +path="res://.godot/imported/command.png-64157e5f681303ae47d5fdbb6501706d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/command.png" +dest_files=["res://.godot/imported/command.png-64157e5f681303ae47d5fdbb6501706d.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/source/addons/controller_icons/assets/key/ctrl.png b/source/addons/controller_icons/assets/key/ctrl.png new file mode 100644 index 0000000..12456bd Binary files /dev/null and b/source/addons/controller_icons/assets/key/ctrl.png differ diff --git a/source/addons/controller_icons/assets/key/ctrl.png.import b/source/addons/controller_icons/assets/key/ctrl.png.import new file mode 100644 index 0000000..b1e154b --- /dev/null +++ b/source/addons/controller_icons/assets/key/ctrl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxcfr4bhfw4lq" +path="res://.godot/imported/ctrl.png-482169e05fd7989d866aa04e18ed3455.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/ctrl.png" +dest_files=["res://.godot/imported/ctrl.png-482169e05fd7989d866aa04e18ed3455.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/source/addons/controller_icons/assets/key/d.png b/source/addons/controller_icons/assets/key/d.png new file mode 100644 index 0000000..cfd36f2 Binary files /dev/null and b/source/addons/controller_icons/assets/key/d.png differ diff --git a/source/addons/controller_icons/assets/key/d.png.import b/source/addons/controller_icons/assets/key/d.png.import new file mode 100644 index 0000000..701b533 --- /dev/null +++ b/source/addons/controller_icons/assets/key/d.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlwamiuq1f5t6" +path.s3tc="res://.godot/imported/d.png-b7721e67decc380fd57e07ee56e53953.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/d.png" +dest_files=["res://.godot/imported/d.png-b7721e67decc380fd57e07ee56e53953.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/source/addons/controller_icons/assets/key/del.png b/source/addons/controller_icons/assets/key/del.png new file mode 100644 index 0000000..87bd830 Binary files /dev/null and b/source/addons/controller_icons/assets/key/del.png differ diff --git a/source/addons/controller_icons/assets/key/del.png.import b/source/addons/controller_icons/assets/key/del.png.import new file mode 100644 index 0000000..76b052c --- /dev/null +++ b/source/addons/controller_icons/assets/key/del.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dp71lwv4vjptf" +path="res://.godot/imported/del.png-8ab1be2a4136e8f1ae7ec54f3a75f012.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/del.png" +dest_files=["res://.godot/imported/del.png-8ab1be2a4136e8f1ae7ec54f3a75f012.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/source/addons/controller_icons/assets/key/e.png b/source/addons/controller_icons/assets/key/e.png new file mode 100644 index 0000000..34b7be1 Binary files /dev/null and b/source/addons/controller_icons/assets/key/e.png differ diff --git a/source/addons/controller_icons/assets/key/e.png.import b/source/addons/controller_icons/assets/key/e.png.import new file mode 100644 index 0000000..1dea985 --- /dev/null +++ b/source/addons/controller_icons/assets/key/e.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xe4n818le3p8" +path="res://.godot/imported/e.png-7ec0ba2ffb631b8cc6de42153f818779.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/e.png" +dest_files=["res://.godot/imported/e.png-7ec0ba2ffb631b8cc6de42153f818779.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/source/addons/controller_icons/assets/key/end.png b/source/addons/controller_icons/assets/key/end.png new file mode 100644 index 0000000..2d6211c Binary files /dev/null and b/source/addons/controller_icons/assets/key/end.png differ diff --git a/source/addons/controller_icons/assets/key/end.png.import b/source/addons/controller_icons/assets/key/end.png.import new file mode 100644 index 0000000..4fd32bf --- /dev/null +++ b/source/addons/controller_icons/assets/key/end.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd57lxd8nftr4" +path="res://.godot/imported/end.png-19998f1c73319c0913db009ea41299f1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/end.png" +dest_files=["res://.godot/imported/end.png-19998f1c73319c0913db009ea41299f1.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/source/addons/controller_icons/assets/key/enter.png b/source/addons/controller_icons/assets/key/enter.png new file mode 100644 index 0000000..1f144f5 Binary files /dev/null and b/source/addons/controller_icons/assets/key/enter.png differ diff --git a/source/addons/controller_icons/assets/key/enter.png.import b/source/addons/controller_icons/assets/key/enter.png.import new file mode 100644 index 0000000..bceca38 --- /dev/null +++ b/source/addons/controller_icons/assets/key/enter.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtgju2qbvxhqp" +path="res://.godot/imported/enter.png-d374047b990a0250a56e873b383a8b15.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/enter.png" +dest_files=["res://.godot/imported/enter.png-d374047b990a0250a56e873b383a8b15.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/source/addons/controller_icons/assets/key/enter_alt.png b/source/addons/controller_icons/assets/key/enter_alt.png new file mode 100644 index 0000000..5493293 Binary files /dev/null and b/source/addons/controller_icons/assets/key/enter_alt.png differ diff --git a/source/addons/controller_icons/assets/key/enter_alt.png.import b/source/addons/controller_icons/assets/key/enter_alt.png.import new file mode 100644 index 0000000..1e0bf50 --- /dev/null +++ b/source/addons/controller_icons/assets/key/enter_alt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bp58drjdgvxsi" +path="res://.godot/imported/enter_alt.png-15ea435f9aa8699e8752649d5707d3f9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/enter_alt.png" +dest_files=["res://.godot/imported/enter_alt.png-15ea435f9aa8699e8752649d5707d3f9.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/source/addons/controller_icons/assets/key/enter_tall.png b/source/addons/controller_icons/assets/key/enter_tall.png new file mode 100644 index 0000000..de3abde Binary files /dev/null and b/source/addons/controller_icons/assets/key/enter_tall.png differ diff --git a/source/addons/controller_icons/assets/key/enter_tall.png.import b/source/addons/controller_icons/assets/key/enter_tall.png.import new file mode 100644 index 0000000..9f06782 --- /dev/null +++ b/source/addons/controller_icons/assets/key/enter_tall.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5bw0xq3n6elx" +path="res://.godot/imported/enter_tall.png-9ea4821e424a6eb74b209466a47a0362.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/enter_tall.png" +dest_files=["res://.godot/imported/enter_tall.png-9ea4821e424a6eb74b209466a47a0362.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/source/addons/controller_icons/assets/key/equals.png b/source/addons/controller_icons/assets/key/equals.png new file mode 100644 index 0000000..5e9ed38 Binary files /dev/null and b/source/addons/controller_icons/assets/key/equals.png differ diff --git a/source/addons/controller_icons/assets/key/equals.png.import b/source/addons/controller_icons/assets/key/equals.png.import new file mode 100644 index 0000000..529e476 --- /dev/null +++ b/source/addons/controller_icons/assets/key/equals.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mkessp4iud6i" +path="res://.godot/imported/equals.png-a0481e5eb9f7e8a2bd77af0d53ce5458.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/equals.png" +dest_files=["res://.godot/imported/equals.png-a0481e5eb9f7e8a2bd77af0d53ce5458.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/source/addons/controller_icons/assets/key/esc.png b/source/addons/controller_icons/assets/key/esc.png new file mode 100644 index 0000000..c363cdc Binary files /dev/null and b/source/addons/controller_icons/assets/key/esc.png differ diff --git a/source/addons/controller_icons/assets/key/esc.png.import b/source/addons/controller_icons/assets/key/esc.png.import new file mode 100644 index 0000000..b107dfd --- /dev/null +++ b/source/addons/controller_icons/assets/key/esc.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cnghdqiitl0fu" +path="res://.godot/imported/esc.png-4b899d8648d525a54c45ed98a86ba3b4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/esc.png" +dest_files=["res://.godot/imported/esc.png-4b899d8648d525a54c45ed98a86ba3b4.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/source/addons/controller_icons/assets/key/f.png b/source/addons/controller_icons/assets/key/f.png new file mode 100644 index 0000000..0781a72 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f.png differ diff --git a/source/addons/controller_icons/assets/key/f.png.import b/source/addons/controller_icons/assets/key/f.png.import new file mode 100644 index 0000000..0201408 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://broeuieppu0ni" +path="res://.godot/imported/f.png-4d9e36eeb537558291e4f3b623effc03.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f.png" +dest_files=["res://.godot/imported/f.png-4d9e36eeb537558291e4f3b623effc03.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/source/addons/controller_icons/assets/key/f1.png b/source/addons/controller_icons/assets/key/f1.png new file mode 100644 index 0000000..fc5865a Binary files /dev/null and b/source/addons/controller_icons/assets/key/f1.png differ diff --git a/source/addons/controller_icons/assets/key/f1.png.import b/source/addons/controller_icons/assets/key/f1.png.import new file mode 100644 index 0000000..277c118 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8no45t86rrn6" +path="res://.godot/imported/f1.png-8f613f4af184fa81387a386622247ed5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f1.png" +dest_files=["res://.godot/imported/f1.png-8f613f4af184fa81387a386622247ed5.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/source/addons/controller_icons/assets/key/f10.png b/source/addons/controller_icons/assets/key/f10.png new file mode 100644 index 0000000..17339fe Binary files /dev/null and b/source/addons/controller_icons/assets/key/f10.png differ diff --git a/source/addons/controller_icons/assets/key/f10.png.import b/source/addons/controller_icons/assets/key/f10.png.import new file mode 100644 index 0000000..4554707 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f10.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b76mxxjlj888w" +path="res://.godot/imported/f10.png-b1122098f3284856b04da935979c6ee0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f10.png" +dest_files=["res://.godot/imported/f10.png-b1122098f3284856b04da935979c6ee0.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/source/addons/controller_icons/assets/key/f11.png b/source/addons/controller_icons/assets/key/f11.png new file mode 100644 index 0000000..18001d0 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f11.png differ diff --git a/source/addons/controller_icons/assets/key/f11.png.import b/source/addons/controller_icons/assets/key/f11.png.import new file mode 100644 index 0000000..3122c06 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f11.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddrasm5hfo84n" +path="res://.godot/imported/f11.png-4f8e9e1e7a5b11b030ecefea00294062.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f11.png" +dest_files=["res://.godot/imported/f11.png-4f8e9e1e7a5b11b030ecefea00294062.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/source/addons/controller_icons/assets/key/f12.png b/source/addons/controller_icons/assets/key/f12.png new file mode 100644 index 0000000..a18bb74 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f12.png differ diff --git a/source/addons/controller_icons/assets/key/f12.png.import b/source/addons/controller_icons/assets/key/f12.png.import new file mode 100644 index 0000000..803e211 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f12.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://x4212bmj350w" +path="res://.godot/imported/f12.png-bcb2c9ea989874bc6203645641457c2a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f12.png" +dest_files=["res://.godot/imported/f12.png-bcb2c9ea989874bc6203645641457c2a.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/source/addons/controller_icons/assets/key/f2.png b/source/addons/controller_icons/assets/key/f2.png new file mode 100644 index 0000000..ffceae5 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f2.png differ diff --git a/source/addons/controller_icons/assets/key/f2.png.import b/source/addons/controller_icons/assets/key/f2.png.import new file mode 100644 index 0000000..cb062a7 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cebpb6c42ooem" +path="res://.godot/imported/f2.png-853f8d196971146dfe734d15d6a82681.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f2.png" +dest_files=["res://.godot/imported/f2.png-853f8d196971146dfe734d15d6a82681.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/source/addons/controller_icons/assets/key/f3.png b/source/addons/controller_icons/assets/key/f3.png new file mode 100644 index 0000000..c49d840 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f3.png differ diff --git a/source/addons/controller_icons/assets/key/f3.png.import b/source/addons/controller_icons/assets/key/f3.png.import new file mode 100644 index 0000000..3a55f33 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://utdnqoybksrx" +path="res://.godot/imported/f3.png-affa1c0616438ee1071023d1606aafe9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f3.png" +dest_files=["res://.godot/imported/f3.png-affa1c0616438ee1071023d1606aafe9.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/source/addons/controller_icons/assets/key/f4.png b/source/addons/controller_icons/assets/key/f4.png new file mode 100644 index 0000000..c09acb2 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f4.png differ diff --git a/source/addons/controller_icons/assets/key/f4.png.import b/source/addons/controller_icons/assets/key/f4.png.import new file mode 100644 index 0000000..7437e58 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://buv6pfavbw8ev" +path="res://.godot/imported/f4.png-59ce134d8791cdbcd742e6d39d376ba1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f4.png" +dest_files=["res://.godot/imported/f4.png-59ce134d8791cdbcd742e6d39d376ba1.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/source/addons/controller_icons/assets/key/f5.png b/source/addons/controller_icons/assets/key/f5.png new file mode 100644 index 0000000..c304fd0 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f5.png differ diff --git a/source/addons/controller_icons/assets/key/f5.png.import b/source/addons/controller_icons/assets/key/f5.png.import new file mode 100644 index 0000000..dbea031 --- /dev/null +++ b/source/addons/controller_icons/assets/key/f5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4sj5uyseavix" +path="res://.godot/imported/f5.png-8883dd1dee9b3466e722aa195bfbde96.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f5.png" +dest_files=["res://.godot/imported/f5.png-8883dd1dee9b3466e722aa195bfbde96.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/source/addons/controller_icons/assets/key/f6.png b/source/addons/controller_icons/assets/key/f6.png new file mode 100644 index 0000000..bc3f31c Binary files /dev/null and b/source/addons/controller_icons/assets/key/f6.png differ diff --git a/source/addons/controller_icons/assets/key/f6.png.import b/source/addons/controller_icons/assets/key/f6.png.import new file mode 100644 index 0000000..a6a023f --- /dev/null +++ b/source/addons/controller_icons/assets/key/f6.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://des6ow7uojf1t" +path="res://.godot/imported/f6.png-8151a1ab4564149919426cd89b55aef6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f6.png" +dest_files=["res://.godot/imported/f6.png-8151a1ab4564149919426cd89b55aef6.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/source/addons/controller_icons/assets/key/f7.png b/source/addons/controller_icons/assets/key/f7.png new file mode 100644 index 0000000..2c28dc0 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f7.png differ diff --git a/source/addons/controller_icons/assets/key/f7.png.import b/source/addons/controller_icons/assets/key/f7.png.import new file mode 100644 index 0000000..9599b2d --- /dev/null +++ b/source/addons/controller_icons/assets/key/f7.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvrmkpuh2nx0m" +path="res://.godot/imported/f7.png-03adff059dfd886a088628e7d7209813.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f7.png" +dest_files=["res://.godot/imported/f7.png-03adff059dfd886a088628e7d7209813.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/source/addons/controller_icons/assets/key/f8.png b/source/addons/controller_icons/assets/key/f8.png new file mode 100644 index 0000000..6c09529 Binary files /dev/null and b/source/addons/controller_icons/assets/key/f8.png differ diff --git a/source/addons/controller_icons/assets/key/f8.png.import b/source/addons/controller_icons/assets/key/f8.png.import new file mode 100644 index 0000000..b29682c --- /dev/null +++ b/source/addons/controller_icons/assets/key/f8.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://32dhrb00iift" +path="res://.godot/imported/f8.png-563ec719a0666065208473a70115781f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f8.png" +dest_files=["res://.godot/imported/f8.png-563ec719a0666065208473a70115781f.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/source/addons/controller_icons/assets/key/f9.png b/source/addons/controller_icons/assets/key/f9.png new file mode 100644 index 0000000..0b67e2b Binary files /dev/null and b/source/addons/controller_icons/assets/key/f9.png differ diff --git a/source/addons/controller_icons/assets/key/f9.png.import b/source/addons/controller_icons/assets/key/f9.png.import new file mode 100644 index 0000000..c07e6ed --- /dev/null +++ b/source/addons/controller_icons/assets/key/f9.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csk17ja7f6bm0" +path="res://.godot/imported/f9.png-943e76712f8473b1183d5a8d345f1913.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/f9.png" +dest_files=["res://.godot/imported/f9.png-943e76712f8473b1183d5a8d345f1913.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/source/addons/controller_icons/assets/key/forward_slash.png b/source/addons/controller_icons/assets/key/forward_slash.png new file mode 100644 index 0000000..3e7d6fb Binary files /dev/null and b/source/addons/controller_icons/assets/key/forward_slash.png differ diff --git a/source/addons/controller_icons/assets/key/forward_slash.png.import b/source/addons/controller_icons/assets/key/forward_slash.png.import new file mode 100644 index 0000000..ce44128 --- /dev/null +++ b/source/addons/controller_icons/assets/key/forward_slash.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d31fqst2pxdni" +path="res://.godot/imported/forward_slash.png-bdc3946991216f01ca3e8ccb138c731b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/forward_slash.png" +dest_files=["res://.godot/imported/forward_slash.png-bdc3946991216f01ca3e8ccb138c731b.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/source/addons/controller_icons/assets/key/g.png b/source/addons/controller_icons/assets/key/g.png new file mode 100644 index 0000000..79ffcd2 Binary files /dev/null and b/source/addons/controller_icons/assets/key/g.png differ diff --git a/source/addons/controller_icons/assets/key/g.png.import b/source/addons/controller_icons/assets/key/g.png.import new file mode 100644 index 0000000..8f56196 --- /dev/null +++ b/source/addons/controller_icons/assets/key/g.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xlplkwxxoohb" +path="res://.godot/imported/g.png-14572568f63a7b23681641a02c662d04.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/g.png" +dest_files=["res://.godot/imported/g.png-14572568f63a7b23681641a02c662d04.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/source/addons/controller_icons/assets/key/h.png b/source/addons/controller_icons/assets/key/h.png new file mode 100644 index 0000000..00a4fe4 Binary files /dev/null and b/source/addons/controller_icons/assets/key/h.png differ diff --git a/source/addons/controller_icons/assets/key/h.png.import b/source/addons/controller_icons/assets/key/h.png.import new file mode 100644 index 0000000..565434f --- /dev/null +++ b/source/addons/controller_icons/assets/key/h.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3q6bvxmx7d2y" +path="res://.godot/imported/h.png-cbfda01b136945b4d87b24e91d9912d6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/h.png" +dest_files=["res://.godot/imported/h.png-cbfda01b136945b4d87b24e91d9912d6.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/source/addons/controller_icons/assets/key/home.png b/source/addons/controller_icons/assets/key/home.png new file mode 100644 index 0000000..10ba170 Binary files /dev/null and b/source/addons/controller_icons/assets/key/home.png differ diff --git a/source/addons/controller_icons/assets/key/home.png.import b/source/addons/controller_icons/assets/key/home.png.import new file mode 100644 index 0000000..5cd12e3 --- /dev/null +++ b/source/addons/controller_icons/assets/key/home.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bs3duwxywhkf4" +path="res://.godot/imported/home.png-f1a63dcfd71b977a2003e8d0d2c3ba4d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/home.png" +dest_files=["res://.godot/imported/home.png-f1a63dcfd71b977a2003e8d0d2c3ba4d.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/source/addons/controller_icons/assets/key/i.png b/source/addons/controller_icons/assets/key/i.png new file mode 100644 index 0000000..de8f252 Binary files /dev/null and b/source/addons/controller_icons/assets/key/i.png differ diff --git a/source/addons/controller_icons/assets/key/i.png.import b/source/addons/controller_icons/assets/key/i.png.import new file mode 100644 index 0000000..846d8ab --- /dev/null +++ b/source/addons/controller_icons/assets/key/i.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqd0jlt3rtk1" +path="res://.godot/imported/i.png-7ea3745b1b8fbcbe2692879f2fe4be85.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/i.png" +dest_files=["res://.godot/imported/i.png-7ea3745b1b8fbcbe2692879f2fe4be85.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/source/addons/controller_icons/assets/key/insert.png b/source/addons/controller_icons/assets/key/insert.png new file mode 100644 index 0000000..d0ae4d5 Binary files /dev/null and b/source/addons/controller_icons/assets/key/insert.png differ diff --git a/source/addons/controller_icons/assets/key/insert.png.import b/source/addons/controller_icons/assets/key/insert.png.import new file mode 100644 index 0000000..d7435b3 --- /dev/null +++ b/source/addons/controller_icons/assets/key/insert.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rsb32fggq73q" +path="res://.godot/imported/insert.png-c636ec6f7ebb7021fe33df113831b3af.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/insert.png" +dest_files=["res://.godot/imported/insert.png-c636ec6f7ebb7021fe33df113831b3af.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/source/addons/controller_icons/assets/key/j.png b/source/addons/controller_icons/assets/key/j.png new file mode 100644 index 0000000..947b5eb Binary files /dev/null and b/source/addons/controller_icons/assets/key/j.png differ diff --git a/source/addons/controller_icons/assets/key/j.png.import b/source/addons/controller_icons/assets/key/j.png.import new file mode 100644 index 0000000..b34d5cc --- /dev/null +++ b/source/addons/controller_icons/assets/key/j.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btxmq4pjv74u2" +path="res://.godot/imported/j.png-78fde95f9bb9cd69a6d1e8138358ce33.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/j.png" +dest_files=["res://.godot/imported/j.png-78fde95f9bb9cd69a6d1e8138358ce33.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/source/addons/controller_icons/assets/key/k.png b/source/addons/controller_icons/assets/key/k.png new file mode 100644 index 0000000..2ca24bd Binary files /dev/null and b/source/addons/controller_icons/assets/key/k.png differ diff --git a/source/addons/controller_icons/assets/key/k.png.import b/source/addons/controller_icons/assets/key/k.png.import new file mode 100644 index 0000000..2c92188 --- /dev/null +++ b/source/addons/controller_icons/assets/key/k.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwrnqsbonca4k" +path="res://.godot/imported/k.png-bfe3441a49bc1e9efad9a20088127d99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/k.png" +dest_files=["res://.godot/imported/k.png-bfe3441a49bc1e9efad9a20088127d99.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/source/addons/controller_icons/assets/key/l.png b/source/addons/controller_icons/assets/key/l.png new file mode 100644 index 0000000..725c878 Binary files /dev/null and b/source/addons/controller_icons/assets/key/l.png differ diff --git a/source/addons/controller_icons/assets/key/l.png.import b/source/addons/controller_icons/assets/key/l.png.import new file mode 100644 index 0000000..2cff56d --- /dev/null +++ b/source/addons/controller_icons/assets/key/l.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br8kxbo504vtr" +path="res://.godot/imported/l.png-e5c72a0134479c7f082bb92ed54e319c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/l.png" +dest_files=["res://.godot/imported/l.png-e5c72a0134479c7f082bb92ed54e319c.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/source/addons/controller_icons/assets/key/m.png b/source/addons/controller_icons/assets/key/m.png new file mode 100644 index 0000000..4477153 Binary files /dev/null and b/source/addons/controller_icons/assets/key/m.png differ diff --git a/source/addons/controller_icons/assets/key/m.png.import b/source/addons/controller_icons/assets/key/m.png.import new file mode 100644 index 0000000..73d49b4 --- /dev/null +++ b/source/addons/controller_icons/assets/key/m.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://w0ybnkclhpu5" +path="res://.godot/imported/m.png-87b633c83926fbc3c83ab6d55dda9b7c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/m.png" +dest_files=["res://.godot/imported/m.png-87b633c83926fbc3c83ab6d55dda9b7c.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/source/addons/controller_icons/assets/key/mark_left.png b/source/addons/controller_icons/assets/key/mark_left.png new file mode 100644 index 0000000..a5e48ce Binary files /dev/null and b/source/addons/controller_icons/assets/key/mark_left.png differ diff --git a/source/addons/controller_icons/assets/key/mark_left.png.import b/source/addons/controller_icons/assets/key/mark_left.png.import new file mode 100644 index 0000000..c6d8f89 --- /dev/null +++ b/source/addons/controller_icons/assets/key/mark_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://de3wkpkd80oiq" +path="res://.godot/imported/mark_left.png-26150e1291ba06a3d79018bd042eae02.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/mark_left.png" +dest_files=["res://.godot/imported/mark_left.png-26150e1291ba06a3d79018bd042eae02.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/source/addons/controller_icons/assets/key/mark_right.png b/source/addons/controller_icons/assets/key/mark_right.png new file mode 100644 index 0000000..d418e77 Binary files /dev/null and b/source/addons/controller_icons/assets/key/mark_right.png differ diff --git a/source/addons/controller_icons/assets/key/mark_right.png.import b/source/addons/controller_icons/assets/key/mark_right.png.import new file mode 100644 index 0000000..54c6a26 --- /dev/null +++ b/source/addons/controller_icons/assets/key/mark_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cs8g8q67x4f6e" +path="res://.godot/imported/mark_right.png-af2191a926d5a5d9ee64916803ae839e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/mark_right.png" +dest_files=["res://.godot/imported/mark_right.png-af2191a926d5a5d9ee64916803ae839e.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/source/addons/controller_icons/assets/key/minus.png b/source/addons/controller_icons/assets/key/minus.png new file mode 100644 index 0000000..1e6dcf7 Binary files /dev/null and b/source/addons/controller_icons/assets/key/minus.png differ diff --git a/source/addons/controller_icons/assets/key/minus.png.import b/source/addons/controller_icons/assets/key/minus.png.import new file mode 100644 index 0000000..80872f0 --- /dev/null +++ b/source/addons/controller_icons/assets/key/minus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8m15mffx0x8y" +path="res://.godot/imported/minus.png-e9b3cb97f54fc23d867874d64c5aebe3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/minus.png" +dest_files=["res://.godot/imported/minus.png-e9b3cb97f54fc23d867874d64c5aebe3.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/source/addons/controller_icons/assets/key/n.png b/source/addons/controller_icons/assets/key/n.png new file mode 100644 index 0000000..689e2f6 Binary files /dev/null and b/source/addons/controller_icons/assets/key/n.png differ diff --git a/source/addons/controller_icons/assets/key/n.png.import b/source/addons/controller_icons/assets/key/n.png.import new file mode 100644 index 0000000..3964b91 --- /dev/null +++ b/source/addons/controller_icons/assets/key/n.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qm08rt7v0jmi" +path="res://.godot/imported/n.png-2b143bdd3bfea413b560d4f610f909c9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/n.png" +dest_files=["res://.godot/imported/n.png-2b143bdd3bfea413b560d4f610f909c9.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/source/addons/controller_icons/assets/key/num_lock.png b/source/addons/controller_icons/assets/key/num_lock.png new file mode 100644 index 0000000..2808f91 Binary files /dev/null and b/source/addons/controller_icons/assets/key/num_lock.png differ diff --git a/source/addons/controller_icons/assets/key/num_lock.png.import b/source/addons/controller_icons/assets/key/num_lock.png.import new file mode 100644 index 0000000..f0186f0 --- /dev/null +++ b/source/addons/controller_icons/assets/key/num_lock.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bap23yu4qfl3y" +path="res://.godot/imported/num_lock.png-e2af79f4edd04e9ecf785f370befb814.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/num_lock.png" +dest_files=["res://.godot/imported/num_lock.png-e2af79f4edd04e9ecf785f370befb814.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/source/addons/controller_icons/assets/key/o.png b/source/addons/controller_icons/assets/key/o.png new file mode 100644 index 0000000..b703ceb Binary files /dev/null and b/source/addons/controller_icons/assets/key/o.png differ diff --git a/source/addons/controller_icons/assets/key/o.png.import b/source/addons/controller_icons/assets/key/o.png.import new file mode 100644 index 0000000..1a2aab5 --- /dev/null +++ b/source/addons/controller_icons/assets/key/o.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ra467stypt61" +path="res://.godot/imported/o.png-ebca633629770ba1e7a8ef37bcc47d6e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/o.png" +dest_files=["res://.godot/imported/o.png-ebca633629770ba1e7a8ef37bcc47d6e.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/source/addons/controller_icons/assets/key/p.png b/source/addons/controller_icons/assets/key/p.png new file mode 100644 index 0000000..13e8393 Binary files /dev/null and b/source/addons/controller_icons/assets/key/p.png differ diff --git a/source/addons/controller_icons/assets/key/p.png.import b/source/addons/controller_icons/assets/key/p.png.import new file mode 100644 index 0000000..4ab91ac --- /dev/null +++ b/source/addons/controller_icons/assets/key/p.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8t6nj5nejist" +path="res://.godot/imported/p.png-fe6d5088b82cf26ee9105323c97e8ec0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/p.png" +dest_files=["res://.godot/imported/p.png-fe6d5088b82cf26ee9105323c97e8ec0.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/source/addons/controller_icons/assets/key/page_down.png b/source/addons/controller_icons/assets/key/page_down.png new file mode 100644 index 0000000..ace123f Binary files /dev/null and b/source/addons/controller_icons/assets/key/page_down.png differ diff --git a/source/addons/controller_icons/assets/key/page_down.png.import b/source/addons/controller_icons/assets/key/page_down.png.import new file mode 100644 index 0000000..88e845d --- /dev/null +++ b/source/addons/controller_icons/assets/key/page_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://botm3vxwit80t" +path="res://.godot/imported/page_down.png-cf932ce22919c18cd1203d44da339505.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/page_down.png" +dest_files=["res://.godot/imported/page_down.png-cf932ce22919c18cd1203d44da339505.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/source/addons/controller_icons/assets/key/page_up.png b/source/addons/controller_icons/assets/key/page_up.png new file mode 100644 index 0000000..da15112 Binary files /dev/null and b/source/addons/controller_icons/assets/key/page_up.png differ diff --git a/source/addons/controller_icons/assets/key/page_up.png.import b/source/addons/controller_icons/assets/key/page_up.png.import new file mode 100644 index 0000000..b96c65d --- /dev/null +++ b/source/addons/controller_icons/assets/key/page_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cj2ilh60ajvub" +path="res://.godot/imported/page_up.png-24127511132eb2a47c0eda7f032beade.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/page_up.png" +dest_files=["res://.godot/imported/page_up.png-24127511132eb2a47c0eda7f032beade.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/source/addons/controller_icons/assets/key/period.png b/source/addons/controller_icons/assets/key/period.png new file mode 100644 index 0000000..d3e69fa Binary files /dev/null and b/source/addons/controller_icons/assets/key/period.png differ diff --git a/source/addons/controller_icons/assets/key/period.png.import b/source/addons/controller_icons/assets/key/period.png.import new file mode 100644 index 0000000..69ea92d --- /dev/null +++ b/source/addons/controller_icons/assets/key/period.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cf4h5grqhfkd8" +path="res://.godot/imported/period.png-a4d8f2843696679bb3e87882c95b0d90.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/period.png" +dest_files=["res://.godot/imported/period.png-a4d8f2843696679bb3e87882c95b0d90.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/source/addons/controller_icons/assets/key/plus.png b/source/addons/controller_icons/assets/key/plus.png new file mode 100644 index 0000000..ebc1035 Binary files /dev/null and b/source/addons/controller_icons/assets/key/plus.png differ diff --git a/source/addons/controller_icons/assets/key/plus.png.import b/source/addons/controller_icons/assets/key/plus.png.import new file mode 100644 index 0000000..c8542dd --- /dev/null +++ b/source/addons/controller_icons/assets/key/plus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxaaydvnqqa8f" +path="res://.godot/imported/plus.png-af02dd6f0e49f31f9b9ba7915608f44c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/plus.png" +dest_files=["res://.godot/imported/plus.png-af02dd6f0e49f31f9b9ba7915608f44c.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/source/addons/controller_icons/assets/key/plus_tall.png b/source/addons/controller_icons/assets/key/plus_tall.png new file mode 100644 index 0000000..3049116 Binary files /dev/null and b/source/addons/controller_icons/assets/key/plus_tall.png differ diff --git a/source/addons/controller_icons/assets/key/plus_tall.png.import b/source/addons/controller_icons/assets/key/plus_tall.png.import new file mode 100644 index 0000000..30e7d2f --- /dev/null +++ b/source/addons/controller_icons/assets/key/plus_tall.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b26nqf60p0su0" +path="res://.godot/imported/plus_tall.png-6963791cb2dd22492727106e4908d21c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/plus_tall.png" +dest_files=["res://.godot/imported/plus_tall.png-6963791cb2dd22492727106e4908d21c.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/source/addons/controller_icons/assets/key/print_screen.png b/source/addons/controller_icons/assets/key/print_screen.png new file mode 100644 index 0000000..88ad617 Binary files /dev/null and b/source/addons/controller_icons/assets/key/print_screen.png differ diff --git a/source/addons/controller_icons/assets/key/print_screen.png.import b/source/addons/controller_icons/assets/key/print_screen.png.import new file mode 100644 index 0000000..520fdc9 --- /dev/null +++ b/source/addons/controller_icons/assets/key/print_screen.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://evou4c7efg2q" +path="res://.godot/imported/print_screen.png-a5f3288be910635fd592c6f24c4f0a0f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/print_screen.png" +dest_files=["res://.godot/imported/print_screen.png-a5f3288be910635fd592c6f24c4f0a0f.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/source/addons/controller_icons/assets/key/q.png b/source/addons/controller_icons/assets/key/q.png new file mode 100644 index 0000000..fe8add9 Binary files /dev/null and b/source/addons/controller_icons/assets/key/q.png differ diff --git a/source/addons/controller_icons/assets/key/q.png.import b/source/addons/controller_icons/assets/key/q.png.import new file mode 100644 index 0000000..ff9d0e9 --- /dev/null +++ b/source/addons/controller_icons/assets/key/q.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dim5mk7g4q043" +path="res://.godot/imported/q.png-6ef53dece2e535e76ac4b6715c53b010.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/q.png" +dest_files=["res://.godot/imported/q.png-6ef53dece2e535e76ac4b6715c53b010.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/source/addons/controller_icons/assets/key/question.png b/source/addons/controller_icons/assets/key/question.png new file mode 100644 index 0000000..d32683c Binary files /dev/null and b/source/addons/controller_icons/assets/key/question.png differ diff --git a/source/addons/controller_icons/assets/key/question.png.import b/source/addons/controller_icons/assets/key/question.png.import new file mode 100644 index 0000000..c37ee07 --- /dev/null +++ b/source/addons/controller_icons/assets/key/question.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvltbdf4w1x4p" +path="res://.godot/imported/question.png-047f35398fc0d584a0c0d57bc94857a9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/question.png" +dest_files=["res://.godot/imported/question.png-047f35398fc0d584a0c0d57bc94857a9.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/source/addons/controller_icons/assets/key/quote.png b/source/addons/controller_icons/assets/key/quote.png new file mode 100644 index 0000000..108d665 Binary files /dev/null and b/source/addons/controller_icons/assets/key/quote.png differ diff --git a/source/addons/controller_icons/assets/key/quote.png.import b/source/addons/controller_icons/assets/key/quote.png.import new file mode 100644 index 0000000..e4e236a --- /dev/null +++ b/source/addons/controller_icons/assets/key/quote.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1e76upgh2mi" +path="res://.godot/imported/quote.png-01e82721231020d3c3b0ef2f3b74577b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/quote.png" +dest_files=["res://.godot/imported/quote.png-01e82721231020d3c3b0ef2f3b74577b.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/source/addons/controller_icons/assets/key/r.png b/source/addons/controller_icons/assets/key/r.png new file mode 100644 index 0000000..5ac2461 Binary files /dev/null and b/source/addons/controller_icons/assets/key/r.png differ diff --git a/source/addons/controller_icons/assets/key/r.png.import b/source/addons/controller_icons/assets/key/r.png.import new file mode 100644 index 0000000..e3f5a40 --- /dev/null +++ b/source/addons/controller_icons/assets/key/r.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xrv28lvm1ix6" +path="res://.godot/imported/r.png-c853d4227496df13556499c7e96ba025.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/r.png" +dest_files=["res://.godot/imported/r.png-c853d4227496df13556499c7e96ba025.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/source/addons/controller_icons/assets/key/s.png b/source/addons/controller_icons/assets/key/s.png new file mode 100644 index 0000000..1fb8919 Binary files /dev/null and b/source/addons/controller_icons/assets/key/s.png differ diff --git a/source/addons/controller_icons/assets/key/s.png.import b/source/addons/controller_icons/assets/key/s.png.import new file mode 100644 index 0000000..dc8f1ed --- /dev/null +++ b/source/addons/controller_icons/assets/key/s.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db6nbed6w2fis" +path.s3tc="res://.godot/imported/s.png-8ba01e8981caec742feea41c5c9382ab.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/s.png" +dest_files=["res://.godot/imported/s.png-8ba01e8981caec742feea41c5c9382ab.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/source/addons/controller_icons/assets/key/semicolon.png b/source/addons/controller_icons/assets/key/semicolon.png new file mode 100644 index 0000000..800d299 Binary files /dev/null and b/source/addons/controller_icons/assets/key/semicolon.png differ diff --git a/source/addons/controller_icons/assets/key/semicolon.png.import b/source/addons/controller_icons/assets/key/semicolon.png.import new file mode 100644 index 0000000..4347d45 --- /dev/null +++ b/source/addons/controller_icons/assets/key/semicolon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq1nvhcewu5nc" +path="res://.godot/imported/semicolon.png-c1c48dd478b2bf5ae5d9bae57cdf3d69.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/semicolon.png" +dest_files=["res://.godot/imported/semicolon.png-c1c48dd478b2bf5ae5d9bae57cdf3d69.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/source/addons/controller_icons/assets/key/shift.png b/source/addons/controller_icons/assets/key/shift.png new file mode 100644 index 0000000..05ba791 Binary files /dev/null and b/source/addons/controller_icons/assets/key/shift.png differ diff --git a/source/addons/controller_icons/assets/key/shift.png.import b/source/addons/controller_icons/assets/key/shift.png.import new file mode 100644 index 0000000..cb1fc38 --- /dev/null +++ b/source/addons/controller_icons/assets/key/shift.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvan6ddb77ca3" +path="res://.godot/imported/shift.png-a03a9bd92c17d4fc5b370f1755f396ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/shift.png" +dest_files=["res://.godot/imported/shift.png-a03a9bd92c17d4fc5b370f1755f396ce.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/source/addons/controller_icons/assets/key/shift_alt.png b/source/addons/controller_icons/assets/key/shift_alt.png new file mode 100644 index 0000000..e57fb5f Binary files /dev/null and b/source/addons/controller_icons/assets/key/shift_alt.png differ diff --git a/source/addons/controller_icons/assets/key/shift_alt.png.import b/source/addons/controller_icons/assets/key/shift_alt.png.import new file mode 100644 index 0000000..37c0c1b --- /dev/null +++ b/source/addons/controller_icons/assets/key/shift_alt.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dq0fide2iu37s" +path.s3tc="res://.godot/imported/shift_alt.png-e1013b0ce4d0764e12cc0d349786ce1b.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/shift_alt.png" +dest_files=["res://.godot/imported/shift_alt.png-e1013b0ce4d0764e12cc0d349786ce1b.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/source/addons/controller_icons/assets/key/slash.png b/source/addons/controller_icons/assets/key/slash.png new file mode 100644 index 0000000..38b411b Binary files /dev/null and b/source/addons/controller_icons/assets/key/slash.png differ diff --git a/source/addons/controller_icons/assets/key/slash.png.import b/source/addons/controller_icons/assets/key/slash.png.import new file mode 100644 index 0000000..3d1e1c9 --- /dev/null +++ b/source/addons/controller_icons/assets/key/slash.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dk6lqe2d0ej6e" +path="res://.godot/imported/slash.png-25cb40c1517be132337b6087293cb938.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/slash.png" +dest_files=["res://.godot/imported/slash.png-25cb40c1517be132337b6087293cb938.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/source/addons/controller_icons/assets/key/space.png b/source/addons/controller_icons/assets/key/space.png new file mode 100644 index 0000000..2298b4f Binary files /dev/null and b/source/addons/controller_icons/assets/key/space.png differ diff --git a/source/addons/controller_icons/assets/key/space.png.import b/source/addons/controller_icons/assets/key/space.png.import new file mode 100644 index 0000000..57fa5d8 --- /dev/null +++ b/source/addons/controller_icons/assets/key/space.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://coqj2fcsaxvcn" +path.s3tc="res://.godot/imported/space.png-da09457f968fc22d338589204e66e20a.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/space.png" +dest_files=["res://.godot/imported/space.png-da09457f968fc22d338589204e66e20a.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/source/addons/controller_icons/assets/key/t.png b/source/addons/controller_icons/assets/key/t.png new file mode 100644 index 0000000..9ba1250 Binary files /dev/null and b/source/addons/controller_icons/assets/key/t.png differ diff --git a/source/addons/controller_icons/assets/key/t.png.import b/source/addons/controller_icons/assets/key/t.png.import new file mode 100644 index 0000000..ce80e5e --- /dev/null +++ b/source/addons/controller_icons/assets/key/t.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dky25m6echo0u" +path="res://.godot/imported/t.png-70d394cdcf8270daedd4789ad431faf2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/t.png" +dest_files=["res://.godot/imported/t.png-70d394cdcf8270daedd4789ad431faf2.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/source/addons/controller_icons/assets/key/tab.png b/source/addons/controller_icons/assets/key/tab.png new file mode 100644 index 0000000..3fea857 Binary files /dev/null and b/source/addons/controller_icons/assets/key/tab.png differ diff --git a/source/addons/controller_icons/assets/key/tab.png.import b/source/addons/controller_icons/assets/key/tab.png.import new file mode 100644 index 0000000..615b862 --- /dev/null +++ b/source/addons/controller_icons/assets/key/tab.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ebn2rv8q28py" +path="res://.godot/imported/tab.png-22eec37122d05e9322480e85af4a45fc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/tab.png" +dest_files=["res://.godot/imported/tab.png-22eec37122d05e9322480e85af4a45fc.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/source/addons/controller_icons/assets/key/tilda.png b/source/addons/controller_icons/assets/key/tilda.png new file mode 100644 index 0000000..2f8db91 Binary files /dev/null and b/source/addons/controller_icons/assets/key/tilda.png differ diff --git a/source/addons/controller_icons/assets/key/tilda.png.import b/source/addons/controller_icons/assets/key/tilda.png.import new file mode 100644 index 0000000..471266a --- /dev/null +++ b/source/addons/controller_icons/assets/key/tilda.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnvawqvdd4jb4" +path="res://.godot/imported/tilda.png-54e1d4f4a3a498075fe0e8a403e57cbc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/tilda.png" +dest_files=["res://.godot/imported/tilda.png-54e1d4f4a3a498075fe0e8a403e57cbc.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/source/addons/controller_icons/assets/key/u.png b/source/addons/controller_icons/assets/key/u.png new file mode 100644 index 0000000..79f9138 Binary files /dev/null and b/source/addons/controller_icons/assets/key/u.png differ diff --git a/source/addons/controller_icons/assets/key/u.png.import b/source/addons/controller_icons/assets/key/u.png.import new file mode 100644 index 0000000..f57c86d --- /dev/null +++ b/source/addons/controller_icons/assets/key/u.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnbttdim7vc" +path="res://.godot/imported/u.png-3564c3693205b4e84d15f34f8fa09789.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/u.png" +dest_files=["res://.godot/imported/u.png-3564c3693205b4e84d15f34f8fa09789.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/source/addons/controller_icons/assets/key/v.png b/source/addons/controller_icons/assets/key/v.png new file mode 100644 index 0000000..c0f0599 Binary files /dev/null and b/source/addons/controller_icons/assets/key/v.png differ diff --git a/source/addons/controller_icons/assets/key/v.png.import b/source/addons/controller_icons/assets/key/v.png.import new file mode 100644 index 0000000..c2535d5 --- /dev/null +++ b/source/addons/controller_icons/assets/key/v.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dolof3o252oex" +path="res://.godot/imported/v.png-a2d45ee9b83f5d8e486139cae4520f4a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/v.png" +dest_files=["res://.godot/imported/v.png-a2d45ee9b83f5d8e486139cae4520f4a.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/source/addons/controller_icons/assets/key/w.png b/source/addons/controller_icons/assets/key/w.png new file mode 100644 index 0000000..06278ee Binary files /dev/null and b/source/addons/controller_icons/assets/key/w.png differ diff --git a/source/addons/controller_icons/assets/key/w.png.import b/source/addons/controller_icons/assets/key/w.png.import new file mode 100644 index 0000000..29915de --- /dev/null +++ b/source/addons/controller_icons/assets/key/w.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://casmdw1resubx" +path.s3tc="res://.godot/imported/w.png-ed3cd4592010c75b8d884d9d08803a21.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/w.png" +dest_files=["res://.godot/imported/w.png-ed3cd4592010c75b8d884d9d08803a21.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/source/addons/controller_icons/assets/key/win.png b/source/addons/controller_icons/assets/key/win.png new file mode 100644 index 0000000..58576cb Binary files /dev/null and b/source/addons/controller_icons/assets/key/win.png differ diff --git a/source/addons/controller_icons/assets/key/win.png.import b/source/addons/controller_icons/assets/key/win.png.import new file mode 100644 index 0000000..30de058 --- /dev/null +++ b/source/addons/controller_icons/assets/key/win.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2cj2f4jlkxwn" +path="res://.godot/imported/win.png-7991b99458c774d8f357ef921343498f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/win.png" +dest_files=["res://.godot/imported/win.png-7991b99458c774d8f357ef921343498f.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/source/addons/controller_icons/assets/key/x.png b/source/addons/controller_icons/assets/key/x.png new file mode 100644 index 0000000..95192f0 Binary files /dev/null and b/source/addons/controller_icons/assets/key/x.png differ diff --git a/source/addons/controller_icons/assets/key/x.png.import b/source/addons/controller_icons/assets/key/x.png.import new file mode 100644 index 0000000..9a1d9a8 --- /dev/null +++ b/source/addons/controller_icons/assets/key/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nil8w83cyn1m" +path="res://.godot/imported/x.png-f920649f251a4dcf50f6adb4b7dca48a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/x.png" +dest_files=["res://.godot/imported/x.png-f920649f251a4dcf50f6adb4b7dca48a.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/source/addons/controller_icons/assets/key/y.png b/source/addons/controller_icons/assets/key/y.png new file mode 100644 index 0000000..b94e455 Binary files /dev/null and b/source/addons/controller_icons/assets/key/y.png differ diff --git a/source/addons/controller_icons/assets/key/y.png.import b/source/addons/controller_icons/assets/key/y.png.import new file mode 100644 index 0000000..06cba44 --- /dev/null +++ b/source/addons/controller_icons/assets/key/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0547xmgu17np" +path="res://.godot/imported/y.png-64308a7952fca02f2ced96ef86b055d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/y.png" +dest_files=["res://.godot/imported/y.png-64308a7952fca02f2ced96ef86b055d8.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/source/addons/controller_icons/assets/key/z.png b/source/addons/controller_icons/assets/key/z.png new file mode 100644 index 0000000..e9a1299 Binary files /dev/null and b/source/addons/controller_icons/assets/key/z.png differ diff --git a/source/addons/controller_icons/assets/key/z.png.import b/source/addons/controller_icons/assets/key/z.png.import new file mode 100644 index 0000000..5c22e9d --- /dev/null +++ b/source/addons/controller_icons/assets/key/z.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvu4qvrwgslv3" +path="res://.godot/imported/z.png-db05dce79d25a20ba57100ebae2f198b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/key/z.png" +dest_files=["res://.godot/imported/z.png-db05dce79d25a20ba57100ebae2f198b.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/source/addons/controller_icons/assets/luna/a.png b/source/addons/controller_icons/assets/luna/a.png new file mode 100644 index 0000000..3ce778c Binary files /dev/null and b/source/addons/controller_icons/assets/luna/a.png differ diff --git a/source/addons/controller_icons/assets/luna/a.png.import b/source/addons/controller_icons/assets/luna/a.png.import new file mode 100644 index 0000000..6d5d7b7 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rn6k4m7fogon" +path="res://.godot/imported/a.png-59a62f9f6a6a0a2af64c8d88e34a5401.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/a.png" +dest_files=["res://.godot/imported/a.png-59a62f9f6a6a0a2af64c8d88e34a5401.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/source/addons/controller_icons/assets/luna/b.png b/source/addons/controller_icons/assets/luna/b.png new file mode 100644 index 0000000..e13fd62 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/b.png differ diff --git a/source/addons/controller_icons/assets/luna/b.png.import b/source/addons/controller_icons/assets/luna/b.png.import new file mode 100644 index 0000000..48a89da --- /dev/null +++ b/source/addons/controller_icons/assets/luna/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://brx8jkm3n4sud" +path="res://.godot/imported/b.png-1ae64f3087efcc70a69cd9d33882dce4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/b.png" +dest_files=["res://.godot/imported/b.png-1ae64f3087efcc70a69cd9d33882dce4.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/source/addons/controller_icons/assets/luna/circle.png b/source/addons/controller_icons/assets/luna/circle.png new file mode 100644 index 0000000..2d49de2 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/circle.png differ diff --git a/source/addons/controller_icons/assets/luna/circle.png.import b/source/addons/controller_icons/assets/luna/circle.png.import new file mode 100644 index 0000000..a53a126 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/circle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0kbg1368mrbb" +path="res://.godot/imported/circle.png-c33dba2bdcfb9b825b3c51fddde35778.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/circle.png" +dest_files=["res://.godot/imported/circle.png-c33dba2bdcfb9b825b3c51fddde35778.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/source/addons/controller_icons/assets/luna/diagram.png b/source/addons/controller_icons/assets/luna/diagram.png new file mode 100644 index 0000000..ec8d42c Binary files /dev/null and b/source/addons/controller_icons/assets/luna/diagram.png differ diff --git a/source/addons/controller_icons/assets/luna/diagram.png.import b/source/addons/controller_icons/assets/luna/diagram.png.import new file mode 100644 index 0000000..dee70d4 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/diagram.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://46o74d1r5fhf" +path="res://.godot/imported/diagram.png-0e19e89b9a714f35a947bce58d788325.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/diagram.png" +dest_files=["res://.godot/imported/diagram.png-0e19e89b9a714f35a947bce58d788325.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/source/addons/controller_icons/assets/luna/diagram_simple.png b/source/addons/controller_icons/assets/luna/diagram_simple.png new file mode 100644 index 0000000..5bf82ad Binary files /dev/null and b/source/addons/controller_icons/assets/luna/diagram_simple.png differ diff --git a/source/addons/controller_icons/assets/luna/diagram_simple.png.import b/source/addons/controller_icons/assets/luna/diagram_simple.png.import new file mode 100644 index 0000000..c6adb8e --- /dev/null +++ b/source/addons/controller_icons/assets/luna/diagram_simple.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0rrslb07wjrf" +path="res://.godot/imported/diagram_simple.png-28acd78142da16060c36b59ae19d78b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/diagram_simple.png" +dest_files=["res://.godot/imported/diagram_simple.png-28acd78142da16060c36b59ae19d78b7.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/source/addons/controller_icons/assets/luna/dpad.png b/source/addons/controller_icons/assets/luna/dpad.png new file mode 100644 index 0000000..2d0f990 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/dpad.png differ diff --git a/source/addons/controller_icons/assets/luna/dpad.png.import b/source/addons/controller_icons/assets/luna/dpad.png.import new file mode 100644 index 0000000..2c3fbea --- /dev/null +++ b/source/addons/controller_icons/assets/luna/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://douyjf06vdy2t" +path="res://.godot/imported/dpad.png-df663e7793bdd6d418baae05c51fec49.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/dpad.png" +dest_files=["res://.godot/imported/dpad.png-df663e7793bdd6d418baae05c51fec49.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/source/addons/controller_icons/assets/luna/dpad_down.png b/source/addons/controller_icons/assets/luna/dpad_down.png new file mode 100644 index 0000000..900d17b Binary files /dev/null and b/source/addons/controller_icons/assets/luna/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/luna/dpad_down.png.import b/source/addons/controller_icons/assets/luna/dpad_down.png.import new file mode 100644 index 0000000..7988d70 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4tfv24rxbu8i" +path="res://.godot/imported/dpad_down.png-bca02bdbaf756f49c333f91ba05b8203.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-bca02bdbaf756f49c333f91ba05b8203.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/source/addons/controller_icons/assets/luna/dpad_left.png b/source/addons/controller_icons/assets/luna/dpad_left.png new file mode 100644 index 0000000..e5cd082 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/luna/dpad_left.png.import b/source/addons/controller_icons/assets/luna/dpad_left.png.import new file mode 100644 index 0000000..b8510f0 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yapt6fyi0fpt" +path="res://.godot/imported/dpad_left.png-ef7fb1018db88ffdeb70ff1032f2d674.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-ef7fb1018db88ffdeb70ff1032f2d674.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/source/addons/controller_icons/assets/luna/dpad_right.png b/source/addons/controller_icons/assets/luna/dpad_right.png new file mode 100644 index 0000000..2d9b2fe Binary files /dev/null and b/source/addons/controller_icons/assets/luna/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/luna/dpad_right.png.import b/source/addons/controller_icons/assets/luna/dpad_right.png.import new file mode 100644 index 0000000..5561a1c --- /dev/null +++ b/source/addons/controller_icons/assets/luna/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt0av1cfibdbv" +path="res://.godot/imported/dpad_right.png-5d9e7fd5de979dd6e72fc6c6e218ff23.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-5d9e7fd5de979dd6e72fc6c6e218ff23.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/source/addons/controller_icons/assets/luna/dpad_up.png b/source/addons/controller_icons/assets/luna/dpad_up.png new file mode 100644 index 0000000..595314f Binary files /dev/null and b/source/addons/controller_icons/assets/luna/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/luna/dpad_up.png.import b/source/addons/controller_icons/assets/luna/dpad_up.png.import new file mode 100644 index 0000000..69f8b78 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqcmbtn5d8pn2" +path="res://.godot/imported/dpad_up.png-ef55bb167760eab1071a8262962d899b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-ef55bb167760eab1071a8262962d899b.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/source/addons/controller_icons/assets/luna/l_stick.png b/source/addons/controller_icons/assets/luna/l_stick.png new file mode 100644 index 0000000..de49dc6 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/l_stick.png differ diff --git a/source/addons/controller_icons/assets/luna/l_stick.png.import b/source/addons/controller_icons/assets/luna/l_stick.png.import new file mode 100644 index 0000000..a3b0b78 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6l2bryk8cqfx" +path="res://.godot/imported/l_stick.png-ef7c5449283b14a6866a7fe5533de180.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-ef7c5449283b14a6866a7fe5533de180.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/source/addons/controller_icons/assets/luna/l_stick_click.png b/source/addons/controller_icons/assets/luna/l_stick_click.png new file mode 100644 index 0000000..ad0428f Binary files /dev/null and b/source/addons/controller_icons/assets/luna/l_stick_click.png differ diff --git a/source/addons/controller_icons/assets/luna/l_stick_click.png.import b/source/addons/controller_icons/assets/luna/l_stick_click.png.import new file mode 100644 index 0000000..90a7651 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/l_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cj7sy2o7eq8xs" +path="res://.godot/imported/l_stick_click.png-1e75c4b6afaefad25cb373de42d4831b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/l_stick_click.png" +dest_files=["res://.godot/imported/l_stick_click.png-1e75c4b6afaefad25cb373de42d4831b.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/source/addons/controller_icons/assets/luna/lb.png b/source/addons/controller_icons/assets/luna/lb.png new file mode 100644 index 0000000..f6c414b Binary files /dev/null and b/source/addons/controller_icons/assets/luna/lb.png differ diff --git a/source/addons/controller_icons/assets/luna/lb.png.import b/source/addons/controller_icons/assets/luna/lb.png.import new file mode 100644 index 0000000..928d0ec --- /dev/null +++ b/source/addons/controller_icons/assets/luna/lb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bupy3dxhyn86p" +path="res://.godot/imported/lb.png-3c96db6e020bba08a50a0ebd9fe8e731.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/lb.png" +dest_files=["res://.godot/imported/lb.png-3c96db6e020bba08a50a0ebd9fe8e731.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/source/addons/controller_icons/assets/luna/lt.png b/source/addons/controller_icons/assets/luna/lt.png new file mode 100644 index 0000000..e9681c9 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/lt.png differ diff --git a/source/addons/controller_icons/assets/luna/lt.png.import b/source/addons/controller_icons/assets/luna/lt.png.import new file mode 100644 index 0000000..5f9404e --- /dev/null +++ b/source/addons/controller_icons/assets/luna/lt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nxnpwylabu3e" +path="res://.godot/imported/lt.png-2cdb294c39e41ed6afc2addf04863726.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/lt.png" +dest_files=["res://.godot/imported/lt.png-2cdb294c39e41ed6afc2addf04863726.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/source/addons/controller_icons/assets/luna/menu.png b/source/addons/controller_icons/assets/luna/menu.png new file mode 100644 index 0000000..4a96c7e Binary files /dev/null and b/source/addons/controller_icons/assets/luna/menu.png differ diff --git a/source/addons/controller_icons/assets/luna/menu.png.import b/source/addons/controller_icons/assets/luna/menu.png.import new file mode 100644 index 0000000..7140436 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/menu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7udxwl7mxb8d" +path="res://.godot/imported/menu.png-f8eed2754c94df5e0b92317c9d3eaf7f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/menu.png" +dest_files=["res://.godot/imported/menu.png-f8eed2754c94df5e0b92317c9d3eaf7f.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/source/addons/controller_icons/assets/luna/microphone.png b/source/addons/controller_icons/assets/luna/microphone.png new file mode 100644 index 0000000..862ed7a Binary files /dev/null and b/source/addons/controller_icons/assets/luna/microphone.png differ diff --git a/source/addons/controller_icons/assets/luna/microphone.png.import b/source/addons/controller_icons/assets/luna/microphone.png.import new file mode 100644 index 0000000..194c05d --- /dev/null +++ b/source/addons/controller_icons/assets/luna/microphone.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wwhe5v7m720e" +path="res://.godot/imported/microphone.png-7c6c78023d41c0eecbcde19029281402.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/microphone.png" +dest_files=["res://.godot/imported/microphone.png-7c6c78023d41c0eecbcde19029281402.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/source/addons/controller_icons/assets/luna/r_stick.png b/source/addons/controller_icons/assets/luna/r_stick.png new file mode 100644 index 0000000..866be1c Binary files /dev/null and b/source/addons/controller_icons/assets/luna/r_stick.png differ diff --git a/source/addons/controller_icons/assets/luna/r_stick.png.import b/source/addons/controller_icons/assets/luna/r_stick.png.import new file mode 100644 index 0000000..45b3e26 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuhjgyoq808np" +path="res://.godot/imported/r_stick.png-7f23b2a2644811f3d84785a06ee547d4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-7f23b2a2644811f3d84785a06ee547d4.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/source/addons/controller_icons/assets/luna/r_stick_click.png b/source/addons/controller_icons/assets/luna/r_stick_click.png new file mode 100644 index 0000000..de08508 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/r_stick_click.png differ diff --git a/source/addons/controller_icons/assets/luna/r_stick_click.png.import b/source/addons/controller_icons/assets/luna/r_stick_click.png.import new file mode 100644 index 0000000..25e6488 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/r_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dppg3hs5a8wcy" +path="res://.godot/imported/r_stick_click.png-25280c4007322abd67a417283b7ee38f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/r_stick_click.png" +dest_files=["res://.godot/imported/r_stick_click.png-25280c4007322abd67a417283b7ee38f.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/source/addons/controller_icons/assets/luna/rb.png b/source/addons/controller_icons/assets/luna/rb.png new file mode 100644 index 0000000..5dcfc6d Binary files /dev/null and b/source/addons/controller_icons/assets/luna/rb.png differ diff --git a/source/addons/controller_icons/assets/luna/rb.png.import b/source/addons/controller_icons/assets/luna/rb.png.import new file mode 100644 index 0000000..ce6e44b --- /dev/null +++ b/source/addons/controller_icons/assets/luna/rb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cidn3sefbrnnf" +path="res://.godot/imported/rb.png-c7ea937fbeb3328ee9e0f2779a5f7450.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/rb.png" +dest_files=["res://.godot/imported/rb.png-c7ea937fbeb3328ee9e0f2779a5f7450.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/source/addons/controller_icons/assets/luna/rt.png b/source/addons/controller_icons/assets/luna/rt.png new file mode 100644 index 0000000..7bf27f4 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/rt.png differ diff --git a/source/addons/controller_icons/assets/luna/rt.png.import b/source/addons/controller_icons/assets/luna/rt.png.import new file mode 100644 index 0000000..cd2aa02 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/rt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cagq7na0dq2hc" +path="res://.godot/imported/rt.png-317167a9c4de6aeaf4313c55cae3cb71.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/rt.png" +dest_files=["res://.godot/imported/rt.png-317167a9c4de6aeaf4313c55cae3cb71.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/source/addons/controller_icons/assets/luna/x.png b/source/addons/controller_icons/assets/luna/x.png new file mode 100644 index 0000000..0a98483 Binary files /dev/null and b/source/addons/controller_icons/assets/luna/x.png differ diff --git a/source/addons/controller_icons/assets/luna/x.png.import b/source/addons/controller_icons/assets/luna/x.png.import new file mode 100644 index 0000000..4ea58c6 --- /dev/null +++ b/source/addons/controller_icons/assets/luna/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bdaab4yfsklp5" +path="res://.godot/imported/x.png-f47dc752ce8b528de61a09789677ef87.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/x.png" +dest_files=["res://.godot/imported/x.png-f47dc752ce8b528de61a09789677ef87.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/source/addons/controller_icons/assets/luna/y.png b/source/addons/controller_icons/assets/luna/y.png new file mode 100644 index 0000000..1d4a18c Binary files /dev/null and b/source/addons/controller_icons/assets/luna/y.png differ diff --git a/source/addons/controller_icons/assets/luna/y.png.import b/source/addons/controller_icons/assets/luna/y.png.import new file mode 100644 index 0000000..d7532df --- /dev/null +++ b/source/addons/controller_icons/assets/luna/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1i21xnegic87" +path="res://.godot/imported/y.png-b4f0d57293966dde5b58789c67559fd2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/luna/y.png" +dest_files=["res://.godot/imported/y.png-b4f0d57293966dde5b58789c67559fd2.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/source/addons/controller_icons/assets/mouse/left.png b/source/addons/controller_icons/assets/mouse/left.png new file mode 100644 index 0000000..1b1eb86 Binary files /dev/null and b/source/addons/controller_icons/assets/mouse/left.png differ diff --git a/source/addons/controller_icons/assets/mouse/left.png.import b/source/addons/controller_icons/assets/mouse/left.png.import new file mode 100644 index 0000000..b9a878c --- /dev/null +++ b/source/addons/controller_icons/assets/mouse/left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8vuy7l8npt6w" +path="res://.godot/imported/left.png-13d9369d03c3b5ebc7aad51d61ba4b7c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/mouse/left.png" +dest_files=["res://.godot/imported/left.png-13d9369d03c3b5ebc7aad51d61ba4b7c.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/source/addons/controller_icons/assets/mouse/middle.png b/source/addons/controller_icons/assets/mouse/middle.png new file mode 100644 index 0000000..0fd0a2e Binary files /dev/null and b/source/addons/controller_icons/assets/mouse/middle.png differ diff --git a/source/addons/controller_icons/assets/mouse/middle.png.import b/source/addons/controller_icons/assets/mouse/middle.png.import new file mode 100644 index 0000000..7decd8f --- /dev/null +++ b/source/addons/controller_icons/assets/mouse/middle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://e146nr3hsy0p" +path="res://.godot/imported/middle.png-01f248dbdab856ae6ed2ee6cdb5ed595.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/mouse/middle.png" +dest_files=["res://.godot/imported/middle.png-01f248dbdab856ae6ed2ee6cdb5ed595.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/source/addons/controller_icons/assets/mouse/right.png b/source/addons/controller_icons/assets/mouse/right.png new file mode 100644 index 0000000..cc24f92 Binary files /dev/null and b/source/addons/controller_icons/assets/mouse/right.png differ diff --git a/source/addons/controller_icons/assets/mouse/right.png.import b/source/addons/controller_icons/assets/mouse/right.png.import new file mode 100644 index 0000000..28191cd --- /dev/null +++ b/source/addons/controller_icons/assets/mouse/right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cy7e67qj2flir" +path="res://.godot/imported/right.png-360abc8e1cd731233672b90162b87e4d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/mouse/right.png" +dest_files=["res://.godot/imported/right.png-360abc8e1cd731233672b90162b87e4d.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/source/addons/controller_icons/assets/mouse/side_down.png b/source/addons/controller_icons/assets/mouse/side_down.png new file mode 100644 index 0000000..0978cb4 Binary files /dev/null and b/source/addons/controller_icons/assets/mouse/side_down.png differ diff --git a/source/addons/controller_icons/assets/mouse/side_down.png.import b/source/addons/controller_icons/assets/mouse/side_down.png.import new file mode 100644 index 0000000..a6db0da --- /dev/null +++ b/source/addons/controller_icons/assets/mouse/side_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwfrvijjk8day" +path="res://.godot/imported/side_down.png-d0f917f031f1fa83082f5a03dd4d47e1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/mouse/side_down.png" +dest_files=["res://.godot/imported/side_down.png-d0f917f031f1fa83082f5a03dd4d47e1.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/source/addons/controller_icons/assets/mouse/side_up.png b/source/addons/controller_icons/assets/mouse/side_up.png new file mode 100644 index 0000000..28c1b58 Binary files /dev/null and b/source/addons/controller_icons/assets/mouse/side_up.png differ diff --git a/source/addons/controller_icons/assets/mouse/side_up.png.import b/source/addons/controller_icons/assets/mouse/side_up.png.import new file mode 100644 index 0000000..f679315 --- /dev/null +++ b/source/addons/controller_icons/assets/mouse/side_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgaiucyxx3egf" +path="res://.godot/imported/side_up.png-5968fb429ff2d3f3520b5fee858a6bf8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/mouse/side_up.png" +dest_files=["res://.godot/imported/side_up.png-5968fb429ff2d3f3520b5fee858a6bf8.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/source/addons/controller_icons/assets/mouse/simple.png b/source/addons/controller_icons/assets/mouse/simple.png new file mode 100644 index 0000000..774bc62 Binary files /dev/null and b/source/addons/controller_icons/assets/mouse/simple.png differ diff --git a/source/addons/controller_icons/assets/mouse/simple.png.import b/source/addons/controller_icons/assets/mouse/simple.png.import new file mode 100644 index 0000000..c499a0f --- /dev/null +++ b/source/addons/controller_icons/assets/mouse/simple.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://u3k75sn1tb83" +path="res://.godot/imported/simple.png-25602dc17ea731070ac19eb5e687d6b0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/mouse/simple.png" +dest_files=["res://.godot/imported/simple.png-25602dc17ea731070ac19eb5e687d6b0.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/source/addons/controller_icons/assets/mouse/wheel_down.png b/source/addons/controller_icons/assets/mouse/wheel_down.png new file mode 100644 index 0000000..e0b3529 Binary files /dev/null and b/source/addons/controller_icons/assets/mouse/wheel_down.png differ diff --git a/source/addons/controller_icons/assets/mouse/wheel_down.png.import b/source/addons/controller_icons/assets/mouse/wheel_down.png.import new file mode 100644 index 0000000..0600715 --- /dev/null +++ b/source/addons/controller_icons/assets/mouse/wheel_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cquw4xas0kw4b" +path="res://.godot/imported/wheel_down.png-41403fb0624313a3521aa5396d2e7472.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/mouse/wheel_down.png" +dest_files=["res://.godot/imported/wheel_down.png-41403fb0624313a3521aa5396d2e7472.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/source/addons/controller_icons/assets/mouse/wheel_up.png b/source/addons/controller_icons/assets/mouse/wheel_up.png new file mode 100644 index 0000000..274c1b5 Binary files /dev/null and b/source/addons/controller_icons/assets/mouse/wheel_up.png differ diff --git a/source/addons/controller_icons/assets/mouse/wheel_up.png.import b/source/addons/controller_icons/assets/mouse/wheel_up.png.import new file mode 100644 index 0000000..8fa5134 --- /dev/null +++ b/source/addons/controller_icons/assets/mouse/wheel_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwqk1mmy6tyay" +path="res://.godot/imported/wheel_up.png-90da1a0b587bd0dc8cda13989793b735.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/mouse/wheel_up.png" +dest_files=["res://.godot/imported/wheel_up.png-90da1a0b587bd0dc8cda13989793b735.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/source/addons/controller_icons/assets/ouya/a.png b/source/addons/controller_icons/assets/ouya/a.png new file mode 100644 index 0000000..5fcbb44 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/a.png differ diff --git a/source/addons/controller_icons/assets/ouya/a.png.import b/source/addons/controller_icons/assets/ouya/a.png.import new file mode 100644 index 0000000..cb1fa1e --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvbc2l1ygkits" +path="res://.godot/imported/a.png-29eecb9631be3f2d922f22d192491112.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/a.png" +dest_files=["res://.godot/imported/a.png-29eecb9631be3f2d922f22d192491112.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/source/addons/controller_icons/assets/ouya/dpad.png b/source/addons/controller_icons/assets/ouya/dpad.png new file mode 100644 index 0000000..0ced97a Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/dpad.png differ diff --git a/source/addons/controller_icons/assets/ouya/dpad.png.import b/source/addons/controller_icons/assets/ouya/dpad.png.import new file mode 100644 index 0000000..236292f --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c87mvk8pxwqx0" +path="res://.godot/imported/dpad.png-9426474647bb17cbcfecf0960a2689ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/dpad.png" +dest_files=["res://.godot/imported/dpad.png-9426474647bb17cbcfecf0960a2689ca.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/source/addons/controller_icons/assets/ouya/dpad_down.png b/source/addons/controller_icons/assets/ouya/dpad_down.png new file mode 100644 index 0000000..6b295ac Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/ouya/dpad_down.png.import b/source/addons/controller_icons/assets/ouya/dpad_down.png.import new file mode 100644 index 0000000..c84bd46 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpvuswm1t7mgh" +path="res://.godot/imported/dpad_down.png-13b277973726f4697773238d58a2206f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-13b277973726f4697773238d58a2206f.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/source/addons/controller_icons/assets/ouya/dpad_left.png b/source/addons/controller_icons/assets/ouya/dpad_left.png new file mode 100644 index 0000000..533e42a Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/ouya/dpad_left.png.import b/source/addons/controller_icons/assets/ouya/dpad_left.png.import new file mode 100644 index 0000000..a2d534e --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3w86u8upcybs" +path="res://.godot/imported/dpad_left.png-d6da2405f928bc1bf7410a880edba283.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-d6da2405f928bc1bf7410a880edba283.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/source/addons/controller_icons/assets/ouya/dpad_right.png b/source/addons/controller_icons/assets/ouya/dpad_right.png new file mode 100644 index 0000000..1b3d9ae Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/ouya/dpad_right.png.import b/source/addons/controller_icons/assets/ouya/dpad_right.png.import new file mode 100644 index 0000000..97aacfc --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1f1hf2gs8jek" +path="res://.godot/imported/dpad_right.png-44405ca2fe5d8a219ba0eba3426bec59.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-44405ca2fe5d8a219ba0eba3426bec59.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/source/addons/controller_icons/assets/ouya/dpad_up.png b/source/addons/controller_icons/assets/ouya/dpad_up.png new file mode 100644 index 0000000..70ea26e Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/ouya/dpad_up.png.import b/source/addons/controller_icons/assets/ouya/dpad_up.png.import new file mode 100644 index 0000000..611f1b3 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lrrqo1v6mlnw" +path="res://.godot/imported/dpad_up.png-0d780dfe823faac5787681ba448e07f0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-0d780dfe823faac5787681ba448e07f0.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/source/addons/controller_icons/assets/ouya/l1.png b/source/addons/controller_icons/assets/ouya/l1.png new file mode 100644 index 0000000..2b20073 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/l1.png differ diff --git a/source/addons/controller_icons/assets/ouya/l1.png.import b/source/addons/controller_icons/assets/ouya/l1.png.import new file mode 100644 index 0000000..a0eb303 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/l1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://oll7c7kiudqg" +path="res://.godot/imported/l1.png-40be426ff0b63ac71a387da3194167e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/l1.png" +dest_files=["res://.godot/imported/l1.png-40be426ff0b63ac71a387da3194167e8.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/source/addons/controller_icons/assets/ouya/l2.png b/source/addons/controller_icons/assets/ouya/l2.png new file mode 100644 index 0000000..6234c1e Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/l2.png differ diff --git a/source/addons/controller_icons/assets/ouya/l2.png.import b/source/addons/controller_icons/assets/ouya/l2.png.import new file mode 100644 index 0000000..f63cb01 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/l2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckthgirocj4ye" +path="res://.godot/imported/l2.png-4ccae94ce7c12e37b2621a33b6e321e6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/l2.png" +dest_files=["res://.godot/imported/l2.png-4ccae94ce7c12e37b2621a33b6e321e6.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/source/addons/controller_icons/assets/ouya/l_stick.png b/source/addons/controller_icons/assets/ouya/l_stick.png new file mode 100644 index 0000000..631dad6 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/l_stick.png differ diff --git a/source/addons/controller_icons/assets/ouya/l_stick.png.import b/source/addons/controller_icons/assets/ouya/l_stick.png.import new file mode 100644 index 0000000..c44fe1b --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddebrfwlw0rx4" +path="res://.godot/imported/l_stick.png-501fa1ab3b082e67f566728cbecc7708.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-501fa1ab3b082e67f566728cbecc7708.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/source/addons/controller_icons/assets/ouya/menu.png b/source/addons/controller_icons/assets/ouya/menu.png new file mode 100644 index 0000000..b2eef11 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/menu.png differ diff --git a/source/addons/controller_icons/assets/ouya/menu.png.import b/source/addons/controller_icons/assets/ouya/menu.png.import new file mode 100644 index 0000000..1226426 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/menu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddqchjo615p6p" +path="res://.godot/imported/menu.png-c3e217d08a17c9c3997312859256b788.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/menu.png" +dest_files=["res://.godot/imported/menu.png-c3e217d08a17c9c3997312859256b788.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/source/addons/controller_icons/assets/ouya/o.png b/source/addons/controller_icons/assets/ouya/o.png new file mode 100644 index 0000000..e96a62c Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/o.png differ diff --git a/source/addons/controller_icons/assets/ouya/o.png.import b/source/addons/controller_icons/assets/ouya/o.png.import new file mode 100644 index 0000000..8f11c5c --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/o.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btb2inju0rhw4" +path="res://.godot/imported/o.png-5860511e81509fe5f2c91ae353e00a58.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/o.png" +dest_files=["res://.godot/imported/o.png-5860511e81509fe5f2c91ae353e00a58.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/source/addons/controller_icons/assets/ouya/r1.png b/source/addons/controller_icons/assets/ouya/r1.png new file mode 100644 index 0000000..5e8f924 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/r1.png differ diff --git a/source/addons/controller_icons/assets/ouya/r1.png.import b/source/addons/controller_icons/assets/ouya/r1.png.import new file mode 100644 index 0000000..7be0b67 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/r1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwchef4k1lkhv" +path="res://.godot/imported/r1.png-2f981ba18f14037d054db9e0a74904f5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/r1.png" +dest_files=["res://.godot/imported/r1.png-2f981ba18f14037d054db9e0a74904f5.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/source/addons/controller_icons/assets/ouya/r2.png b/source/addons/controller_icons/assets/ouya/r2.png new file mode 100644 index 0000000..55db1c7 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/r2.png differ diff --git a/source/addons/controller_icons/assets/ouya/r2.png.import b/source/addons/controller_icons/assets/ouya/r2.png.import new file mode 100644 index 0000000..a644d20 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/r2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckuwwjnc4n0ty" +path="res://.godot/imported/r2.png-5547939bd008bff4345aab8e7d1e50fc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/r2.png" +dest_files=["res://.godot/imported/r2.png-5547939bd008bff4345aab8e7d1e50fc.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/source/addons/controller_icons/assets/ouya/r_stick.png b/source/addons/controller_icons/assets/ouya/r_stick.png new file mode 100644 index 0000000..c46c748 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/r_stick.png differ diff --git a/source/addons/controller_icons/assets/ouya/r_stick.png.import b/source/addons/controller_icons/assets/ouya/r_stick.png.import new file mode 100644 index 0000000..4b5b315 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://x6qlfu7hm2av" +path="res://.godot/imported/r_stick.png-b68d71869af9e2ee20718829995adcc3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-b68d71869af9e2ee20718829995adcc3.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/source/addons/controller_icons/assets/ouya/touch.png b/source/addons/controller_icons/assets/ouya/touch.png new file mode 100644 index 0000000..2df0e46 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/touch.png differ diff --git a/source/addons/controller_icons/assets/ouya/touch.png.import b/source/addons/controller_icons/assets/ouya/touch.png.import new file mode 100644 index 0000000..25dd4bd --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/touch.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crrpiy63ykx14" +path="res://.godot/imported/touch.png-1ba3e7ec2b35a2d00655a24d0089caad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/touch.png" +dest_files=["res://.godot/imported/touch.png-1ba3e7ec2b35a2d00655a24d0089caad.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/source/addons/controller_icons/assets/ouya/u.png b/source/addons/controller_icons/assets/ouya/u.png new file mode 100644 index 0000000..c90ca2d Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/u.png differ diff --git a/source/addons/controller_icons/assets/ouya/u.png.import b/source/addons/controller_icons/assets/ouya/u.png.import new file mode 100644 index 0000000..81fb813 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/u.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxom1daxf3rkv" +path="res://.godot/imported/u.png-599d0e95eb0d2f2937ff55a5a246fb0f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/u.png" +dest_files=["res://.godot/imported/u.png-599d0e95eb0d2f2937ff55a5a246fb0f.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/source/addons/controller_icons/assets/ouya/y.png b/source/addons/controller_icons/assets/ouya/y.png new file mode 100644 index 0000000..c0a08e0 Binary files /dev/null and b/source/addons/controller_icons/assets/ouya/y.png differ diff --git a/source/addons/controller_icons/assets/ouya/y.png.import b/source/addons/controller_icons/assets/ouya/y.png.import new file mode 100644 index 0000000..37e4584 --- /dev/null +++ b/source/addons/controller_icons/assets/ouya/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfu8cthd37ls6" +path="res://.godot/imported/y.png-5d0ac3a56f44813490c7f2c4bfb2a86b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ouya/y.png" +dest_files=["res://.godot/imported/y.png-5d0ac3a56f44813490c7f2c4bfb2a86b.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/source/addons/controller_icons/assets/positional/east.png b/source/addons/controller_icons/assets/positional/east.png new file mode 100644 index 0000000..8a821aa Binary files /dev/null and b/source/addons/controller_icons/assets/positional/east.png differ diff --git a/source/addons/controller_icons/assets/positional/east.png.import b/source/addons/controller_icons/assets/positional/east.png.import new file mode 100644 index 0000000..4c4073b --- /dev/null +++ b/source/addons/controller_icons/assets/positional/east.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ct4njsaxkgfd8" +path="res://.godot/imported/east.png-468aa650c9556f22433824736c3d70c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/positional/east.png" +dest_files=["res://.godot/imported/east.png-468aa650c9556f22433824736c3d70c7.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/source/addons/controller_icons/assets/positional/north.png b/source/addons/controller_icons/assets/positional/north.png new file mode 100644 index 0000000..888a343 Binary files /dev/null and b/source/addons/controller_icons/assets/positional/north.png differ diff --git a/source/addons/controller_icons/assets/positional/north.png.import b/source/addons/controller_icons/assets/positional/north.png.import new file mode 100644 index 0000000..204ca14 --- /dev/null +++ b/source/addons/controller_icons/assets/positional/north.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://78i5io3k54qf" +path="res://.godot/imported/north.png-8eae94f078419a6dd29488ecb0e91781.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/positional/north.png" +dest_files=["res://.godot/imported/north.png-8eae94f078419a6dd29488ecb0e91781.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/source/addons/controller_icons/assets/positional/south.png b/source/addons/controller_icons/assets/positional/south.png new file mode 100644 index 0000000..78da86f Binary files /dev/null and b/source/addons/controller_icons/assets/positional/south.png differ diff --git a/source/addons/controller_icons/assets/positional/south.png.import b/source/addons/controller_icons/assets/positional/south.png.import new file mode 100644 index 0000000..a5dffbc --- /dev/null +++ b/source/addons/controller_icons/assets/positional/south.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7cyrhxkp7lqv" +path="res://.godot/imported/south.png-641e4a1035caae19816e0982ab1fa092.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/positional/south.png" +dest_files=["res://.godot/imported/south.png-641e4a1035caae19816e0982ab1fa092.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/source/addons/controller_icons/assets/positional/west.png b/source/addons/controller_icons/assets/positional/west.png new file mode 100644 index 0000000..ccf72ae Binary files /dev/null and b/source/addons/controller_icons/assets/positional/west.png differ diff --git a/source/addons/controller_icons/assets/positional/west.png.import b/source/addons/controller_icons/assets/positional/west.png.import new file mode 100644 index 0000000..49a14a0 --- /dev/null +++ b/source/addons/controller_icons/assets/positional/west.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpm66ufy22rft" +path="res://.godot/imported/west.png-721f52ab7a924c9ea30a0b9420becae2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/positional/west.png" +dest_files=["res://.godot/imported/west.png-721f52ab7a924c9ea30a0b9420becae2.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/source/addons/controller_icons/assets/ps3/circle.png b/source/addons/controller_icons/assets/ps3/circle.png new file mode 100644 index 0000000..10dd9b0 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/circle.png differ diff --git a/source/addons/controller_icons/assets/ps3/circle.png.import b/source/addons/controller_icons/assets/ps3/circle.png.import new file mode 100644 index 0000000..621fa02 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/circle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dse7uwpu8ckqc" +path="res://.godot/imported/circle.png-70d1c7377e6d97fdb685a6b0754f3f42.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/circle.png" +dest_files=["res://.godot/imported/circle.png-70d1c7377e6d97fdb685a6b0754f3f42.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/source/addons/controller_icons/assets/ps3/cross.png b/source/addons/controller_icons/assets/ps3/cross.png new file mode 100644 index 0000000..73a42a7 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/cross.png differ diff --git a/source/addons/controller_icons/assets/ps3/cross.png.import b/source/addons/controller_icons/assets/ps3/cross.png.import new file mode 100644 index 0000000..cdba998 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/cross.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2ucqffimqhnr" +path="res://.godot/imported/cross.png-e329bed17ebc98e605153471fea82b80.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/cross.png" +dest_files=["res://.godot/imported/cross.png-e329bed17ebc98e605153471fea82b80.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/source/addons/controller_icons/assets/ps3/dpad.png b/source/addons/controller_icons/assets/ps3/dpad.png new file mode 100644 index 0000000..5a31103 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/dpad.png differ diff --git a/source/addons/controller_icons/assets/ps3/dpad.png.import b/source/addons/controller_icons/assets/ps3/dpad.png.import new file mode 100644 index 0000000..e0c4dfe --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckjwmngj4kbho" +path="res://.godot/imported/dpad.png-4637fef7b5db266765dab22db8f811fd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/dpad.png" +dest_files=["res://.godot/imported/dpad.png-4637fef7b5db266765dab22db8f811fd.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/source/addons/controller_icons/assets/ps3/dpad_down.png b/source/addons/controller_icons/assets/ps3/dpad_down.png new file mode 100644 index 0000000..dddcc0d Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/ps3/dpad_down.png.import b/source/addons/controller_icons/assets/ps3/dpad_down.png.import new file mode 100644 index 0000000..1316c7f --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq5syvstyqo2a" +path="res://.godot/imported/dpad_down.png-3aa92d8def03f8a78bef46eb393c9ccb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-3aa92d8def03f8a78bef46eb393c9ccb.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/source/addons/controller_icons/assets/ps3/dpad_left.png b/source/addons/controller_icons/assets/ps3/dpad_left.png new file mode 100644 index 0000000..78beb63 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/ps3/dpad_left.png.import b/source/addons/controller_icons/assets/ps3/dpad_left.png.import new file mode 100644 index 0000000..d832248 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bttmu8c1tn2rv" +path="res://.godot/imported/dpad_left.png-1720ec3d2d90c298cf2b0d3b3eb8b92b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-1720ec3d2d90c298cf2b0d3b3eb8b92b.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/source/addons/controller_icons/assets/ps3/dpad_right.png b/source/addons/controller_icons/assets/ps3/dpad_right.png new file mode 100644 index 0000000..94a6590 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/ps3/dpad_right.png.import b/source/addons/controller_icons/assets/ps3/dpad_right.png.import new file mode 100644 index 0000000..b544802 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxqto8qkeu0f4" +path="res://.godot/imported/dpad_right.png-7b72f2c4cc3545b46da3d768493a81ae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-7b72f2c4cc3545b46da3d768493a81ae.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/source/addons/controller_icons/assets/ps3/dpad_up.png b/source/addons/controller_icons/assets/ps3/dpad_up.png new file mode 100644 index 0000000..5bc8705 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/ps3/dpad_up.png.import b/source/addons/controller_icons/assets/ps3/dpad_up.png.import new file mode 100644 index 0000000..d21a37f --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crpwirpuob7pc" +path="res://.godot/imported/dpad_up.png-021888c99c1636514946a171fb55ea78.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-021888c99c1636514946a171fb55ea78.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/source/addons/controller_icons/assets/ps3/l1.png b/source/addons/controller_icons/assets/ps3/l1.png new file mode 100644 index 0000000..8a1d87c Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/l1.png differ diff --git a/source/addons/controller_icons/assets/ps3/l1.png.import b/source/addons/controller_icons/assets/ps3/l1.png.import new file mode 100644 index 0000000..b1718dc --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/l1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dap2udggtn0ap" +path="res://.godot/imported/l1.png-dfeafeae6ba7ae1b62c84a1f737135c8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/l1.png" +dest_files=["res://.godot/imported/l1.png-dfeafeae6ba7ae1b62c84a1f737135c8.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/source/addons/controller_icons/assets/ps3/l2.png b/source/addons/controller_icons/assets/ps3/l2.png new file mode 100644 index 0000000..3b938d1 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/l2.png differ diff --git a/source/addons/controller_icons/assets/ps3/l2.png.import b/source/addons/controller_icons/assets/ps3/l2.png.import new file mode 100644 index 0000000..deaaa18 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/l2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://byqc7vuhgliui" +path="res://.godot/imported/l2.png-49cf84f948da7cf4a5ca5167681ae3d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/l2.png" +dest_files=["res://.godot/imported/l2.png-49cf84f948da7cf4a5ca5167681ae3d5.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/source/addons/controller_icons/assets/ps3/l_stick.png b/source/addons/controller_icons/assets/ps3/l_stick.png new file mode 100644 index 0000000..101b99c Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/l_stick.png differ diff --git a/source/addons/controller_icons/assets/ps3/l_stick.png.import b/source/addons/controller_icons/assets/ps3/l_stick.png.import new file mode 100644 index 0000000..6deede5 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cccbypburqcvq" +path="res://.godot/imported/l_stick.png-4d7ce55783c67f70a2df08cb2beff743.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-4d7ce55783c67f70a2df08cb2beff743.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/source/addons/controller_icons/assets/ps3/l_stick_click.png b/source/addons/controller_icons/assets/ps3/l_stick_click.png new file mode 100644 index 0000000..43b55a5 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/l_stick_click.png differ diff --git a/source/addons/controller_icons/assets/ps3/l_stick_click.png.import b/source/addons/controller_icons/assets/ps3/l_stick_click.png.import new file mode 100644 index 0000000..317a95f --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/l_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd8k51h8nwcg0" +path="res://.godot/imported/l_stick_click.png-3323df54acb88d23cb5dcf1d89369e9f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/l_stick_click.png" +dest_files=["res://.godot/imported/l_stick_click.png-3323df54acb88d23cb5dcf1d89369e9f.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/source/addons/controller_icons/assets/ps3/r1.png b/source/addons/controller_icons/assets/ps3/r1.png new file mode 100644 index 0000000..722e405 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/r1.png differ diff --git a/source/addons/controller_icons/assets/ps3/r1.png.import b/source/addons/controller_icons/assets/ps3/r1.png.import new file mode 100644 index 0000000..613081e --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/r1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4kphw2308ie8" +path="res://.godot/imported/r1.png-336215df5c25fad438a516b20a7e7b24.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/r1.png" +dest_files=["res://.godot/imported/r1.png-336215df5c25fad438a516b20a7e7b24.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/source/addons/controller_icons/assets/ps3/r2.png b/source/addons/controller_icons/assets/ps3/r2.png new file mode 100644 index 0000000..f05529f Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/r2.png differ diff --git a/source/addons/controller_icons/assets/ps3/r2.png.import b/source/addons/controller_icons/assets/ps3/r2.png.import new file mode 100644 index 0000000..a299f59 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/r2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3jlrd2rc72r4" +path="res://.godot/imported/r2.png-9cd8110714aedc5d2a3dfc1ffdff8c02.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/r2.png" +dest_files=["res://.godot/imported/r2.png-9cd8110714aedc5d2a3dfc1ffdff8c02.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/source/addons/controller_icons/assets/ps3/r_stick.png b/source/addons/controller_icons/assets/ps3/r_stick.png new file mode 100644 index 0000000..374f589 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/r_stick.png differ diff --git a/source/addons/controller_icons/assets/ps3/r_stick.png.import b/source/addons/controller_icons/assets/ps3/r_stick.png.import new file mode 100644 index 0000000..7def871 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcbpy0rj57gkm" +path="res://.godot/imported/r_stick.png-f749816036286088f35537738f770504.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-f749816036286088f35537738f770504.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/source/addons/controller_icons/assets/ps3/r_stick_click.png b/source/addons/controller_icons/assets/ps3/r_stick_click.png new file mode 100644 index 0000000..1af48a7 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/r_stick_click.png differ diff --git a/source/addons/controller_icons/assets/ps3/r_stick_click.png.import b/source/addons/controller_icons/assets/ps3/r_stick_click.png.import new file mode 100644 index 0000000..e2474d3 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/r_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fxtf3vikkqnu" +path="res://.godot/imported/r_stick_click.png-cde2b6f7baf1c09e35614699e80663da.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/r_stick_click.png" +dest_files=["res://.godot/imported/r_stick_click.png-cde2b6f7baf1c09e35614699e80663da.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/source/addons/controller_icons/assets/ps3/select.png b/source/addons/controller_icons/assets/ps3/select.png new file mode 100644 index 0000000..b493aff Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/select.png differ diff --git a/source/addons/controller_icons/assets/ps3/select.png.import b/source/addons/controller_icons/assets/ps3/select.png.import new file mode 100644 index 0000000..8dfdaa0 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/select.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1pnhjot6jh88" +path="res://.godot/imported/select.png-522047772d3761e1a6d393174fcc2cdc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/select.png" +dest_files=["res://.godot/imported/select.png-522047772d3761e1a6d393174fcc2cdc.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/source/addons/controller_icons/assets/ps3/square.png b/source/addons/controller_icons/assets/ps3/square.png new file mode 100644 index 0000000..3ad1286 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/square.png differ diff --git a/source/addons/controller_icons/assets/ps3/square.png.import b/source/addons/controller_icons/assets/ps3/square.png.import new file mode 100644 index 0000000..d3f6cfe --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/square.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2tvg7auwno7l" +path="res://.godot/imported/square.png-acfb3df3c257e4d05e07c07b6c83dfc5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/square.png" +dest_files=["res://.godot/imported/square.png-acfb3df3c257e4d05e07c07b6c83dfc5.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/source/addons/controller_icons/assets/ps3/start.png b/source/addons/controller_icons/assets/ps3/start.png new file mode 100644 index 0000000..3822fd8 Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/start.png differ diff --git a/source/addons/controller_icons/assets/ps3/start.png.import b/source/addons/controller_icons/assets/ps3/start.png.import new file mode 100644 index 0000000..c7eec86 --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/start.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dx4t1kuqepf8f" +path="res://.godot/imported/start.png-5eb6d70080bded8525bed5b22e1fd045.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/start.png" +dest_files=["res://.godot/imported/start.png-5eb6d70080bded8525bed5b22e1fd045.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/source/addons/controller_icons/assets/ps3/triangle.png b/source/addons/controller_icons/assets/ps3/triangle.png new file mode 100644 index 0000000..9dcdbba Binary files /dev/null and b/source/addons/controller_icons/assets/ps3/triangle.png differ diff --git a/source/addons/controller_icons/assets/ps3/triangle.png.import b/source/addons/controller_icons/assets/ps3/triangle.png.import new file mode 100644 index 0000000..0d3cc1a --- /dev/null +++ b/source/addons/controller_icons/assets/ps3/triangle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bq378yldukdlh" +path="res://.godot/imported/triangle.png-636bd5a4c11993247c97be299c04f5ef.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps3/triangle.png" +dest_files=["res://.godot/imported/triangle.png-636bd5a4c11993247c97be299c04f5ef.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/source/addons/controller_icons/assets/ps4/circle.png b/source/addons/controller_icons/assets/ps4/circle.png new file mode 100644 index 0000000..10dd9b0 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/circle.png differ diff --git a/source/addons/controller_icons/assets/ps4/circle.png.import b/source/addons/controller_icons/assets/ps4/circle.png.import new file mode 100644 index 0000000..932b2e5 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/circle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bdnj53115obj6" +path="res://.godot/imported/circle.png-01df92401a316edc4ce14b20766177ab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/circle.png" +dest_files=["res://.godot/imported/circle.png-01df92401a316edc4ce14b20766177ab.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/source/addons/controller_icons/assets/ps4/cross.png b/source/addons/controller_icons/assets/ps4/cross.png new file mode 100644 index 0000000..73a42a7 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/cross.png differ diff --git a/source/addons/controller_icons/assets/ps4/cross.png.import b/source/addons/controller_icons/assets/ps4/cross.png.import new file mode 100644 index 0000000..bb1f003 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/cross.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnvbg64nsbaf4" +path="res://.godot/imported/cross.png-e713dddd604d213d7729201a660a0525.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/cross.png" +dest_files=["res://.godot/imported/cross.png-e713dddd604d213d7729201a660a0525.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/source/addons/controller_icons/assets/ps4/diagram.png b/source/addons/controller_icons/assets/ps4/diagram.png new file mode 100644 index 0000000..9af791a Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/diagram.png differ diff --git a/source/addons/controller_icons/assets/ps4/diagram.png.import b/source/addons/controller_icons/assets/ps4/diagram.png.import new file mode 100644 index 0000000..8c3941e --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/diagram.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpmt0ar1hehq3" +path="res://.godot/imported/diagram.png-0ae298bc80cd0126f885be209e23a765.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/diagram.png" +dest_files=["res://.godot/imported/diagram.png-0ae298bc80cd0126f885be209e23a765.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/source/addons/controller_icons/assets/ps4/diagram_simple.png b/source/addons/controller_icons/assets/ps4/diagram_simple.png new file mode 100644 index 0000000..d703c4d Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/diagram_simple.png differ diff --git a/source/addons/controller_icons/assets/ps4/diagram_simple.png.import b/source/addons/controller_icons/assets/ps4/diagram_simple.png.import new file mode 100644 index 0000000..c646b48 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/diagram_simple.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpmkvhixf4p61" +path="res://.godot/imported/diagram_simple.png-5fdad32ea7c3ffc2b56944758c7cd03e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/diagram_simple.png" +dest_files=["res://.godot/imported/diagram_simple.png-5fdad32ea7c3ffc2b56944758c7cd03e.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/source/addons/controller_icons/assets/ps4/dpad.png b/source/addons/controller_icons/assets/ps4/dpad.png new file mode 100644 index 0000000..5a31103 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/dpad.png differ diff --git a/source/addons/controller_icons/assets/ps4/dpad.png.import b/source/addons/controller_icons/assets/ps4/dpad.png.import new file mode 100644 index 0000000..8937acf --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dv7bykspkb5hd" +path="res://.godot/imported/dpad.png-dd021d29d27d6122ce9bfcfb1bbb021b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/dpad.png" +dest_files=["res://.godot/imported/dpad.png-dd021d29d27d6122ce9bfcfb1bbb021b.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/source/addons/controller_icons/assets/ps4/dpad_down.png b/source/addons/controller_icons/assets/ps4/dpad_down.png new file mode 100644 index 0000000..dddcc0d Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/ps4/dpad_down.png.import b/source/addons/controller_icons/assets/ps4/dpad_down.png.import new file mode 100644 index 0000000..ce5629b --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmdsp6d1d1abc" +path="res://.godot/imported/dpad_down.png-59c0669558772f9d842bb5f97d6efb92.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-59c0669558772f9d842bb5f97d6efb92.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/source/addons/controller_icons/assets/ps4/dpad_left.png b/source/addons/controller_icons/assets/ps4/dpad_left.png new file mode 100644 index 0000000..78beb63 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/ps4/dpad_left.png.import b/source/addons/controller_icons/assets/ps4/dpad_left.png.import new file mode 100644 index 0000000..51f9f26 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyqy2t346i7n4" +path="res://.godot/imported/dpad_left.png-0293ca67b8114377516161a62ab1783a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-0293ca67b8114377516161a62ab1783a.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/source/addons/controller_icons/assets/ps4/dpad_right.png b/source/addons/controller_icons/assets/ps4/dpad_right.png new file mode 100644 index 0000000..94a6590 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/ps4/dpad_right.png.import b/source/addons/controller_icons/assets/ps4/dpad_right.png.import new file mode 100644 index 0000000..6208554 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bl5rce50vbnn7" +path="res://.godot/imported/dpad_right.png-deac173b424649225684e25625f0bea1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-deac173b424649225684e25625f0bea1.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/source/addons/controller_icons/assets/ps4/dpad_up.png b/source/addons/controller_icons/assets/ps4/dpad_up.png new file mode 100644 index 0000000..5bc8705 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/ps4/dpad_up.png.import b/source/addons/controller_icons/assets/ps4/dpad_up.png.import new file mode 100644 index 0000000..9ff6a7d --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crf0mhukst7cs" +path="res://.godot/imported/dpad_up.png-29b188f1af23baff02984fc1f7680ac3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-29b188f1af23baff02984fc1f7680ac3.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/source/addons/controller_icons/assets/ps4/l1.png b/source/addons/controller_icons/assets/ps4/l1.png new file mode 100644 index 0000000..6be5fcb Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/l1.png differ diff --git a/source/addons/controller_icons/assets/ps4/l1.png.import b/source/addons/controller_icons/assets/ps4/l1.png.import new file mode 100644 index 0000000..5860963 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/l1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bx646jls6fotu" +path="res://.godot/imported/l1.png-95ac4b86b63cb6d6063d04c34423e038.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/l1.png" +dest_files=["res://.godot/imported/l1.png-95ac4b86b63cb6d6063d04c34423e038.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/source/addons/controller_icons/assets/ps4/l2.png b/source/addons/controller_icons/assets/ps4/l2.png new file mode 100644 index 0000000..7abdfef Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/l2.png differ diff --git a/source/addons/controller_icons/assets/ps4/l2.png.import b/source/addons/controller_icons/assets/ps4/l2.png.import new file mode 100644 index 0000000..7994d7f --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/l2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6430g8j7ft6t" +path="res://.godot/imported/l2.png-4dcb2ad01f6cbc33aa48ee09f5756380.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/l2.png" +dest_files=["res://.godot/imported/l2.png-4dcb2ad01f6cbc33aa48ee09f5756380.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/source/addons/controller_icons/assets/ps4/l_stick.png b/source/addons/controller_icons/assets/ps4/l_stick.png new file mode 100644 index 0000000..61b6330 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/l_stick.png differ diff --git a/source/addons/controller_icons/assets/ps4/l_stick.png.import b/source/addons/controller_icons/assets/ps4/l_stick.png.import new file mode 100644 index 0000000..fd9453d --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8y3vc8sn5lvu" +path="res://.godot/imported/l_stick.png-fc48bbb457eb14f55412c04cde7dc518.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-fc48bbb457eb14f55412c04cde7dc518.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/source/addons/controller_icons/assets/ps4/l_stick_click.png b/source/addons/controller_icons/assets/ps4/l_stick_click.png new file mode 100644 index 0000000..ad0428f Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/l_stick_click.png differ diff --git a/source/addons/controller_icons/assets/ps4/l_stick_click.png.import b/source/addons/controller_icons/assets/ps4/l_stick_click.png.import new file mode 100644 index 0000000..d2a7894 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/l_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyste7anvays1" +path="res://.godot/imported/l_stick_click.png-9e3d30c01f3f7fbbd1bf8d68e875e502.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/l_stick_click.png" +dest_files=["res://.godot/imported/l_stick_click.png-9e3d30c01f3f7fbbd1bf8d68e875e502.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/source/addons/controller_icons/assets/ps4/options.png b/source/addons/controller_icons/assets/ps4/options.png new file mode 100644 index 0000000..21820ed Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/options.png differ diff --git a/source/addons/controller_icons/assets/ps4/options.png.import b/source/addons/controller_icons/assets/ps4/options.png.import new file mode 100644 index 0000000..b1d63fa --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/options.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfbt1pwpnjvva" +path="res://.godot/imported/options.png-c3fb31c3e90305771b4ea74b6c139e3e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/options.png" +dest_files=["res://.godot/imported/options.png-c3fb31c3e90305771b4ea74b6c139e3e.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/source/addons/controller_icons/assets/ps4/r1.png b/source/addons/controller_icons/assets/ps4/r1.png new file mode 100644 index 0000000..b296a5e Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/r1.png differ diff --git a/source/addons/controller_icons/assets/ps4/r1.png.import b/source/addons/controller_icons/assets/ps4/r1.png.import new file mode 100644 index 0000000..f681fdb --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/r1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bs7lcrl1jinbj" +path="res://.godot/imported/r1.png-b2cc33e4d5182caa83ca9d0b07abef24.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/r1.png" +dest_files=["res://.godot/imported/r1.png-b2cc33e4d5182caa83ca9d0b07abef24.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/source/addons/controller_icons/assets/ps4/r2.png b/source/addons/controller_icons/assets/ps4/r2.png new file mode 100644 index 0000000..0303819 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/r2.png differ diff --git a/source/addons/controller_icons/assets/ps4/r2.png.import b/source/addons/controller_icons/assets/ps4/r2.png.import new file mode 100644 index 0000000..3b9a521 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/r2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dogjufp4vxrnq" +path="res://.godot/imported/r2.png-0f2740d264d9152a0d962dc06d3c7e12.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/r2.png" +dest_files=["res://.godot/imported/r2.png-0f2740d264d9152a0d962dc06d3c7e12.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/source/addons/controller_icons/assets/ps4/r_stick.png b/source/addons/controller_icons/assets/ps4/r_stick.png new file mode 100644 index 0000000..91d66f4 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/r_stick.png differ diff --git a/source/addons/controller_icons/assets/ps4/r_stick.png.import b/source/addons/controller_icons/assets/ps4/r_stick.png.import new file mode 100644 index 0000000..58ccdbe --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lvpdaaqg50mi" +path="res://.godot/imported/r_stick.png-335f2cba5a6bd621c084beb16d4cb930.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-335f2cba5a6bd621c084beb16d4cb930.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/source/addons/controller_icons/assets/ps4/r_stick_click.png b/source/addons/controller_icons/assets/ps4/r_stick_click.png new file mode 100644 index 0000000..de08508 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/r_stick_click.png differ diff --git a/source/addons/controller_icons/assets/ps4/r_stick_click.png.import b/source/addons/controller_icons/assets/ps4/r_stick_click.png.import new file mode 100644 index 0000000..f8f89a5 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/r_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nk2eyp23eiup" +path="res://.godot/imported/r_stick_click.png-d648f8e76cb1035ebd104fecb0d0c268.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/r_stick_click.png" +dest_files=["res://.godot/imported/r_stick_click.png-d648f8e76cb1035ebd104fecb0d0c268.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/source/addons/controller_icons/assets/ps4/share.png b/source/addons/controller_icons/assets/ps4/share.png new file mode 100644 index 0000000..9a1c4ab Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/share.png differ diff --git a/source/addons/controller_icons/assets/ps4/share.png.import b/source/addons/controller_icons/assets/ps4/share.png.import new file mode 100644 index 0000000..f2b578a --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/share.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btjpw3784tqwk" +path="res://.godot/imported/share.png-8f5440356f77d78ad3f3982e23b727b9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/share.png" +dest_files=["res://.godot/imported/share.png-8f5440356f77d78ad3f3982e23b727b9.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/source/addons/controller_icons/assets/ps4/square.png b/source/addons/controller_icons/assets/ps4/square.png new file mode 100644 index 0000000..3ad1286 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/square.png differ diff --git a/source/addons/controller_icons/assets/ps4/square.png.import b/source/addons/controller_icons/assets/ps4/square.png.import new file mode 100644 index 0000000..b17c261 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/square.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://77f8q5t0w3gy" +path="res://.godot/imported/square.png-ee72c07940fd3321db35ceefeb290300.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/square.png" +dest_files=["res://.godot/imported/square.png-ee72c07940fd3321db35ceefeb290300.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/source/addons/controller_icons/assets/ps4/touch_pad.png b/source/addons/controller_icons/assets/ps4/touch_pad.png new file mode 100644 index 0000000..2c8e730 Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/touch_pad.png differ diff --git a/source/addons/controller_icons/assets/ps4/touch_pad.png.import b/source/addons/controller_icons/assets/ps4/touch_pad.png.import new file mode 100644 index 0000000..8e6aab1 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/touch_pad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk8ykwla3kyee" +path="res://.godot/imported/touch_pad.png-7bbb4179df1c702619f3e56dc6165c73.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/touch_pad.png" +dest_files=["res://.godot/imported/touch_pad.png-7bbb4179df1c702619f3e56dc6165c73.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/source/addons/controller_icons/assets/ps4/triangle.png b/source/addons/controller_icons/assets/ps4/triangle.png new file mode 100644 index 0000000..9dcdbba Binary files /dev/null and b/source/addons/controller_icons/assets/ps4/triangle.png differ diff --git a/source/addons/controller_icons/assets/ps4/triangle.png.import b/source/addons/controller_icons/assets/ps4/triangle.png.import new file mode 100644 index 0000000..89e1aa8 --- /dev/null +++ b/source/addons/controller_icons/assets/ps4/triangle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xklewd7k0tim" +path="res://.godot/imported/triangle.png-da43fcba8230ca87ef19d28e68d91ddc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps4/triangle.png" +dest_files=["res://.godot/imported/triangle.png-da43fcba8230ca87ef19d28e68d91ddc.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/source/addons/controller_icons/assets/ps5/circle.png b/source/addons/controller_icons/assets/ps5/circle.png new file mode 100644 index 0000000..05a89a9 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/circle.png differ diff --git a/source/addons/controller_icons/assets/ps5/circle.png.import b/source/addons/controller_icons/assets/ps5/circle.png.import new file mode 100644 index 0000000..166598c --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/circle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bri4438gvie1f" +path="res://.godot/imported/circle.png-899c1a608c9238361ba9359dc8352237.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/circle.png" +dest_files=["res://.godot/imported/circle.png-899c1a608c9238361ba9359dc8352237.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/source/addons/controller_icons/assets/ps5/cross.png b/source/addons/controller_icons/assets/ps5/cross.png new file mode 100644 index 0000000..395a898 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/cross.png differ diff --git a/source/addons/controller_icons/assets/ps5/cross.png.import b/source/addons/controller_icons/assets/ps5/cross.png.import new file mode 100644 index 0000000..ba9741b --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/cross.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://belyhno2tge45" +path="res://.godot/imported/cross.png-b283effc447d98ff8075473f129fd229.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/cross.png" +dest_files=["res://.godot/imported/cross.png-b283effc447d98ff8075473f129fd229.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/source/addons/controller_icons/assets/ps5/diagram.png b/source/addons/controller_icons/assets/ps5/diagram.png new file mode 100644 index 0000000..d452d34 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/diagram.png differ diff --git a/source/addons/controller_icons/assets/ps5/diagram.png.import b/source/addons/controller_icons/assets/ps5/diagram.png.import new file mode 100644 index 0000000..df6c187 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/diagram.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://e46bxi0x8sk2" +path="res://.godot/imported/diagram.png-21a10cf2a3943fa6401b25cac8533abe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/diagram.png" +dest_files=["res://.godot/imported/diagram.png-21a10cf2a3943fa6401b25cac8533abe.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/source/addons/controller_icons/assets/ps5/diagram_simple.png b/source/addons/controller_icons/assets/ps5/diagram_simple.png new file mode 100644 index 0000000..99d85c9 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/diagram_simple.png differ diff --git a/source/addons/controller_icons/assets/ps5/diagram_simple.png.import b/source/addons/controller_icons/assets/ps5/diagram_simple.png.import new file mode 100644 index 0000000..4f5b11d --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/diagram_simple.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dackqyp4i6pej" +path="res://.godot/imported/diagram_simple.png-1787b04a8e001e271d295cd5be2dbc04.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/diagram_simple.png" +dest_files=["res://.godot/imported/diagram_simple.png-1787b04a8e001e271d295cd5be2dbc04.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/source/addons/controller_icons/assets/ps5/dpad.png b/source/addons/controller_icons/assets/ps5/dpad.png new file mode 100644 index 0000000..49e6405 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/dpad.png differ diff --git a/source/addons/controller_icons/assets/ps5/dpad.png.import b/source/addons/controller_icons/assets/ps5/dpad.png.import new file mode 100644 index 0000000..bef3bf9 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://beffl6nv8eoce" +path="res://.godot/imported/dpad.png-00aec67b45feaa97b1794d743c936d5f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/dpad.png" +dest_files=["res://.godot/imported/dpad.png-00aec67b45feaa97b1794d743c936d5f.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/source/addons/controller_icons/assets/ps5/dpad_down.png b/source/addons/controller_icons/assets/ps5/dpad_down.png new file mode 100644 index 0000000..a8f893a Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/ps5/dpad_down.png.import b/source/addons/controller_icons/assets/ps5/dpad_down.png.import new file mode 100644 index 0000000..c28e494 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfatmi6wvlpfo" +path="res://.godot/imported/dpad_down.png-3feaef9a314dd6ae52a31ef8569ba2bc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-3feaef9a314dd6ae52a31ef8569ba2bc.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/source/addons/controller_icons/assets/ps5/dpad_left.png b/source/addons/controller_icons/assets/ps5/dpad_left.png new file mode 100644 index 0000000..2bdc048 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/ps5/dpad_left.png.import b/source/addons/controller_icons/assets/ps5/dpad_left.png.import new file mode 100644 index 0000000..498970c --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckx3ofvrb3luj" +path="res://.godot/imported/dpad_left.png-64bf99650504668c7743f369e8d66e99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-64bf99650504668c7743f369e8d66e99.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/source/addons/controller_icons/assets/ps5/dpad_right.png b/source/addons/controller_icons/assets/ps5/dpad_right.png new file mode 100644 index 0000000..b7cd568 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/ps5/dpad_right.png.import b/source/addons/controller_icons/assets/ps5/dpad_right.png.import new file mode 100644 index 0000000..810a54a --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bha2mk6ybhqq1" +path="res://.godot/imported/dpad_right.png-ac99de9134bc8dac8efce489d7997a23.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-ac99de9134bc8dac8efce489d7997a23.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/source/addons/controller_icons/assets/ps5/dpad_up.png b/source/addons/controller_icons/assets/ps5/dpad_up.png new file mode 100644 index 0000000..99180d2 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/ps5/dpad_up.png.import b/source/addons/controller_icons/assets/ps5/dpad_up.png.import new file mode 100644 index 0000000..8f3f83c --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chj3vtwuwu2fa" +path="res://.godot/imported/dpad_up.png-bea6ace373247dd17fb25f7f3e0f6b07.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-bea6ace373247dd17fb25f7f3e0f6b07.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/source/addons/controller_icons/assets/ps5/l1.png b/source/addons/controller_icons/assets/ps5/l1.png new file mode 100644 index 0000000..07e505a Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/l1.png differ diff --git a/source/addons/controller_icons/assets/ps5/l1.png.import b/source/addons/controller_icons/assets/ps5/l1.png.import new file mode 100644 index 0000000..078cff1 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/l1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cptsbtql4gq7f" +path="res://.godot/imported/l1.png-1dbab572c17a5f38e671c2db53d5037e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/l1.png" +dest_files=["res://.godot/imported/l1.png-1dbab572c17a5f38e671c2db53d5037e.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/source/addons/controller_icons/assets/ps5/l2.png b/source/addons/controller_icons/assets/ps5/l2.png new file mode 100644 index 0000000..05f3dd2 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/l2.png differ diff --git a/source/addons/controller_icons/assets/ps5/l2.png.import b/source/addons/controller_icons/assets/ps5/l2.png.import new file mode 100644 index 0000000..8192fea --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/l2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr554tkwtvx7d" +path="res://.godot/imported/l2.png-e8cc4c0283c6b3b54d63e008d0690aa6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/l2.png" +dest_files=["res://.godot/imported/l2.png-e8cc4c0283c6b3b54d63e008d0690aa6.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/source/addons/controller_icons/assets/ps5/l_stick.png b/source/addons/controller_icons/assets/ps5/l_stick.png new file mode 100644 index 0000000..0245ff8 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/l_stick.png differ diff --git a/source/addons/controller_icons/assets/ps5/l_stick.png.import b/source/addons/controller_icons/assets/ps5/l_stick.png.import new file mode 100644 index 0000000..f60e5db --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwkmm5mtpc46o" +path="res://.godot/imported/l_stick.png-fba628dc0742fc567477799a16835c0f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-fba628dc0742fc567477799a16835c0f.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/source/addons/controller_icons/assets/ps5/l_stick_click.png b/source/addons/controller_icons/assets/ps5/l_stick_click.png new file mode 100644 index 0000000..66e5271 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/l_stick_click.png differ diff --git a/source/addons/controller_icons/assets/ps5/l_stick_click.png.import b/source/addons/controller_icons/assets/ps5/l_stick_click.png.import new file mode 100644 index 0000000..bccdeba --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/l_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2ehovw43mq41" +path="res://.godot/imported/l_stick_click.png-ca560b0370da6348af3fa4a6dd2b76f5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/l_stick_click.png" +dest_files=["res://.godot/imported/l_stick_click.png-ca560b0370da6348af3fa4a6dd2b76f5.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/source/addons/controller_icons/assets/ps5/microphone.png b/source/addons/controller_icons/assets/ps5/microphone.png new file mode 100644 index 0000000..bb0f331 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/microphone.png differ diff --git a/source/addons/controller_icons/assets/ps5/microphone.png.import b/source/addons/controller_icons/assets/ps5/microphone.png.import new file mode 100644 index 0000000..835f6b9 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/microphone.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pjngcu888j2h" +path="res://.godot/imported/microphone.png-52a21a21c13dc3691829948c71961c62.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/microphone.png" +dest_files=["res://.godot/imported/microphone.png-52a21a21c13dc3691829948c71961c62.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/source/addons/controller_icons/assets/ps5/options.png b/source/addons/controller_icons/assets/ps5/options.png new file mode 100644 index 0000000..3e56fe2 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/options.png differ diff --git a/source/addons/controller_icons/assets/ps5/options.png.import b/source/addons/controller_icons/assets/ps5/options.png.import new file mode 100644 index 0000000..5309317 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/options.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dihbnhx3krnjw" +path="res://.godot/imported/options.png-da4d32b86bae8f981620c1bbef1482ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/options.png" +dest_files=["res://.godot/imported/options.png-da4d32b86bae8f981620c1bbef1482ca.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/source/addons/controller_icons/assets/ps5/options_alt.png b/source/addons/controller_icons/assets/ps5/options_alt.png new file mode 100644 index 0000000..ca28364 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/options_alt.png differ diff --git a/source/addons/controller_icons/assets/ps5/options_alt.png.import b/source/addons/controller_icons/assets/ps5/options_alt.png.import new file mode 100644 index 0000000..6259b0e --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/options_alt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfn54dcp6oime" +path="res://.godot/imported/options_alt.png-c593663a8f76955c80b23e8f042168ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/options_alt.png" +dest_files=["res://.godot/imported/options_alt.png-c593663a8f76955c80b23e8f042168ca.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/source/addons/controller_icons/assets/ps5/r1.png b/source/addons/controller_icons/assets/ps5/r1.png new file mode 100644 index 0000000..2cff97a Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/r1.png differ diff --git a/source/addons/controller_icons/assets/ps5/r1.png.import b/source/addons/controller_icons/assets/ps5/r1.png.import new file mode 100644 index 0000000..73db2df --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/r1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dshu7ejne3fv3" +path="res://.godot/imported/r1.png-fa610c0190f3f0984090193cb99c26c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/r1.png" +dest_files=["res://.godot/imported/r1.png-fa610c0190f3f0984090193cb99c26c3.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/source/addons/controller_icons/assets/ps5/r2.png b/source/addons/controller_icons/assets/ps5/r2.png new file mode 100644 index 0000000..a13f17f Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/r2.png differ diff --git a/source/addons/controller_icons/assets/ps5/r2.png.import b/source/addons/controller_icons/assets/ps5/r2.png.import new file mode 100644 index 0000000..a9dc1e7 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/r2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwxe8qbcua1to" +path="res://.godot/imported/r2.png-b8eac74642614e99f555e46a0181e4d0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/r2.png" +dest_files=["res://.godot/imported/r2.png-b8eac74642614e99f555e46a0181e4d0.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/source/addons/controller_icons/assets/ps5/r_stick.png b/source/addons/controller_icons/assets/ps5/r_stick.png new file mode 100644 index 0000000..85c1556 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/r_stick.png differ diff --git a/source/addons/controller_icons/assets/ps5/r_stick.png.import b/source/addons/controller_icons/assets/ps5/r_stick.png.import new file mode 100644 index 0000000..acc7820 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4orcrdsy1akr" +path="res://.godot/imported/r_stick.png-307bf90c96a761c29568ba8c2317686c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-307bf90c96a761c29568ba8c2317686c.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/source/addons/controller_icons/assets/ps5/r_stick_click.png b/source/addons/controller_icons/assets/ps5/r_stick_click.png new file mode 100644 index 0000000..eecd4e8 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/r_stick_click.png differ diff --git a/source/addons/controller_icons/assets/ps5/r_stick_click.png.import b/source/addons/controller_icons/assets/ps5/r_stick_click.png.import new file mode 100644 index 0000000..0d9efca --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/r_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpvd1a8tomykb" +path="res://.godot/imported/r_stick_click.png-971e79762425c58c9da5a80737fe31cc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/r_stick_click.png" +dest_files=["res://.godot/imported/r_stick_click.png-971e79762425c58c9da5a80737fe31cc.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/source/addons/controller_icons/assets/ps5/share.png b/source/addons/controller_icons/assets/ps5/share.png new file mode 100644 index 0000000..d96e698 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/share.png differ diff --git a/source/addons/controller_icons/assets/ps5/share.png.import b/source/addons/controller_icons/assets/ps5/share.png.import new file mode 100644 index 0000000..39db26e --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/share.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cagxvtko4awd8" +path="res://.godot/imported/share.png-a33890317e3226e9b99cebbbfe855141.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/share.png" +dest_files=["res://.godot/imported/share.png-a33890317e3226e9b99cebbbfe855141.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/source/addons/controller_icons/assets/ps5/share_alt.png b/source/addons/controller_icons/assets/ps5/share_alt.png new file mode 100644 index 0000000..10941aa Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/share_alt.png differ diff --git a/source/addons/controller_icons/assets/ps5/share_alt.png.import b/source/addons/controller_icons/assets/ps5/share_alt.png.import new file mode 100644 index 0000000..84a21c3 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/share_alt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bl176l6frbhu" +path="res://.godot/imported/share_alt.png-15dd25ceafbe1a81af5420db0b8177fb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/share_alt.png" +dest_files=["res://.godot/imported/share_alt.png-15dd25ceafbe1a81af5420db0b8177fb.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/source/addons/controller_icons/assets/ps5/square.png b/source/addons/controller_icons/assets/ps5/square.png new file mode 100644 index 0000000..20f6065 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/square.png differ diff --git a/source/addons/controller_icons/assets/ps5/square.png.import b/source/addons/controller_icons/assets/ps5/square.png.import new file mode 100644 index 0000000..59a0f77 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/square.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bb8qjwcmyrtk4" +path="res://.godot/imported/square.png-3f9dd349449b9b92bc9a0b5deebb6dc4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/square.png" +dest_files=["res://.godot/imported/square.png-3f9dd349449b9b92bc9a0b5deebb6dc4.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/source/addons/controller_icons/assets/ps5/touch_pad.png b/source/addons/controller_icons/assets/ps5/touch_pad.png new file mode 100644 index 0000000..1a77d0c Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/touch_pad.png differ diff --git a/source/addons/controller_icons/assets/ps5/touch_pad.png.import b/source/addons/controller_icons/assets/ps5/touch_pad.png.import new file mode 100644 index 0000000..d8c4a61 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/touch_pad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drx7nm004x5i3" +path="res://.godot/imported/touch_pad.png-1ef4d501193c49e180986793017fe36a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/touch_pad.png" +dest_files=["res://.godot/imported/touch_pad.png-1ef4d501193c49e180986793017fe36a.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/source/addons/controller_icons/assets/ps5/triangle.png b/source/addons/controller_icons/assets/ps5/triangle.png new file mode 100644 index 0000000..4950d17 Binary files /dev/null and b/source/addons/controller_icons/assets/ps5/triangle.png differ diff --git a/source/addons/controller_icons/assets/ps5/triangle.png.import b/source/addons/controller_icons/assets/ps5/triangle.png.import new file mode 100644 index 0000000..0597267 --- /dev/null +++ b/source/addons/controller_icons/assets/ps5/triangle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c05iqfpx578f2" +path="res://.godot/imported/triangle.png-c318942d066e6716a1f2a4c38ef81b3e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/ps5/triangle.png" +dest_files=["res://.godot/imported/triangle.png-c318942d066e6716a1f2a4c38ef81b3e.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/source/addons/controller_icons/assets/stadia/a.png b/source/addons/controller_icons/assets/stadia/a.png new file mode 100644 index 0000000..7a0e6e1 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/a.png differ diff --git a/source/addons/controller_icons/assets/stadia/a.png.import b/source/addons/controller_icons/assets/stadia/a.png.import new file mode 100644 index 0000000..f406939 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv4qgyj7ctpdi" +path="res://.godot/imported/a.png-f39af9db7ec42a6167445f21d52dd49e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/a.png" +dest_files=["res://.godot/imported/a.png-f39af9db7ec42a6167445f21d52dd49e.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/source/addons/controller_icons/assets/stadia/assistant.png b/source/addons/controller_icons/assets/stadia/assistant.png new file mode 100644 index 0000000..78ad612 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/assistant.png differ diff --git a/source/addons/controller_icons/assets/stadia/assistant.png.import b/source/addons/controller_icons/assets/stadia/assistant.png.import new file mode 100644 index 0000000..b6cbd71 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/assistant.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eb1e5xeb87ty" +path="res://.godot/imported/assistant.png-2a4e3627b05fcf62f61e45e5dfad1445.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/assistant.png" +dest_files=["res://.godot/imported/assistant.png-2a4e3627b05fcf62f61e45e5dfad1445.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/source/addons/controller_icons/assets/stadia/b.png b/source/addons/controller_icons/assets/stadia/b.png new file mode 100644 index 0000000..bd71b2d Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/b.png differ diff --git a/source/addons/controller_icons/assets/stadia/b.png.import b/source/addons/controller_icons/assets/stadia/b.png.import new file mode 100644 index 0000000..48efdfc --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://sxuvnex00hi1" +path="res://.godot/imported/b.png-a0cbab91a3c959de17829d12080654c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/b.png" +dest_files=["res://.godot/imported/b.png-a0cbab91a3c959de17829d12080654c4.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/source/addons/controller_icons/assets/stadia/dots.png b/source/addons/controller_icons/assets/stadia/dots.png new file mode 100644 index 0000000..cba1e78 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/dots.png differ diff --git a/source/addons/controller_icons/assets/stadia/dots.png.import b/source/addons/controller_icons/assets/stadia/dots.png.import new file mode 100644 index 0000000..2582096 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/dots.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnyru0b0n5iqs" +path="res://.godot/imported/dots.png-b263d2845e2a883a9e404681ffe43345.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/dots.png" +dest_files=["res://.godot/imported/dots.png-b263d2845e2a883a9e404681ffe43345.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/source/addons/controller_icons/assets/stadia/dpad.png b/source/addons/controller_icons/assets/stadia/dpad.png new file mode 100644 index 0000000..4c8663a Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/dpad.png differ diff --git a/source/addons/controller_icons/assets/stadia/dpad.png.import b/source/addons/controller_icons/assets/stadia/dpad.png.import new file mode 100644 index 0000000..15bea33 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bddbmt3fx4djh" +path="res://.godot/imported/dpad.png-58485bb8e8b0aa997156eb8f8ff9fbb0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/dpad.png" +dest_files=["res://.godot/imported/dpad.png-58485bb8e8b0aa997156eb8f8ff9fbb0.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/source/addons/controller_icons/assets/stadia/dpad_down.png b/source/addons/controller_icons/assets/stadia/dpad_down.png new file mode 100644 index 0000000..ca2ad56 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/stadia/dpad_down.png.import b/source/addons/controller_icons/assets/stadia/dpad_down.png.import new file mode 100644 index 0000000..9163293 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cf1yr1jpwoqd4" +path="res://.godot/imported/dpad_down.png-0e0070ab4a731afd3204175e1539f822.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-0e0070ab4a731afd3204175e1539f822.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/source/addons/controller_icons/assets/stadia/dpad_left.png b/source/addons/controller_icons/assets/stadia/dpad_left.png new file mode 100644 index 0000000..90ab042 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/stadia/dpad_left.png.import b/source/addons/controller_icons/assets/stadia/dpad_left.png.import new file mode 100644 index 0000000..6403e48 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq7w3jth676di" +path="res://.godot/imported/dpad_left.png-6f793e4e26f3c710bdbc49c5329c5eff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-6f793e4e26f3c710bdbc49c5329c5eff.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/source/addons/controller_icons/assets/stadia/dpad_right.png b/source/addons/controller_icons/assets/stadia/dpad_right.png new file mode 100644 index 0000000..23a5445 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/stadia/dpad_right.png.import b/source/addons/controller_icons/assets/stadia/dpad_right.png.import new file mode 100644 index 0000000..2d8fab3 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7ssgv6rjgy3h" +path="res://.godot/imported/dpad_right.png-a38451b01e6223d51bc488908900e4a4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-a38451b01e6223d51bc488908900e4a4.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/source/addons/controller_icons/assets/stadia/dpad_up.png b/source/addons/controller_icons/assets/stadia/dpad_up.png new file mode 100644 index 0000000..df9553c Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/stadia/dpad_up.png.import b/source/addons/controller_icons/assets/stadia/dpad_up.png.import new file mode 100644 index 0000000..e80f92d --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dw8p3es1mkcqp" +path="res://.godot/imported/dpad_up.png-61f0cbde467cee63157b87d1351e499d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-61f0cbde467cee63157b87d1351e499d.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/source/addons/controller_icons/assets/stadia/l1.png b/source/addons/controller_icons/assets/stadia/l1.png new file mode 100644 index 0000000..ad8b15e Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/l1.png differ diff --git a/source/addons/controller_icons/assets/stadia/l1.png.import b/source/addons/controller_icons/assets/stadia/l1.png.import new file mode 100644 index 0000000..33e1816 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/l1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0juhj61jiqig" +path="res://.godot/imported/l1.png-40772d284cfbbb0f5e00a0d2807ad772.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/l1.png" +dest_files=["res://.godot/imported/l1.png-40772d284cfbbb0f5e00a0d2807ad772.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/source/addons/controller_icons/assets/stadia/l2.png b/source/addons/controller_icons/assets/stadia/l2.png new file mode 100644 index 0000000..cfb2441 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/l2.png differ diff --git a/source/addons/controller_icons/assets/stadia/l2.png.import b/source/addons/controller_icons/assets/stadia/l2.png.import new file mode 100644 index 0000000..aa11be5 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/l2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3mxt82tfc0qr" +path="res://.godot/imported/l2.png-65410a5b5bf71ded0383e7be48e96124.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/l2.png" +dest_files=["res://.godot/imported/l2.png-65410a5b5bf71ded0383e7be48e96124.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/source/addons/controller_icons/assets/stadia/l_stick.png b/source/addons/controller_icons/assets/stadia/l_stick.png new file mode 100644 index 0000000..de49dc6 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/l_stick.png differ diff --git a/source/addons/controller_icons/assets/stadia/l_stick.png.import b/source/addons/controller_icons/assets/stadia/l_stick.png.import new file mode 100644 index 0000000..4e133d9 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkig588ldv8l1" +path="res://.godot/imported/l_stick.png-c7374b4ac7c738d8b0635b5617f8b92d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-c7374b4ac7c738d8b0635b5617f8b92d.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/source/addons/controller_icons/assets/stadia/menu.png b/source/addons/controller_icons/assets/stadia/menu.png new file mode 100644 index 0000000..173efdf Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/menu.png differ diff --git a/source/addons/controller_icons/assets/stadia/menu.png.import b/source/addons/controller_icons/assets/stadia/menu.png.import new file mode 100644 index 0000000..917341c --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/menu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clsidc7meysf1" +path="res://.godot/imported/menu.png-53cbf3eec3a419b76e5e61ce64721148.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/menu.png" +dest_files=["res://.godot/imported/menu.png-53cbf3eec3a419b76e5e61ce64721148.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/source/addons/controller_icons/assets/stadia/r1.png b/source/addons/controller_icons/assets/stadia/r1.png new file mode 100644 index 0000000..747c8fa Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/r1.png differ diff --git a/source/addons/controller_icons/assets/stadia/r1.png.import b/source/addons/controller_icons/assets/stadia/r1.png.import new file mode 100644 index 0000000..ba665f5 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/r1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckfju5othymuc" +path="res://.godot/imported/r1.png-61ddcf999e521e50e31454c7421b13c5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/r1.png" +dest_files=["res://.godot/imported/r1.png-61ddcf999e521e50e31454c7421b13c5.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/source/addons/controller_icons/assets/stadia/r2.png b/source/addons/controller_icons/assets/stadia/r2.png new file mode 100644 index 0000000..a1a5b35 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/r2.png differ diff --git a/source/addons/controller_icons/assets/stadia/r2.png.import b/source/addons/controller_icons/assets/stadia/r2.png.import new file mode 100644 index 0000000..3598fd5 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/r2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcwlmbqr5byql" +path="res://.godot/imported/r2.png-264029ef902dd23d9d2aedc9076396d3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/r2.png" +dest_files=["res://.godot/imported/r2.png-264029ef902dd23d9d2aedc9076396d3.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/source/addons/controller_icons/assets/stadia/r_stick.png b/source/addons/controller_icons/assets/stadia/r_stick.png new file mode 100644 index 0000000..866be1c Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/r_stick.png differ diff --git a/source/addons/controller_icons/assets/stadia/r_stick.png.import b/source/addons/controller_icons/assets/stadia/r_stick.png.import new file mode 100644 index 0000000..cd5c061 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://rob68as0a0nx" +path="res://.godot/imported/r_stick.png-6b5f1cef528e226a07bca3b5db7cee23.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-6b5f1cef528e226a07bca3b5db7cee23.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/source/addons/controller_icons/assets/stadia/select.png b/source/addons/controller_icons/assets/stadia/select.png new file mode 100644 index 0000000..38df6c3 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/select.png differ diff --git a/source/addons/controller_icons/assets/stadia/select.png.import b/source/addons/controller_icons/assets/stadia/select.png.import new file mode 100644 index 0000000..b5db3c9 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/select.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ii5p47rg6nu4" +path="res://.godot/imported/select.png-5f6095f9bd8662055bec7c1bae674ec9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/select.png" +dest_files=["res://.godot/imported/select.png-5f6095f9bd8662055bec7c1bae674ec9.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/source/addons/controller_icons/assets/stadia/x.png b/source/addons/controller_icons/assets/stadia/x.png new file mode 100644 index 0000000..eb1ef40 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/x.png differ diff --git a/source/addons/controller_icons/assets/stadia/x.png.import b/source/addons/controller_icons/assets/stadia/x.png.import new file mode 100644 index 0000000..ed17556 --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4j3otk7ktg5s" +path="res://.godot/imported/x.png-f6ec30ea08344e55ef23af72fbc1fb31.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/x.png" +dest_files=["res://.godot/imported/x.png-f6ec30ea08344e55ef23af72fbc1fb31.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/source/addons/controller_icons/assets/stadia/y.png b/source/addons/controller_icons/assets/stadia/y.png new file mode 100644 index 0000000..dbcf567 Binary files /dev/null and b/source/addons/controller_icons/assets/stadia/y.png differ diff --git a/source/addons/controller_icons/assets/stadia/y.png.import b/source/addons/controller_icons/assets/stadia/y.png.import new file mode 100644 index 0000000..146e2bc --- /dev/null +++ b/source/addons/controller_icons/assets/stadia/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcbp6ptwubct6" +path="res://.godot/imported/y.png-dd7e8e12e20316029c271244b0ca0229.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/stadia/y.png" +dest_files=["res://.godot/imported/y.png-dd7e8e12e20316029c271244b0ca0229.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/source/addons/controller_icons/assets/steam/a.png b/source/addons/controller_icons/assets/steam/a.png new file mode 100644 index 0000000..60c214f Binary files /dev/null and b/source/addons/controller_icons/assets/steam/a.png differ diff --git a/source/addons/controller_icons/assets/steam/a.png.import b/source/addons/controller_icons/assets/steam/a.png.import new file mode 100644 index 0000000..5a665b2 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cajx1v8mvjdv7" +path="res://.godot/imported/a.png-291a1f58c8f457602e861970d6116395.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/a.png" +dest_files=["res://.godot/imported/a.png-291a1f58c8f457602e861970d6116395.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/source/addons/controller_icons/assets/steam/b.png b/source/addons/controller_icons/assets/steam/b.png new file mode 100644 index 0000000..a1ba1a0 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/b.png differ diff --git a/source/addons/controller_icons/assets/steam/b.png.import b/source/addons/controller_icons/assets/steam/b.png.import new file mode 100644 index 0000000..209e115 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csbpy7me5gb6u" +path="res://.godot/imported/b.png-60ef9dcdf26e65601a22afc1fe68bbde.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/b.png" +dest_files=["res://.godot/imported/b.png-60ef9dcdf26e65601a22afc1fe68bbde.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/source/addons/controller_icons/assets/steam/back.png b/source/addons/controller_icons/assets/steam/back.png new file mode 100644 index 0000000..147eca2 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/back.png differ diff --git a/source/addons/controller_icons/assets/steam/back.png.import b/source/addons/controller_icons/assets/steam/back.png.import new file mode 100644 index 0000000..259a2c9 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/back.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kphomjfyki6u" +path="res://.godot/imported/back.png-aa3128aa827340fec92b81bdf0d61ea4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/back.png" +dest_files=["res://.godot/imported/back.png-aa3128aa827340fec92b81bdf0d61ea4.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/source/addons/controller_icons/assets/steam/gyro.png b/source/addons/controller_icons/assets/steam/gyro.png new file mode 100644 index 0000000..6e62084 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/gyro.png differ diff --git a/source/addons/controller_icons/assets/steam/gyro.png.import b/source/addons/controller_icons/assets/steam/gyro.png.import new file mode 100644 index 0000000..b4a28a2 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/gyro.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt4f535r5jbiq" +path="res://.godot/imported/gyro.png-036a1df6f9221b801ce960258264e36b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/gyro.png" +dest_files=["res://.godot/imported/gyro.png-036a1df6f9221b801ce960258264e36b.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/source/addons/controller_icons/assets/steam/lb.png b/source/addons/controller_icons/assets/steam/lb.png new file mode 100644 index 0000000..867ad60 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/lb.png differ diff --git a/source/addons/controller_icons/assets/steam/lb.png.import b/source/addons/controller_icons/assets/steam/lb.png.import new file mode 100644 index 0000000..217482b --- /dev/null +++ b/source/addons/controller_icons/assets/steam/lb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://digmlx17iy336" +path="res://.godot/imported/lb.png-ebcecead80d2eaa8e8dd39203374482c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/lb.png" +dest_files=["res://.godot/imported/lb.png-ebcecead80d2eaa8e8dd39203374482c.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/source/addons/controller_icons/assets/steam/left_grip.png b/source/addons/controller_icons/assets/steam/left_grip.png new file mode 100644 index 0000000..b9417c0 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/left_grip.png differ diff --git a/source/addons/controller_icons/assets/steam/left_grip.png.import b/source/addons/controller_icons/assets/steam/left_grip.png.import new file mode 100644 index 0000000..4498efd --- /dev/null +++ b/source/addons/controller_icons/assets/steam/left_grip.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctjkl1pjr5p4r" +path="res://.godot/imported/left_grip.png-7632e6b4dc516d33c14edaaca9a800f6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/left_grip.png" +dest_files=["res://.godot/imported/left_grip.png-7632e6b4dc516d33c14edaaca9a800f6.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/source/addons/controller_icons/assets/steam/left_track.png b/source/addons/controller_icons/assets/steam/left_track.png new file mode 100644 index 0000000..59f9ae1 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/left_track.png differ diff --git a/source/addons/controller_icons/assets/steam/left_track.png.import b/source/addons/controller_icons/assets/steam/left_track.png.import new file mode 100644 index 0000000..c126a55 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/left_track.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtll2c2c8oit8" +path="res://.godot/imported/left_track.png-17f05d6fcb42e2752708554a7e0bac57.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/left_track.png" +dest_files=["res://.godot/imported/left_track.png-17f05d6fcb42e2752708554a7e0bac57.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/source/addons/controller_icons/assets/steam/left_track_center.png b/source/addons/controller_icons/assets/steam/left_track_center.png new file mode 100644 index 0000000..37fc0f9 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/left_track_center.png differ diff --git a/source/addons/controller_icons/assets/steam/left_track_center.png.import b/source/addons/controller_icons/assets/steam/left_track_center.png.import new file mode 100644 index 0000000..8c95191 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/left_track_center.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chis8pjw070yd" +path="res://.godot/imported/left_track_center.png-f881a55ee2c591d91924bfeb7df3151e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/left_track_center.png" +dest_files=["res://.godot/imported/left_track_center.png-f881a55ee2c591d91924bfeb7df3151e.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/source/addons/controller_icons/assets/steam/left_track_down.png b/source/addons/controller_icons/assets/steam/left_track_down.png new file mode 100644 index 0000000..92c62ea Binary files /dev/null and b/source/addons/controller_icons/assets/steam/left_track_down.png differ diff --git a/source/addons/controller_icons/assets/steam/left_track_down.png.import b/source/addons/controller_icons/assets/steam/left_track_down.png.import new file mode 100644 index 0000000..e3f78d9 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/left_track_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnx2r5xyltcke" +path="res://.godot/imported/left_track_down.png-23a43b41ab965600405a2c0ec8054bca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/left_track_down.png" +dest_files=["res://.godot/imported/left_track_down.png-23a43b41ab965600405a2c0ec8054bca.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/source/addons/controller_icons/assets/steam/left_track_left.png b/source/addons/controller_icons/assets/steam/left_track_left.png new file mode 100644 index 0000000..23981de Binary files /dev/null and b/source/addons/controller_icons/assets/steam/left_track_left.png differ diff --git a/source/addons/controller_icons/assets/steam/left_track_left.png.import b/source/addons/controller_icons/assets/steam/left_track_left.png.import new file mode 100644 index 0000000..d08dd91 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/left_track_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clcdu5delmmh5" +path="res://.godot/imported/left_track_left.png-8654431bd0ad63399af945958e0c4b5c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/left_track_left.png" +dest_files=["res://.godot/imported/left_track_left.png-8654431bd0ad63399af945958e0c4b5c.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/source/addons/controller_icons/assets/steam/left_track_right.png b/source/addons/controller_icons/assets/steam/left_track_right.png new file mode 100644 index 0000000..8b936ff Binary files /dev/null and b/source/addons/controller_icons/assets/steam/left_track_right.png differ diff --git a/source/addons/controller_icons/assets/steam/left_track_right.png.import b/source/addons/controller_icons/assets/steam/left_track_right.png.import new file mode 100644 index 0000000..7e62634 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/left_track_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://uowibbyy0t2e" +path="res://.godot/imported/left_track_right.png-56a1c44260f8d7e4060f6cf701cca3e6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/left_track_right.png" +dest_files=["res://.godot/imported/left_track_right.png-56a1c44260f8d7e4060f6cf701cca3e6.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/source/addons/controller_icons/assets/steam/left_track_up.png b/source/addons/controller_icons/assets/steam/left_track_up.png new file mode 100644 index 0000000..419ce70 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/left_track_up.png differ diff --git a/source/addons/controller_icons/assets/steam/left_track_up.png.import b/source/addons/controller_icons/assets/steam/left_track_up.png.import new file mode 100644 index 0000000..0bcf067 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/left_track_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4funxqwsp5lt" +path="res://.godot/imported/left_track_up.png-d036ca12f4dcdd984614588b9f0c50f4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/left_track_up.png" +dest_files=["res://.godot/imported/left_track_up.png-d036ca12f4dcdd984614588b9f0c50f4.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/source/addons/controller_icons/assets/steam/lt.png b/source/addons/controller_icons/assets/steam/lt.png new file mode 100644 index 0000000..1890ea2 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/lt.png differ diff --git a/source/addons/controller_icons/assets/steam/lt.png.import b/source/addons/controller_icons/assets/steam/lt.png.import new file mode 100644 index 0000000..6d90596 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/lt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0s7pjaudi66e" +path="res://.godot/imported/lt.png-44277066c93d3aa2a3b16029f6b6db5f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/lt.png" +dest_files=["res://.godot/imported/lt.png-44277066c93d3aa2a3b16029f6b6db5f.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/source/addons/controller_icons/assets/steam/rb.png b/source/addons/controller_icons/assets/steam/rb.png new file mode 100644 index 0000000..4304c0f Binary files /dev/null and b/source/addons/controller_icons/assets/steam/rb.png differ diff --git a/source/addons/controller_icons/assets/steam/rb.png.import b/source/addons/controller_icons/assets/steam/rb.png.import new file mode 100644 index 0000000..b8fc6a9 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/rb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bp82rm756ep6u" +path="res://.godot/imported/rb.png-2fa5a7ab003444f3f1819759316dcd20.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/rb.png" +dest_files=["res://.godot/imported/rb.png-2fa5a7ab003444f3f1819759316dcd20.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/source/addons/controller_icons/assets/steam/right_grip.png b/source/addons/controller_icons/assets/steam/right_grip.png new file mode 100644 index 0000000..6545b07 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/right_grip.png differ diff --git a/source/addons/controller_icons/assets/steam/right_grip.png.import b/source/addons/controller_icons/assets/steam/right_grip.png.import new file mode 100644 index 0000000..ccb2f16 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/right_grip.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0k2r7ob05w33" +path="res://.godot/imported/right_grip.png-0799ccf7f9bc8a783cac8c357f38758d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/right_grip.png" +dest_files=["res://.godot/imported/right_grip.png-0799ccf7f9bc8a783cac8c357f38758d.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/source/addons/controller_icons/assets/steam/right_track.png b/source/addons/controller_icons/assets/steam/right_track.png new file mode 100644 index 0000000..baefb36 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/right_track.png differ diff --git a/source/addons/controller_icons/assets/steam/right_track.png.import b/source/addons/controller_icons/assets/steam/right_track.png.import new file mode 100644 index 0000000..2a8df9d --- /dev/null +++ b/source/addons/controller_icons/assets/steam/right_track.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6dq10ds5mlgs" +path="res://.godot/imported/right_track.png-95cc6adb3c1b4f9db74ec053b4999cf2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/right_track.png" +dest_files=["res://.godot/imported/right_track.png-95cc6adb3c1b4f9db74ec053b4999cf2.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/source/addons/controller_icons/assets/steam/right_track_center.png b/source/addons/controller_icons/assets/steam/right_track_center.png new file mode 100644 index 0000000..b6b9e2f Binary files /dev/null and b/source/addons/controller_icons/assets/steam/right_track_center.png differ diff --git a/source/addons/controller_icons/assets/steam/right_track_center.png.import b/source/addons/controller_icons/assets/steam/right_track_center.png.import new file mode 100644 index 0000000..6b2b018 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/right_track_center.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dta545ndu8if6" +path="res://.godot/imported/right_track_center.png-58ac8f72d98a03da1da39e477e6e7c1f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/right_track_center.png" +dest_files=["res://.godot/imported/right_track_center.png-58ac8f72d98a03da1da39e477e6e7c1f.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/source/addons/controller_icons/assets/steam/right_track_down.png b/source/addons/controller_icons/assets/steam/right_track_down.png new file mode 100644 index 0000000..7ee27fa Binary files /dev/null and b/source/addons/controller_icons/assets/steam/right_track_down.png differ diff --git a/source/addons/controller_icons/assets/steam/right_track_down.png.import b/source/addons/controller_icons/assets/steam/right_track_down.png.import new file mode 100644 index 0000000..d2c5ff4 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/right_track_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7h7ncsju5ggy" +path="res://.godot/imported/right_track_down.png-4130a302dfc93d303747d47da81d7f3a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/right_track_down.png" +dest_files=["res://.godot/imported/right_track_down.png-4130a302dfc93d303747d47da81d7f3a.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/source/addons/controller_icons/assets/steam/right_track_left.png b/source/addons/controller_icons/assets/steam/right_track_left.png new file mode 100644 index 0000000..0867fac Binary files /dev/null and b/source/addons/controller_icons/assets/steam/right_track_left.png differ diff --git a/source/addons/controller_icons/assets/steam/right_track_left.png.import b/source/addons/controller_icons/assets/steam/right_track_left.png.import new file mode 100644 index 0000000..61f6663 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/right_track_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxgrqodjwdqxw" +path="res://.godot/imported/right_track_left.png-7ff9caa711a7d830d6c0e9dcdbbc6e16.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/right_track_left.png" +dest_files=["res://.godot/imported/right_track_left.png-7ff9caa711a7d830d6c0e9dcdbbc6e16.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/source/addons/controller_icons/assets/steam/right_track_right.png b/source/addons/controller_icons/assets/steam/right_track_right.png new file mode 100644 index 0000000..704e8ae Binary files /dev/null and b/source/addons/controller_icons/assets/steam/right_track_right.png differ diff --git a/source/addons/controller_icons/assets/steam/right_track_right.png.import b/source/addons/controller_icons/assets/steam/right_track_right.png.import new file mode 100644 index 0000000..25c628d --- /dev/null +++ b/source/addons/controller_icons/assets/steam/right_track_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0lx11bnneyts" +path="res://.godot/imported/right_track_right.png-6862b78d914de9a352e198d09c79f9ee.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/right_track_right.png" +dest_files=["res://.godot/imported/right_track_right.png-6862b78d914de9a352e198d09c79f9ee.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/source/addons/controller_icons/assets/steam/right_track_up.png b/source/addons/controller_icons/assets/steam/right_track_up.png new file mode 100644 index 0000000..b6fed1e Binary files /dev/null and b/source/addons/controller_icons/assets/steam/right_track_up.png differ diff --git a/source/addons/controller_icons/assets/steam/right_track_up.png.import b/source/addons/controller_icons/assets/steam/right_track_up.png.import new file mode 100644 index 0000000..d0e24a4 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/right_track_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://30crryk2c330" +path="res://.godot/imported/right_track_up.png-a63f64921def263a77365aade11ebe0e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/right_track_up.png" +dest_files=["res://.godot/imported/right_track_up.png-a63f64921def263a77365aade11ebe0e.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/source/addons/controller_icons/assets/steam/rt.png b/source/addons/controller_icons/assets/steam/rt.png new file mode 100644 index 0000000..ee4d7de Binary files /dev/null and b/source/addons/controller_icons/assets/steam/rt.png differ diff --git a/source/addons/controller_icons/assets/steam/rt.png.import b/source/addons/controller_icons/assets/steam/rt.png.import new file mode 100644 index 0000000..8b8e209 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/rt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1uyj0ms44f7a" +path="res://.godot/imported/rt.png-8456a9d9c814b2bb104bbf016d2f7055.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/rt.png" +dest_files=["res://.godot/imported/rt.png-8456a9d9c814b2bb104bbf016d2f7055.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/source/addons/controller_icons/assets/steam/start.png b/source/addons/controller_icons/assets/steam/start.png new file mode 100644 index 0000000..a088743 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/start.png differ diff --git a/source/addons/controller_icons/assets/steam/start.png.import b/source/addons/controller_icons/assets/steam/start.png.import new file mode 100644 index 0000000..e1e1f61 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/start.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq6gu6ntaoy72" +path="res://.godot/imported/start.png-4e7d6471e6786617e56feb859488c243.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/start.png" +dest_files=["res://.godot/imported/start.png-4e7d6471e6786617e56feb859488c243.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/source/addons/controller_icons/assets/steam/stick.png b/source/addons/controller_icons/assets/steam/stick.png new file mode 100644 index 0000000..182e661 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/stick.png differ diff --git a/source/addons/controller_icons/assets/steam/stick.png.import b/source/addons/controller_icons/assets/steam/stick.png.import new file mode 100644 index 0000000..f402c0e --- /dev/null +++ b/source/addons/controller_icons/assets/steam/stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbu6uiegjwfk0" +path="res://.godot/imported/stick.png-17e9bd91c5d9ae40a3c941ea3acd764a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/stick.png" +dest_files=["res://.godot/imported/stick.png-17e9bd91c5d9ae40a3c941ea3acd764a.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/source/addons/controller_icons/assets/steam/system.png b/source/addons/controller_icons/assets/steam/system.png new file mode 100644 index 0000000..52e02ba Binary files /dev/null and b/source/addons/controller_icons/assets/steam/system.png differ diff --git a/source/addons/controller_icons/assets/steam/system.png.import b/source/addons/controller_icons/assets/steam/system.png.import new file mode 100644 index 0000000..358ba3b --- /dev/null +++ b/source/addons/controller_icons/assets/steam/system.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cktlmub0jxllb" +path="res://.godot/imported/system.png-bec343c70122880763d1f63339dd840d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/system.png" +dest_files=["res://.godot/imported/system.png-bec343c70122880763d1f63339dd840d.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/source/addons/controller_icons/assets/steam/tilt_pitch.png b/source/addons/controller_icons/assets/steam/tilt_pitch.png new file mode 100644 index 0000000..3b4b312 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/tilt_pitch.png differ diff --git a/source/addons/controller_icons/assets/steam/tilt_pitch.png.import b/source/addons/controller_icons/assets/steam/tilt_pitch.png.import new file mode 100644 index 0000000..3d17a3d --- /dev/null +++ b/source/addons/controller_icons/assets/steam/tilt_pitch.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cv6n77eif3i54" +path="res://.godot/imported/tilt_pitch.png-52a2dbe5ce0955cb0ff9dd622e114796.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/tilt_pitch.png" +dest_files=["res://.godot/imported/tilt_pitch.png-52a2dbe5ce0955cb0ff9dd622e114796.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/source/addons/controller_icons/assets/steam/tilt_roll.png b/source/addons/controller_icons/assets/steam/tilt_roll.png new file mode 100644 index 0000000..f452d1b Binary files /dev/null and b/source/addons/controller_icons/assets/steam/tilt_roll.png differ diff --git a/source/addons/controller_icons/assets/steam/tilt_roll.png.import b/source/addons/controller_icons/assets/steam/tilt_roll.png.import new file mode 100644 index 0000000..c035913 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/tilt_roll.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5jepr1r4ux60" +path="res://.godot/imported/tilt_roll.png-8c1f5b0ec6a270dd46dec3045007bf83.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/tilt_roll.png" +dest_files=["res://.godot/imported/tilt_roll.png-8c1f5b0ec6a270dd46dec3045007bf83.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/source/addons/controller_icons/assets/steam/tilt_yaw.png b/source/addons/controller_icons/assets/steam/tilt_yaw.png new file mode 100644 index 0000000..7d40a29 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/tilt_yaw.png differ diff --git a/source/addons/controller_icons/assets/steam/tilt_yaw.png.import b/source/addons/controller_icons/assets/steam/tilt_yaw.png.import new file mode 100644 index 0000000..6601c2f --- /dev/null +++ b/source/addons/controller_icons/assets/steam/tilt_yaw.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr34wwbk1o65k" +path="res://.godot/imported/tilt_yaw.png-49f6b72eb854329b5fd5a72dafa4ff48.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/tilt_yaw.png" +dest_files=["res://.godot/imported/tilt_yaw.png-49f6b72eb854329b5fd5a72dafa4ff48.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/source/addons/controller_icons/assets/steam/x.png b/source/addons/controller_icons/assets/steam/x.png new file mode 100644 index 0000000..a8e9df1 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/x.png differ diff --git a/source/addons/controller_icons/assets/steam/x.png.import b/source/addons/controller_icons/assets/steam/x.png.import new file mode 100644 index 0000000..930acaa --- /dev/null +++ b/source/addons/controller_icons/assets/steam/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1c54vo541jof" +path="res://.godot/imported/x.png-65afc159d12dab8e4f940e8f4090bba5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/x.png" +dest_files=["res://.godot/imported/x.png-65afc159d12dab8e4f940e8f4090bba5.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/source/addons/controller_icons/assets/steam/y.png b/source/addons/controller_icons/assets/steam/y.png new file mode 100644 index 0000000..16c2fc7 Binary files /dev/null and b/source/addons/controller_icons/assets/steam/y.png differ diff --git a/source/addons/controller_icons/assets/steam/y.png.import b/source/addons/controller_icons/assets/steam/y.png.import new file mode 100644 index 0000000..c3b44e5 --- /dev/null +++ b/source/addons/controller_icons/assets/steam/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br3am8umaitfn" +path="res://.godot/imported/y.png-639b49c4b58a0c38b43d864b4dc01ea7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steam/y.png" +dest_files=["res://.godot/imported/y.png-639b49c4b58a0c38b43d864b4dc01ea7.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/source/addons/controller_icons/assets/steamdeck/a.png b/source/addons/controller_icons/assets/steamdeck/a.png new file mode 100644 index 0000000..36e4867 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/a.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/a.png.import b/source/addons/controller_icons/assets/steamdeck/a.png.import new file mode 100644 index 0000000..327770e --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://poaovfu3n5rj" +path="res://.godot/imported/a.png-2f73dad70aca5a9b5fac65559366eb25.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/a.png" +dest_files=["res://.godot/imported/a.png-2f73dad70aca5a9b5fac65559366eb25.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/source/addons/controller_icons/assets/steamdeck/b.png b/source/addons/controller_icons/assets/steamdeck/b.png new file mode 100644 index 0000000..aa94303 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/b.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/b.png.import b/source/addons/controller_icons/assets/steamdeck/b.png.import new file mode 100644 index 0000000..7cdad43 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbrsrgvgujiul" +path="res://.godot/imported/b.png-3c47dd47fd7d251b208246d9fb5dea18.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/b.png" +dest_files=["res://.godot/imported/b.png-3c47dd47fd7d251b208246d9fb5dea18.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/source/addons/controller_icons/assets/steamdeck/dots.png b/source/addons/controller_icons/assets/steamdeck/dots.png new file mode 100644 index 0000000..fb04073 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/dots.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/dots.png.import b/source/addons/controller_icons/assets/steamdeck/dots.png.import new file mode 100644 index 0000000..5f28ee6 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/dots.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drfc61g2mgowu" +path="res://.godot/imported/dots.png-5aab7f77e51edbb5da9af6d242a7a1a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/dots.png" +dest_files=["res://.godot/imported/dots.png-5aab7f77e51edbb5da9af6d242a7a1a8.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/source/addons/controller_icons/assets/steamdeck/dpad.png b/source/addons/controller_icons/assets/steamdeck/dpad.png new file mode 100644 index 0000000..e79effa Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/dpad.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/dpad.png.import b/source/addons/controller_icons/assets/steamdeck/dpad.png.import new file mode 100644 index 0000000..6629727 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm4e2w2a8r1l4" +path="res://.godot/imported/dpad.png-d91578cac829c1bcc2a8d54711ef3af1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/dpad.png" +dest_files=["res://.godot/imported/dpad.png-d91578cac829c1bcc2a8d54711ef3af1.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/source/addons/controller_icons/assets/steamdeck/dpad_down.png b/source/addons/controller_icons/assets/steamdeck/dpad_down.png new file mode 100644 index 0000000..f6976e4 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/dpad_down.png.import b/source/addons/controller_icons/assets/steamdeck/dpad_down.png.import new file mode 100644 index 0000000..82c1777 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cynouax7vxg20" +path="res://.godot/imported/dpad_down.png-5cf905f451a185208b146c90cbae918d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-5cf905f451a185208b146c90cbae918d.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/source/addons/controller_icons/assets/steamdeck/dpad_left.png b/source/addons/controller_icons/assets/steamdeck/dpad_left.png new file mode 100644 index 0000000..80b5647 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/dpad_left.png.import b/source/addons/controller_icons/assets/steamdeck/dpad_left.png.import new file mode 100644 index 0000000..5d140f3 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkkrtakt17c56" +path="res://.godot/imported/dpad_left.png-32c007ed76ab3f913ca919c3845014b1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-32c007ed76ab3f913ca919c3845014b1.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/source/addons/controller_icons/assets/steamdeck/dpad_right.png b/source/addons/controller_icons/assets/steamdeck/dpad_right.png new file mode 100644 index 0000000..37953ea Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/dpad_right.png.import b/source/addons/controller_icons/assets/steamdeck/dpad_right.png.import new file mode 100644 index 0000000..35d32f9 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccjjrpx72dn2r" +path="res://.godot/imported/dpad_right.png-828c1fa323dfa47ac18628cf2c8ec764.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-828c1fa323dfa47ac18628cf2c8ec764.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/source/addons/controller_icons/assets/steamdeck/dpad_up.png b/source/addons/controller_icons/assets/steamdeck/dpad_up.png new file mode 100644 index 0000000..6fa4a6b Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/dpad_up.png.import b/source/addons/controller_icons/assets/steamdeck/dpad_up.png.import new file mode 100644 index 0000000..75016c1 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bw0h2x4m0g7b8" +path="res://.godot/imported/dpad_up.png-fa8e0d391699c07f5447f418411e4aaf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-fa8e0d391699c07f5447f418411e4aaf.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/source/addons/controller_icons/assets/steamdeck/gyro.png b/source/addons/controller_icons/assets/steamdeck/gyro.png new file mode 100644 index 0000000..4db3d2e Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/gyro.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/gyro.png.import b/source/addons/controller_icons/assets/steamdeck/gyro.png.import new file mode 100644 index 0000000..72cbe43 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/gyro.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://brtnyias3061u" +path="res://.godot/imported/gyro.png-069596f609be7f7b726934d7d8c01f58.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/gyro.png" +dest_files=["res://.godot/imported/gyro.png-069596f609be7f7b726934d7d8c01f58.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/source/addons/controller_icons/assets/steamdeck/l1.png b/source/addons/controller_icons/assets/steamdeck/l1.png new file mode 100644 index 0000000..25e2562 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/l1.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/l1.png.import b/source/addons/controller_icons/assets/steamdeck/l1.png.import new file mode 100644 index 0000000..abf64ad --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/l1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dichmao6k03i6" +path="res://.godot/imported/l1.png-cd4c173e49cfddf9d9538a804894a5b9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/l1.png" +dest_files=["res://.godot/imported/l1.png-cd4c173e49cfddf9d9538a804894a5b9.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/source/addons/controller_icons/assets/steamdeck/l2.png b/source/addons/controller_icons/assets/steamdeck/l2.png new file mode 100644 index 0000000..399ffb4 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/l2.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/l2.png.import b/source/addons/controller_icons/assets/steamdeck/l2.png.import new file mode 100644 index 0000000..059c50e --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/l2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bd1ipt1urb7xw" +path="res://.godot/imported/l2.png-c7dea6858612a3a7e6b18684a3fc641c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/l2.png" +dest_files=["res://.godot/imported/l2.png-c7dea6858612a3a7e6b18684a3fc641c.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/source/addons/controller_icons/assets/steamdeck/l4.png b/source/addons/controller_icons/assets/steamdeck/l4.png new file mode 100644 index 0000000..3a2b4be Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/l4.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/l4.png.import b/source/addons/controller_icons/assets/steamdeck/l4.png.import new file mode 100644 index 0000000..a33fdf9 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/l4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bn4k3f2g4pwet" +path="res://.godot/imported/l4.png-53e1f2dd49fd7211ca90847235d09280.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/l4.png" +dest_files=["res://.godot/imported/l4.png-53e1f2dd49fd7211ca90847235d09280.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/source/addons/controller_icons/assets/steamdeck/l5.png b/source/addons/controller_icons/assets/steamdeck/l5.png new file mode 100644 index 0000000..507fc01 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/l5.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/l5.png.import b/source/addons/controller_icons/assets/steamdeck/l5.png.import new file mode 100644 index 0000000..53954a2 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/l5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://w6iao807c7k0" +path="res://.godot/imported/l5.png-c7872767816e4050da362fd348778e96.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/l5.png" +dest_files=["res://.godot/imported/l5.png-c7872767816e4050da362fd348778e96.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/source/addons/controller_icons/assets/steamdeck/l_stick.png b/source/addons/controller_icons/assets/steamdeck/l_stick.png new file mode 100644 index 0000000..e006d0a Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/l_stick.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/l_stick.png.import b/source/addons/controller_icons/assets/steamdeck/l_stick.png.import new file mode 100644 index 0000000..26ad195 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b322wp72ljvjx" +path="res://.godot/imported/l_stick.png-b82870d1d471bcee24379dc170fff1d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-b82870d1d471bcee24379dc170fff1d5.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/source/addons/controller_icons/assets/steamdeck/l_stick_click.png b/source/addons/controller_icons/assets/steamdeck/l_stick_click.png new file mode 100644 index 0000000..d7e2029 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/l_stick_click.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/l_stick_click.png.import b/source/addons/controller_icons/assets/steamdeck/l_stick_click.png.import new file mode 100644 index 0000000..3af3d3f --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/l_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lholv28i3ycm" +path="res://.godot/imported/l_stick_click.png-4b0e50bec61ff1c33620527a89d6ea79.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/l_stick_click.png" +dest_files=["res://.godot/imported/l_stick_click.png-4b0e50bec61ff1c33620527a89d6ea79.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/source/addons/controller_icons/assets/steamdeck/left_track.png b/source/addons/controller_icons/assets/steamdeck/left_track.png new file mode 100644 index 0000000..d1596fa Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/left_track.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/left_track.png.import b/source/addons/controller_icons/assets/steamdeck/left_track.png.import new file mode 100644 index 0000000..525f791 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/left_track.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhq248yp0aa52" +path="res://.godot/imported/left_track.png-a3f6b83f0eb656760c4e50b38378b0d2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/left_track.png" +dest_files=["res://.godot/imported/left_track.png-a3f6b83f0eb656760c4e50b38378b0d2.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/source/addons/controller_icons/assets/steamdeck/menu.png b/source/addons/controller_icons/assets/steamdeck/menu.png new file mode 100644 index 0000000..39c5d17 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/menu.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/menu.png.import b/source/addons/controller_icons/assets/steamdeck/menu.png.import new file mode 100644 index 0000000..b02b4af --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/menu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tmna4yvo038t" +path="res://.godot/imported/menu.png-15b5ed82914c030a3d664fc292ecda62.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/menu.png" +dest_files=["res://.godot/imported/menu.png-15b5ed82914c030a3d664fc292ecda62.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/source/addons/controller_icons/assets/steamdeck/minus.png b/source/addons/controller_icons/assets/steamdeck/minus.png new file mode 100644 index 0000000..1347872 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/minus.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/minus.png.import b/source/addons/controller_icons/assets/steamdeck/minus.png.import new file mode 100644 index 0000000..1658e75 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/minus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b64ckrex6trq0" +path="res://.godot/imported/minus.png-6b6a5c0a0c6b9d79b43a9ba17509b6c2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/minus.png" +dest_files=["res://.godot/imported/minus.png-6b6a5c0a0c6b9d79b43a9ba17509b6c2.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/source/addons/controller_icons/assets/steamdeck/plus.png b/source/addons/controller_icons/assets/steamdeck/plus.png new file mode 100644 index 0000000..394d5bb Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/plus.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/plus.png.import b/source/addons/controller_icons/assets/steamdeck/plus.png.import new file mode 100644 index 0000000..7e815b6 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/plus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dg1tbg6cnlkit" +path="res://.godot/imported/plus.png-c4d8729eb667b48905d0e19119750025.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/plus.png" +dest_files=["res://.godot/imported/plus.png-c4d8729eb667b48905d0e19119750025.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/source/addons/controller_icons/assets/steamdeck/power.png b/source/addons/controller_icons/assets/steamdeck/power.png new file mode 100644 index 0000000..13bfec5 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/power.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/power.png.import b/source/addons/controller_icons/assets/steamdeck/power.png.import new file mode 100644 index 0000000..1baec3b --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/power.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bck8srkobqvi3" +path="res://.godot/imported/power.png-0830cc8bf011276d1ca084df938e9bfe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/power.png" +dest_files=["res://.godot/imported/power.png-0830cc8bf011276d1ca084df938e9bfe.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/source/addons/controller_icons/assets/steamdeck/r1.png b/source/addons/controller_icons/assets/steamdeck/r1.png new file mode 100644 index 0000000..4d7ce77 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/r1.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/r1.png.import b/source/addons/controller_icons/assets/steamdeck/r1.png.import new file mode 100644 index 0000000..637e601 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/r1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://druiq1x5t40vi" +path="res://.godot/imported/r1.png-e7ea343bd2a09ffc81d7115c3dec0af9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/r1.png" +dest_files=["res://.godot/imported/r1.png-e7ea343bd2a09ffc81d7115c3dec0af9.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/source/addons/controller_icons/assets/steamdeck/r2.png b/source/addons/controller_icons/assets/steamdeck/r2.png new file mode 100644 index 0000000..bb4787a Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/r2.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/r2.png.import b/source/addons/controller_icons/assets/steamdeck/r2.png.import new file mode 100644 index 0000000..cda9fff --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/r2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://0h2bsoykgxw7" +path="res://.godot/imported/r2.png-9fb695385a2811dece0b0d347dbebc92.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/r2.png" +dest_files=["res://.godot/imported/r2.png-9fb695385a2811dece0b0d347dbebc92.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/source/addons/controller_icons/assets/steamdeck/r4.png b/source/addons/controller_icons/assets/steamdeck/r4.png new file mode 100644 index 0000000..07f6110 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/r4.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/r4.png.import b/source/addons/controller_icons/assets/steamdeck/r4.png.import new file mode 100644 index 0000000..d6e68ce --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/r4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://43513ycpgkfk" +path="res://.godot/imported/r4.png-9218f4075b2a63414563818f0c8ce0a1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/r4.png" +dest_files=["res://.godot/imported/r4.png-9218f4075b2a63414563818f0c8ce0a1.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/source/addons/controller_icons/assets/steamdeck/r5.png b/source/addons/controller_icons/assets/steamdeck/r5.png new file mode 100644 index 0000000..d5659cb Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/r5.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/r5.png.import b/source/addons/controller_icons/assets/steamdeck/r5.png.import new file mode 100644 index 0000000..55950b2 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/r5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxcwenhrruil7" +path="res://.godot/imported/r5.png-3e555104eee0b287d143d58b74f3713b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/r5.png" +dest_files=["res://.godot/imported/r5.png-3e555104eee0b287d143d58b74f3713b.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/source/addons/controller_icons/assets/steamdeck/r_stick.png b/source/addons/controller_icons/assets/steamdeck/r_stick.png new file mode 100644 index 0000000..a2fc9db Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/r_stick.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/r_stick.png.import b/source/addons/controller_icons/assets/steamdeck/r_stick.png.import new file mode 100644 index 0000000..3657015 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fwbk65op52yk" +path="res://.godot/imported/r_stick.png-1c05d894dc78be25f4a49ccf8bd0d050.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-1c05d894dc78be25f4a49ccf8bd0d050.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/source/addons/controller_icons/assets/steamdeck/r_stick_click.png b/source/addons/controller_icons/assets/steamdeck/r_stick_click.png new file mode 100644 index 0000000..2236e57 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/r_stick_click.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/r_stick_click.png.import b/source/addons/controller_icons/assets/steamdeck/r_stick_click.png.import new file mode 100644 index 0000000..b49e988 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/r_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ba04a0ql4pg6s" +path="res://.godot/imported/r_stick_click.png-65cb2bed7b9da43cbe790342cd7869f7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/r_stick_click.png" +dest_files=["res://.godot/imported/r_stick_click.png-65cb2bed7b9da43cbe790342cd7869f7.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/source/addons/controller_icons/assets/steamdeck/right_track.png b/source/addons/controller_icons/assets/steamdeck/right_track.png new file mode 100644 index 0000000..0628aba Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/right_track.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/right_track.png.import b/source/addons/controller_icons/assets/steamdeck/right_track.png.import new file mode 100644 index 0000000..6b28705 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/right_track.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpobf2qdnwicd" +path="res://.godot/imported/right_track.png-b11cdb4f73a4064c5e82947c3a833f04.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/right_track.png" +dest_files=["res://.godot/imported/right_track.png-b11cdb4f73a4064c5e82947c3a833f04.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/source/addons/controller_icons/assets/steamdeck/square.png b/source/addons/controller_icons/assets/steamdeck/square.png new file mode 100644 index 0000000..d87ae38 Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/square.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/square.png.import b/source/addons/controller_icons/assets/steamdeck/square.png.import new file mode 100644 index 0000000..9a9be55 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/square.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b33u6kf0emyhw" +path="res://.godot/imported/square.png-aa97e4ebdd5168be792d22b9d19b86fb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/square.png" +dest_files=["res://.godot/imported/square.png-aa97e4ebdd5168be792d22b9d19b86fb.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/source/addons/controller_icons/assets/steamdeck/steam.png b/source/addons/controller_icons/assets/steamdeck/steam.png new file mode 100644 index 0000000..af63f7f Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/steam.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/steam.png.import b/source/addons/controller_icons/assets/steamdeck/steam.png.import new file mode 100644 index 0000000..396a708 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/steam.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dterkny3mjiu3" +path="res://.godot/imported/steam.png-cb3e0e8febfbcab936503086b0f14183.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/steam.png" +dest_files=["res://.godot/imported/steam.png-cb3e0e8febfbcab936503086b0f14183.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/source/addons/controller_icons/assets/steamdeck/x.png b/source/addons/controller_icons/assets/steamdeck/x.png new file mode 100644 index 0000000..606739b Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/x.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/x.png.import b/source/addons/controller_icons/assets/steamdeck/x.png.import new file mode 100644 index 0000000..14a81d0 --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv6ggn8weqf6r" +path="res://.godot/imported/x.png-7c5b0135e3b23190b7a1d19198c8d796.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/x.png" +dest_files=["res://.godot/imported/x.png-7c5b0135e3b23190b7a1d19198c8d796.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/source/addons/controller_icons/assets/steamdeck/y.png b/source/addons/controller_icons/assets/steamdeck/y.png new file mode 100644 index 0000000..4a0423f Binary files /dev/null and b/source/addons/controller_icons/assets/steamdeck/y.png differ diff --git a/source/addons/controller_icons/assets/steamdeck/y.png.import b/source/addons/controller_icons/assets/steamdeck/y.png.import new file mode 100644 index 0000000..383025e --- /dev/null +++ b/source/addons/controller_icons/assets/steamdeck/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccoqqcubm3xnx" +path="res://.godot/imported/y.png-ef1586ba97c51e445fce86a950a27af1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/steamdeck/y.png" +dest_files=["res://.godot/imported/y.png-ef1586ba97c51e445fce86a950a27af1.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/source/addons/controller_icons/assets/switch/a.png b/source/addons/controller_icons/assets/switch/a.png new file mode 100644 index 0000000..df756ef Binary files /dev/null and b/source/addons/controller_icons/assets/switch/a.png differ diff --git a/source/addons/controller_icons/assets/switch/a.png.import b/source/addons/controller_icons/assets/switch/a.png.import new file mode 100644 index 0000000..ac5bf36 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bahjel775ngf" +path="res://.godot/imported/a.png-fc163e1211ed8de66a60ec99285d248f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/a.png" +dest_files=["res://.godot/imported/a.png-fc163e1211ed8de66a60ec99285d248f.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/source/addons/controller_icons/assets/switch/b.png b/source/addons/controller_icons/assets/switch/b.png new file mode 100644 index 0000000..ea7e743 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/b.png differ diff --git a/source/addons/controller_icons/assets/switch/b.png.import b/source/addons/controller_icons/assets/switch/b.png.import new file mode 100644 index 0000000..e6b860d --- /dev/null +++ b/source/addons/controller_icons/assets/switch/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt7tcdk3d020l" +path="res://.godot/imported/b.png-c6f0b440af26e7f51533807a83f12c3e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/b.png" +dest_files=["res://.godot/imported/b.png-c6f0b440af26e7f51533807a83f12c3e.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/source/addons/controller_icons/assets/switch/controller_left.png b/source/addons/controller_icons/assets/switch/controller_left.png new file mode 100644 index 0000000..f90a244 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/controller_left.png differ diff --git a/source/addons/controller_icons/assets/switch/controller_left.png.import b/source/addons/controller_icons/assets/switch/controller_left.png.import new file mode 100644 index 0000000..62fc628 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/controller_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://1mmspbd2eh0p" +path="res://.godot/imported/controller_left.png-ce1b649371fd1088c46c4a7d0d9ebeab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/controller_left.png" +dest_files=["res://.godot/imported/controller_left.png-ce1b649371fd1088c46c4a7d0d9ebeab.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/source/addons/controller_icons/assets/switch/controller_right.png b/source/addons/controller_icons/assets/switch/controller_right.png new file mode 100644 index 0000000..873da7e Binary files /dev/null and b/source/addons/controller_icons/assets/switch/controller_right.png differ diff --git a/source/addons/controller_icons/assets/switch/controller_right.png.import b/source/addons/controller_icons/assets/switch/controller_right.png.import new file mode 100644 index 0000000..c078b05 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/controller_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tkexjj22svc" +path="res://.godot/imported/controller_right.png-1809d0ffa0e37e642089b8a03caeec7e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/controller_right.png" +dest_files=["res://.godot/imported/controller_right.png-1809d0ffa0e37e642089b8a03caeec7e.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/source/addons/controller_icons/assets/switch/controllers.png b/source/addons/controller_icons/assets/switch/controllers.png new file mode 100644 index 0000000..b6ee54d Binary files /dev/null and b/source/addons/controller_icons/assets/switch/controllers.png differ diff --git a/source/addons/controller_icons/assets/switch/controllers.png.import b/source/addons/controller_icons/assets/switch/controllers.png.import new file mode 100644 index 0000000..814e32f --- /dev/null +++ b/source/addons/controller_icons/assets/switch/controllers.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cy1dluupdemuv" +path="res://.godot/imported/controllers.png-7712b49e533d621799a7a9a3bbf3ae1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/controllers.png" +dest_files=["res://.godot/imported/controllers.png-7712b49e533d621799a7a9a3bbf3ae1a.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/source/addons/controller_icons/assets/switch/controllers_separate.png b/source/addons/controller_icons/assets/switch/controllers_separate.png new file mode 100644 index 0000000..0c019da Binary files /dev/null and b/source/addons/controller_icons/assets/switch/controllers_separate.png differ diff --git a/source/addons/controller_icons/assets/switch/controllers_separate.png.import b/source/addons/controller_icons/assets/switch/controllers_separate.png.import new file mode 100644 index 0000000..1a65d91 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/controllers_separate.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bluvevys04kfi" +path="res://.godot/imported/controllers_separate.png-1060f3b60202e8596c5e2b6cb4ab7773.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/controllers_separate.png" +dest_files=["res://.godot/imported/controllers_separate.png-1060f3b60202e8596c5e2b6cb4ab7773.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/source/addons/controller_icons/assets/switch/down.png b/source/addons/controller_icons/assets/switch/down.png new file mode 100644 index 0000000..7b7b2b2 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/down.png differ diff --git a/source/addons/controller_icons/assets/switch/down.png.import b/source/addons/controller_icons/assets/switch/down.png.import new file mode 100644 index 0000000..6092eac --- /dev/null +++ b/source/addons/controller_icons/assets/switch/down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br2bweafcdeyx" +path="res://.godot/imported/down.png-a90d78a51af3fbb8a21316a6086e4112.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/down.png" +dest_files=["res://.godot/imported/down.png-a90d78a51af3fbb8a21316a6086e4112.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/source/addons/controller_icons/assets/switch/dpad.png b/source/addons/controller_icons/assets/switch/dpad.png new file mode 100644 index 0000000..12f01eb Binary files /dev/null and b/source/addons/controller_icons/assets/switch/dpad.png differ diff --git a/source/addons/controller_icons/assets/switch/dpad.png.import b/source/addons/controller_icons/assets/switch/dpad.png.import new file mode 100644 index 0000000..64f6164 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c42ruyvdah1bg" +path="res://.godot/imported/dpad.png-a9f4cd306092d2081b92f100afab13ce.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/dpad.png" +dest_files=["res://.godot/imported/dpad.png-a9f4cd306092d2081b92f100afab13ce.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/source/addons/controller_icons/assets/switch/dpad_down.png b/source/addons/controller_icons/assets/switch/dpad_down.png new file mode 100644 index 0000000..37f6d5b Binary files /dev/null and b/source/addons/controller_icons/assets/switch/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/switch/dpad_down.png.import b/source/addons/controller_icons/assets/switch/dpad_down.png.import new file mode 100644 index 0000000..9d9f836 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://daup2v6e8kpa5" +path="res://.godot/imported/dpad_down.png-d2e040caf2a8553667e08295ebb08db5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-d2e040caf2a8553667e08295ebb08db5.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/source/addons/controller_icons/assets/switch/dpad_left.png b/source/addons/controller_icons/assets/switch/dpad_left.png new file mode 100644 index 0000000..8efd7a4 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/switch/dpad_left.png.import b/source/addons/controller_icons/assets/switch/dpad_left.png.import new file mode 100644 index 0000000..beb1277 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8828wfao1bpj" +path="res://.godot/imported/dpad_left.png-e63de4ccf41738e35d2777f505c2be2d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-e63de4ccf41738e35d2777f505c2be2d.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/source/addons/controller_icons/assets/switch/dpad_right.png b/source/addons/controller_icons/assets/switch/dpad_right.png new file mode 100644 index 0000000..8b5411d Binary files /dev/null and b/source/addons/controller_icons/assets/switch/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/switch/dpad_right.png.import b/source/addons/controller_icons/assets/switch/dpad_right.png.import new file mode 100644 index 0000000..bc64052 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlmdkgq67fcis" +path="res://.godot/imported/dpad_right.png-3007471fdc53a106f529d115b546b760.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-3007471fdc53a106f529d115b546b760.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/source/addons/controller_icons/assets/switch/dpad_up.png b/source/addons/controller_icons/assets/switch/dpad_up.png new file mode 100644 index 0000000..700a8ba Binary files /dev/null and b/source/addons/controller_icons/assets/switch/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/switch/dpad_up.png.import b/source/addons/controller_icons/assets/switch/dpad_up.png.import new file mode 100644 index 0000000..f81b819 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cskxuv3f6lf61" +path="res://.godot/imported/dpad_up.png-4c4285851ec1cd038443f47583df3666.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-4c4285851ec1cd038443f47583df3666.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/source/addons/controller_icons/assets/switch/home.png b/source/addons/controller_icons/assets/switch/home.png new file mode 100644 index 0000000..9b6733c Binary files /dev/null and b/source/addons/controller_icons/assets/switch/home.png differ diff --git a/source/addons/controller_icons/assets/switch/home.png.import b/source/addons/controller_icons/assets/switch/home.png.import new file mode 100644 index 0000000..aac45d3 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/home.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://r710p2bjr6ul" +path="res://.godot/imported/home.png-5064b33e1525213704fd7e54a238d89e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/home.png" +dest_files=["res://.godot/imported/home.png-5064b33e1525213704fd7e54a238d89e.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/source/addons/controller_icons/assets/switch/l.png b/source/addons/controller_icons/assets/switch/l.png new file mode 100644 index 0000000..ddfa3b9 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/l.png differ diff --git a/source/addons/controller_icons/assets/switch/l.png.import b/source/addons/controller_icons/assets/switch/l.png.import new file mode 100644 index 0000000..899ed63 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/l.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwqvqq3urrj7o" +path="res://.godot/imported/l.png-e3d1358307fb6c1e5f233a556e232e14.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/l.png" +dest_files=["res://.godot/imported/l.png-e3d1358307fb6c1e5f233a556e232e14.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/source/addons/controller_icons/assets/switch/l_stick.png b/source/addons/controller_icons/assets/switch/l_stick.png new file mode 100644 index 0000000..d861ca5 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/l_stick.png differ diff --git a/source/addons/controller_icons/assets/switch/l_stick.png.import b/source/addons/controller_icons/assets/switch/l_stick.png.import new file mode 100644 index 0000000..a7d2682 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4hjauro4m0qy" +path="res://.godot/imported/l_stick.png-ca22952e4f56ee820836a9a2a4efa9a5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-ca22952e4f56ee820836a9a2a4efa9a5.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/source/addons/controller_icons/assets/switch/left.png b/source/addons/controller_icons/assets/switch/left.png new file mode 100644 index 0000000..fd58439 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/left.png differ diff --git a/source/addons/controller_icons/assets/switch/left.png.import b/source/addons/controller_icons/assets/switch/left.png.import new file mode 100644 index 0000000..10d9b5e --- /dev/null +++ b/source/addons/controller_icons/assets/switch/left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4m2fe1kt7frh" +path="res://.godot/imported/left.png-c1516db77a1bd37214295e4fa38ff2d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/left.png" +dest_files=["res://.godot/imported/left.png-c1516db77a1bd37214295e4fa38ff2d8.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/source/addons/controller_icons/assets/switch/minus.png b/source/addons/controller_icons/assets/switch/minus.png new file mode 100644 index 0000000..d32608e Binary files /dev/null and b/source/addons/controller_icons/assets/switch/minus.png differ diff --git a/source/addons/controller_icons/assets/switch/minus.png.import b/source/addons/controller_icons/assets/switch/minus.png.import new file mode 100644 index 0000000..899d3c8 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/minus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3y7roswe12hw" +path="res://.godot/imported/minus.png-51777051e1934ff00687c799a7c1a259.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/minus.png" +dest_files=["res://.godot/imported/minus.png-51777051e1934ff00687c799a7c1a259.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/source/addons/controller_icons/assets/switch/plus.png b/source/addons/controller_icons/assets/switch/plus.png new file mode 100644 index 0000000..f1b0dc4 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/plus.png differ diff --git a/source/addons/controller_icons/assets/switch/plus.png.import b/source/addons/controller_icons/assets/switch/plus.png.import new file mode 100644 index 0000000..83474cd --- /dev/null +++ b/source/addons/controller_icons/assets/switch/plus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyfb3pxcb7wwp" +path="res://.godot/imported/plus.png-4390752258f8416f7d20ed3058b9a73d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/plus.png" +dest_files=["res://.godot/imported/plus.png-4390752258f8416f7d20ed3058b9a73d.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/source/addons/controller_icons/assets/switch/r.png b/source/addons/controller_icons/assets/switch/r.png new file mode 100644 index 0000000..01f137a Binary files /dev/null and b/source/addons/controller_icons/assets/switch/r.png differ diff --git a/source/addons/controller_icons/assets/switch/r.png.import b/source/addons/controller_icons/assets/switch/r.png.import new file mode 100644 index 0000000..26a77be --- /dev/null +++ b/source/addons/controller_icons/assets/switch/r.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bol28l20uvyth" +path="res://.godot/imported/r.png-5ff5051242ce222b42f687a41d922ea1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/r.png" +dest_files=["res://.godot/imported/r.png-5ff5051242ce222b42f687a41d922ea1.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/source/addons/controller_icons/assets/switch/r_stick.png b/source/addons/controller_icons/assets/switch/r_stick.png new file mode 100644 index 0000000..f2c605b Binary files /dev/null and b/source/addons/controller_icons/assets/switch/r_stick.png differ diff --git a/source/addons/controller_icons/assets/switch/r_stick.png.import b/source/addons/controller_icons/assets/switch/r_stick.png.import new file mode 100644 index 0000000..b4c242e --- /dev/null +++ b/source/addons/controller_icons/assets/switch/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4kfa5jikbh6e" +path="res://.godot/imported/r_stick.png-8336fb8720a1ed38bfe5dd6386d21f1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-8336fb8720a1ed38bfe5dd6386d21f1b.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/source/addons/controller_icons/assets/switch/right.png b/source/addons/controller_icons/assets/switch/right.png new file mode 100644 index 0000000..f524c6c Binary files /dev/null and b/source/addons/controller_icons/assets/switch/right.png differ diff --git a/source/addons/controller_icons/assets/switch/right.png.import b/source/addons/controller_icons/assets/switch/right.png.import new file mode 100644 index 0000000..4cb0666 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clv4i78euervw" +path="res://.godot/imported/right.png-4a1a0df486de8574bd3643a98f0f445e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/right.png" +dest_files=["res://.godot/imported/right.png-4a1a0df486de8574bd3643a98f0f445e.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/source/addons/controller_icons/assets/switch/square.png b/source/addons/controller_icons/assets/switch/square.png new file mode 100644 index 0000000..d0fd432 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/square.png differ diff --git a/source/addons/controller_icons/assets/switch/square.png.import b/source/addons/controller_icons/assets/switch/square.png.import new file mode 100644 index 0000000..b156533 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/square.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b68npgglyuic1" +path="res://.godot/imported/square.png-120b0a09bb5b62e1b7896639e6416c45.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/square.png" +dest_files=["res://.godot/imported/square.png-120b0a09bb5b62e1b7896639e6416c45.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/source/addons/controller_icons/assets/switch/up.png b/source/addons/controller_icons/assets/switch/up.png new file mode 100644 index 0000000..352f890 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/up.png differ diff --git a/source/addons/controller_icons/assets/switch/up.png.import b/source/addons/controller_icons/assets/switch/up.png.import new file mode 100644 index 0000000..445cd8e --- /dev/null +++ b/source/addons/controller_icons/assets/switch/up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b54pfsyyoekci" +path="res://.godot/imported/up.png-935181649d7a0f7c750c95b1b3828c64.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/up.png" +dest_files=["res://.godot/imported/up.png-935181649d7a0f7c750c95b1b3828c64.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/source/addons/controller_icons/assets/switch/x.png b/source/addons/controller_icons/assets/switch/x.png new file mode 100644 index 0000000..bdf86ba Binary files /dev/null and b/source/addons/controller_icons/assets/switch/x.png differ diff --git a/source/addons/controller_icons/assets/switch/x.png.import b/source/addons/controller_icons/assets/switch/x.png.import new file mode 100644 index 0000000..f787d20 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b50wnctwb7d4y" +path="res://.godot/imported/x.png-c0b79e607f24c770e5e6082d203a8f2c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/x.png" +dest_files=["res://.godot/imported/x.png-c0b79e607f24c770e5e6082d203a8f2c.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/source/addons/controller_icons/assets/switch/y.png b/source/addons/controller_icons/assets/switch/y.png new file mode 100644 index 0000000..46ac216 Binary files /dev/null and b/source/addons/controller_icons/assets/switch/y.png differ diff --git a/source/addons/controller_icons/assets/switch/y.png.import b/source/addons/controller_icons/assets/switch/y.png.import new file mode 100644 index 0000000..0d53b2d --- /dev/null +++ b/source/addons/controller_icons/assets/switch/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://buc72djpve48f" +path="res://.godot/imported/y.png-93b1223c824009cc6b4dc6d04216c5d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/y.png" +dest_files=["res://.godot/imported/y.png-93b1223c824009cc6b4dc6d04216c5d5.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/source/addons/controller_icons/assets/switch/zl.png b/source/addons/controller_icons/assets/switch/zl.png new file mode 100644 index 0000000..6942e1f Binary files /dev/null and b/source/addons/controller_icons/assets/switch/zl.png differ diff --git a/source/addons/controller_icons/assets/switch/zl.png.import b/source/addons/controller_icons/assets/switch/zl.png.import new file mode 100644 index 0000000..88b508e --- /dev/null +++ b/source/addons/controller_icons/assets/switch/zl.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ck2key5t2ql5n" +path="res://.godot/imported/zl.png-d3401c26a4f6e21389cc91a045e78bbc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/zl.png" +dest_files=["res://.godot/imported/zl.png-d3401c26a4f6e21389cc91a045e78bbc.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/source/addons/controller_icons/assets/switch/zr.png b/source/addons/controller_icons/assets/switch/zr.png new file mode 100644 index 0000000..6aef3cb Binary files /dev/null and b/source/addons/controller_icons/assets/switch/zr.png differ diff --git a/source/addons/controller_icons/assets/switch/zr.png.import b/source/addons/controller_icons/assets/switch/zr.png.import new file mode 100644 index 0000000..57b46a5 --- /dev/null +++ b/source/addons/controller_icons/assets/switch/zr.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6b1xw0oivd8a" +path="res://.godot/imported/zr.png-773c45f72efa58594d2c296f7bcf98ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/switch/zr.png" +dest_files=["res://.godot/imported/zr.png-773c45f72efa58594d2c296f7bcf98ad.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/source/addons/controller_icons/assets/xbox360/a.png b/source/addons/controller_icons/assets/xbox360/a.png new file mode 100644 index 0000000..cd716d1 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/a.png differ diff --git a/source/addons/controller_icons/assets/xbox360/a.png.import b/source/addons/controller_icons/assets/xbox360/a.png.import new file mode 100644 index 0000000..adad213 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d284wkmo0vqfk" +path="res://.godot/imported/a.png-35cb6a74789d7796b5f5833c3c67ffde.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/a.png" +dest_files=["res://.godot/imported/a.png-35cb6a74789d7796b5f5833c3c67ffde.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/source/addons/controller_icons/assets/xbox360/b.png b/source/addons/controller_icons/assets/xbox360/b.png new file mode 100644 index 0000000..73bcb6e Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/b.png differ diff --git a/source/addons/controller_icons/assets/xbox360/b.png.import b/source/addons/controller_icons/assets/xbox360/b.png.import new file mode 100644 index 0000000..b841c1e --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bufx8lu1tny4o" +path="res://.godot/imported/b.png-80e4c32ae4527fdcb995a9e786adbdbf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/b.png" +dest_files=["res://.godot/imported/b.png-80e4c32ae4527fdcb995a9e786adbdbf.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/source/addons/controller_icons/assets/xbox360/back.png b/source/addons/controller_icons/assets/xbox360/back.png new file mode 100644 index 0000000..bfb10db Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/back.png differ diff --git a/source/addons/controller_icons/assets/xbox360/back.png.import b/source/addons/controller_icons/assets/xbox360/back.png.import new file mode 100644 index 0000000..a006cd4 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/back.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cdjnpcxgnxrxb" +path="res://.godot/imported/back.png-ce88a25195b2a2fbe762bda6ff222b5b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/back.png" +dest_files=["res://.godot/imported/back.png-ce88a25195b2a2fbe762bda6ff222b5b.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/source/addons/controller_icons/assets/xbox360/back_alt.png b/source/addons/controller_icons/assets/xbox360/back_alt.png new file mode 100644 index 0000000..900705b Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/back_alt.png differ diff --git a/source/addons/controller_icons/assets/xbox360/back_alt.png.import b/source/addons/controller_icons/assets/xbox360/back_alt.png.import new file mode 100644 index 0000000..a3d9d86 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/back_alt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://de4v68g8x5ygf" +path="res://.godot/imported/back_alt.png-a7a979f712d8115fc34a8ae66d914049.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/back_alt.png" +dest_files=["res://.godot/imported/back_alt.png-a7a979f712d8115fc34a8ae66d914049.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/source/addons/controller_icons/assets/xbox360/dpad.png b/source/addons/controller_icons/assets/xbox360/dpad.png new file mode 100644 index 0000000..93e90de Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/dpad.png differ diff --git a/source/addons/controller_icons/assets/xbox360/dpad.png.import b/source/addons/controller_icons/assets/xbox360/dpad.png.import new file mode 100644 index 0000000..270fd21 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuds8v7pvi4tj" +path="res://.godot/imported/dpad.png-4b640d96766e8faba6142c2eff13caea.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/dpad.png" +dest_files=["res://.godot/imported/dpad.png-4b640d96766e8faba6142c2eff13caea.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/source/addons/controller_icons/assets/xbox360/dpad_down.png b/source/addons/controller_icons/assets/xbox360/dpad_down.png new file mode 100644 index 0000000..944d59b Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/xbox360/dpad_down.png.import b/source/addons/controller_icons/assets/xbox360/dpad_down.png.import new file mode 100644 index 0000000..71b07d5 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt4m6u4nau82r" +path="res://.godot/imported/dpad_down.png-fdbc136940849193face1912c9965e6f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-fdbc136940849193face1912c9965e6f.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/source/addons/controller_icons/assets/xbox360/dpad_left.png b/source/addons/controller_icons/assets/xbox360/dpad_left.png new file mode 100644 index 0000000..6091cf2 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/xbox360/dpad_left.png.import b/source/addons/controller_icons/assets/xbox360/dpad_left.png.import new file mode 100644 index 0000000..f266439 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7r70kxgen0mv" +path="res://.godot/imported/dpad_left.png-34112701ebe2a783358ffaf13cae755e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-34112701ebe2a783358ffaf13cae755e.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/source/addons/controller_icons/assets/xbox360/dpad_right.png b/source/addons/controller_icons/assets/xbox360/dpad_right.png new file mode 100644 index 0000000..d099719 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/xbox360/dpad_right.png.import b/source/addons/controller_icons/assets/xbox360/dpad_right.png.import new file mode 100644 index 0000000..cab6ae5 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7qkn2dva6jv" +path="res://.godot/imported/dpad_right.png-208422152fd0c75c3b1e040c016ba742.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-208422152fd0c75c3b1e040c016ba742.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/source/addons/controller_icons/assets/xbox360/dpad_up.png b/source/addons/controller_icons/assets/xbox360/dpad_up.png new file mode 100644 index 0000000..8939669 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/xbox360/dpad_up.png.import b/source/addons/controller_icons/assets/xbox360/dpad_up.png.import new file mode 100644 index 0000000..0c4a9bd --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bh66fibu352gl" +path="res://.godot/imported/dpad_up.png-f534a7e9efd4b904c87b93f717d8ec4f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-f534a7e9efd4b904c87b93f717d8ec4f.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/source/addons/controller_icons/assets/xbox360/l_stick.png b/source/addons/controller_icons/assets/xbox360/l_stick.png new file mode 100644 index 0000000..8139be2 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/l_stick.png differ diff --git a/source/addons/controller_icons/assets/xbox360/l_stick.png.import b/source/addons/controller_icons/assets/xbox360/l_stick.png.import new file mode 100644 index 0000000..4e34d36 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fxgoiilpipsd" +path="res://.godot/imported/l_stick.png-b5ed993555606d8da48a1c310a3cbd0d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-b5ed993555606d8da48a1c310a3cbd0d.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/source/addons/controller_icons/assets/xbox360/l_stick_click.png b/source/addons/controller_icons/assets/xbox360/l_stick_click.png new file mode 100644 index 0000000..21a4ee7 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/l_stick_click.png differ diff --git a/source/addons/controller_icons/assets/xbox360/l_stick_click.png.import b/source/addons/controller_icons/assets/xbox360/l_stick_click.png.import new file mode 100644 index 0000000..b3edd5e --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/l_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mh6if65g6eob" +path="res://.godot/imported/l_stick_click.png-2ae341247067b8165d18d20822dfa07d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/l_stick_click.png" +dest_files=["res://.godot/imported/l_stick_click.png-2ae341247067b8165d18d20822dfa07d.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/source/addons/controller_icons/assets/xbox360/lb.png b/source/addons/controller_icons/assets/xbox360/lb.png new file mode 100644 index 0000000..d83f418 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/lb.png differ diff --git a/source/addons/controller_icons/assets/xbox360/lb.png.import b/source/addons/controller_icons/assets/xbox360/lb.png.import new file mode 100644 index 0000000..1fe7bcf --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/lb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bamrmda3in3qq" +path="res://.godot/imported/lb.png-976dbb55daa9f796254f583420e70b4e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/lb.png" +dest_files=["res://.godot/imported/lb.png-976dbb55daa9f796254f583420e70b4e.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/source/addons/controller_icons/assets/xbox360/lt.png b/source/addons/controller_icons/assets/xbox360/lt.png new file mode 100644 index 0000000..84fc6f8 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/lt.png differ diff --git a/source/addons/controller_icons/assets/xbox360/lt.png.import b/source/addons/controller_icons/assets/xbox360/lt.png.import new file mode 100644 index 0000000..a57e4ab --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/lt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhhjoq01cc2oh" +path="res://.godot/imported/lt.png-5d538474526e2412135a268d6c53dd5b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/lt.png" +dest_files=["res://.godot/imported/lt.png-5d538474526e2412135a268d6c53dd5b.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/source/addons/controller_icons/assets/xbox360/r_stick.png b/source/addons/controller_icons/assets/xbox360/r_stick.png new file mode 100644 index 0000000..dde08c0 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/r_stick.png differ diff --git a/source/addons/controller_icons/assets/xbox360/r_stick.png.import b/source/addons/controller_icons/assets/xbox360/r_stick.png.import new file mode 100644 index 0000000..d53ae8f --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d6jwqg6mq8dk" +path="res://.godot/imported/r_stick.png-2a7b966ef19b6a873dd423ca70dafc2c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-2a7b966ef19b6a873dd423ca70dafc2c.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/source/addons/controller_icons/assets/xbox360/r_stick_click.png b/source/addons/controller_icons/assets/xbox360/r_stick_click.png new file mode 100644 index 0000000..bb321d2 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/r_stick_click.png differ diff --git a/source/addons/controller_icons/assets/xbox360/r_stick_click.png.import b/source/addons/controller_icons/assets/xbox360/r_stick_click.png.import new file mode 100644 index 0000000..a557eaa --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/r_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://db7d0vqnfyuin" +path="res://.godot/imported/r_stick_click.png-89d0df3f4f9a91691c03fb1afca8b3ae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/r_stick_click.png" +dest_files=["res://.godot/imported/r_stick_click.png-89d0df3f4f9a91691c03fb1afca8b3ae.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/source/addons/controller_icons/assets/xbox360/rb.png b/source/addons/controller_icons/assets/xbox360/rb.png new file mode 100644 index 0000000..7735e4c Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/rb.png differ diff --git a/source/addons/controller_icons/assets/xbox360/rb.png.import b/source/addons/controller_icons/assets/xbox360/rb.png.import new file mode 100644 index 0000000..a7949ff --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/rb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw2jo5xbteqdu" +path="res://.godot/imported/rb.png-1161a3ee4faa1b6a0f9a32ae97dda6fd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/rb.png" +dest_files=["res://.godot/imported/rb.png-1161a3ee4faa1b6a0f9a32ae97dda6fd.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/source/addons/controller_icons/assets/xbox360/rt.png b/source/addons/controller_icons/assets/xbox360/rt.png new file mode 100644 index 0000000..1ea785c Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/rt.png differ diff --git a/source/addons/controller_icons/assets/xbox360/rt.png.import b/source/addons/controller_icons/assets/xbox360/rt.png.import new file mode 100644 index 0000000..ed854b0 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/rt.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2qha4gd4x604" +path.s3tc="res://.godot/imported/rt.png-75a73c0618bfa934f1c3030385092590.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/rt.png" +dest_files=["res://.godot/imported/rt.png-75a73c0618bfa934f1c3030385092590.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +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=0 diff --git a/source/addons/controller_icons/assets/xbox360/start.png b/source/addons/controller_icons/assets/xbox360/start.png new file mode 100644 index 0000000..4c62434 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/start.png differ diff --git a/source/addons/controller_icons/assets/xbox360/start.png.import b/source/addons/controller_icons/assets/xbox360/start.png.import new file mode 100644 index 0000000..23cfb1c --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/start.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://coxp4sapp4g8n" +path="res://.godot/imported/start.png-4da2d3336d3215602b774e12f03ad8d1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/start.png" +dest_files=["res://.godot/imported/start.png-4da2d3336d3215602b774e12f03ad8d1.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/source/addons/controller_icons/assets/xbox360/start_alt.png b/source/addons/controller_icons/assets/xbox360/start_alt.png new file mode 100644 index 0000000..7a10fcd Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/start_alt.png differ diff --git a/source/addons/controller_icons/assets/xbox360/start_alt.png.import b/source/addons/controller_icons/assets/xbox360/start_alt.png.import new file mode 100644 index 0000000..5febd05 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/start_alt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dq0eirc22li66" +path="res://.godot/imported/start_alt.png-a28c5fa4e3559e75e7db8f34ccfbd03a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/start_alt.png" +dest_files=["res://.godot/imported/start_alt.png-a28c5fa4e3559e75e7db8f34ccfbd03a.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/source/addons/controller_icons/assets/xbox360/x.png b/source/addons/controller_icons/assets/xbox360/x.png new file mode 100644 index 0000000..4b8cec1 Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/x.png differ diff --git a/source/addons/controller_icons/assets/xbox360/x.png.import b/source/addons/controller_icons/assets/xbox360/x.png.import new file mode 100644 index 0000000..937a985 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jcc3t88rfxh0" +path="res://.godot/imported/x.png-9b708a5be93b17b1baa7773f17e3502f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/x.png" +dest_files=["res://.godot/imported/x.png-9b708a5be93b17b1baa7773f17e3502f.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/source/addons/controller_icons/assets/xbox360/y.png b/source/addons/controller_icons/assets/xbox360/y.png new file mode 100644 index 0000000..e32b04a Binary files /dev/null and b/source/addons/controller_icons/assets/xbox360/y.png differ diff --git a/source/addons/controller_icons/assets/xbox360/y.png.import b/source/addons/controller_icons/assets/xbox360/y.png.import new file mode 100644 index 0000000..54bf8c1 --- /dev/null +++ b/source/addons/controller_icons/assets/xbox360/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bva4iswwvta5d" +path="res://.godot/imported/y.png-570a5281cfcc83b747da0fa451e494b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xbox360/y.png" +dest_files=["res://.godot/imported/y.png-570a5281cfcc83b747da0fa451e494b7.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/source/addons/controller_icons/assets/xboxone/a.png b/source/addons/controller_icons/assets/xboxone/a.png new file mode 100644 index 0000000..28c3b60 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/a.png differ diff --git a/source/addons/controller_icons/assets/xboxone/a.png.import b/source/addons/controller_icons/assets/xboxone/a.png.import new file mode 100644 index 0000000..7fafeb3 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwwgf5g11galy" +path="res://.godot/imported/a.png-df37d09ebc89d866cdbfffbbf8f73ee9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/a.png" +dest_files=["res://.godot/imported/a.png-df37d09ebc89d866cdbfffbbf8f73ee9.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/source/addons/controller_icons/assets/xboxone/b.png b/source/addons/controller_icons/assets/xboxone/b.png new file mode 100644 index 0000000..2a4d9b6 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/b.png differ diff --git a/source/addons/controller_icons/assets/xboxone/b.png.import b/source/addons/controller_icons/assets/xboxone/b.png.import new file mode 100644 index 0000000..2e3b44b --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://21k6orfpjxk5" +path="res://.godot/imported/b.png-ba65adfa94f146e55646f29fd6dae977.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/b.png" +dest_files=["res://.godot/imported/b.png-ba65adfa94f146e55646f29fd6dae977.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/source/addons/controller_icons/assets/xboxone/diagram.png b/source/addons/controller_icons/assets/xboxone/diagram.png new file mode 100644 index 0000000..9b79c5d Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/diagram.png differ diff --git a/source/addons/controller_icons/assets/xboxone/diagram.png.import b/source/addons/controller_icons/assets/xboxone/diagram.png.import new file mode 100644 index 0000000..c2c5e6f --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/diagram.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ds7amy38mqxe7" +path="res://.godot/imported/diagram.png-0f2706ce47fa6085377e14e95b171dea.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/diagram.png" +dest_files=["res://.godot/imported/diagram.png-0f2706ce47fa6085377e14e95b171dea.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/source/addons/controller_icons/assets/xboxone/diagram_simple.png b/source/addons/controller_icons/assets/xboxone/diagram_simple.png new file mode 100644 index 0000000..7e3a1d9 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/diagram_simple.png differ diff --git a/source/addons/controller_icons/assets/xboxone/diagram_simple.png.import b/source/addons/controller_icons/assets/xboxone/diagram_simple.png.import new file mode 100644 index 0000000..e120005 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/diagram_simple.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtttbuwyio14v" +path="res://.godot/imported/diagram_simple.png-6f075f06332bedee75e8a5dc798ddf0a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/diagram_simple.png" +dest_files=["res://.godot/imported/diagram_simple.png-6f075f06332bedee75e8a5dc798ddf0a.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/source/addons/controller_icons/assets/xboxone/dpad.png b/source/addons/controller_icons/assets/xboxone/dpad.png new file mode 100644 index 0000000..9c04c85 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/dpad.png differ diff --git a/source/addons/controller_icons/assets/xboxone/dpad.png.import b/source/addons/controller_icons/assets/xboxone/dpad.png.import new file mode 100644 index 0000000..19549cb --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3iafdmclhdit" +path="res://.godot/imported/dpad.png-19ecbd13049552e45dedb0cb27cf0f1b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/dpad.png" +dest_files=["res://.godot/imported/dpad.png-19ecbd13049552e45dedb0cb27cf0f1b.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/source/addons/controller_icons/assets/xboxone/dpad_down.png b/source/addons/controller_icons/assets/xboxone/dpad_down.png new file mode 100644 index 0000000..8c1134c Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/xboxone/dpad_down.png.import b/source/addons/controller_icons/assets/xboxone/dpad_down.png.import new file mode 100644 index 0000000..1e9f10f --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxseb4ccmfktr" +path="res://.godot/imported/dpad_down.png-0c9ca40e693b569f2fccd07829ce2ce5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-0c9ca40e693b569f2fccd07829ce2ce5.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/source/addons/controller_icons/assets/xboxone/dpad_left.png b/source/addons/controller_icons/assets/xboxone/dpad_left.png new file mode 100644 index 0000000..45ddb16 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/xboxone/dpad_left.png.import b/source/addons/controller_icons/assets/xboxone/dpad_left.png.import new file mode 100644 index 0000000..f15bb3c --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dv1dkaue3ow3r" +path="res://.godot/imported/dpad_left.png-92254da17371396d0d47d28719f0e609.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-92254da17371396d0d47d28719f0e609.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/source/addons/controller_icons/assets/xboxone/dpad_right.png b/source/addons/controller_icons/assets/xboxone/dpad_right.png new file mode 100644 index 0000000..a1fbc2c Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/xboxone/dpad_right.png.import b/source/addons/controller_icons/assets/xboxone/dpad_right.png.import new file mode 100644 index 0000000..ba23af8 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cepfb3dgv2lhf" +path="res://.godot/imported/dpad_right.png-df952148b3d372909267f78c1b09e03b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-df952148b3d372909267f78c1b09e03b.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/source/addons/controller_icons/assets/xboxone/dpad_up.png b/source/addons/controller_icons/assets/xboxone/dpad_up.png new file mode 100644 index 0000000..e8eab7d Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/xboxone/dpad_up.png.import b/source/addons/controller_icons/assets/xboxone/dpad_up.png.import new file mode 100644 index 0000000..25ec7d9 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxx27mcrkop34" +path="res://.godot/imported/dpad_up.png-d8fa0f50e9f7bf8b9172cecc962850ac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-d8fa0f50e9f7bf8b9172cecc962850ac.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/source/addons/controller_icons/assets/xboxone/l_stick.png b/source/addons/controller_icons/assets/xboxone/l_stick.png new file mode 100644 index 0000000..9c5ca5c Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/l_stick.png differ diff --git a/source/addons/controller_icons/assets/xboxone/l_stick.png.import b/source/addons/controller_icons/assets/xboxone/l_stick.png.import new file mode 100644 index 0000000..684f525 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfxo2jdawkbxl" +path="res://.godot/imported/l_stick.png-0d3026b5b0f374950eb21b41723d35cc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-0d3026b5b0f374950eb21b41723d35cc.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/source/addons/controller_icons/assets/xboxone/l_stick_click.png b/source/addons/controller_icons/assets/xboxone/l_stick_click.png new file mode 100644 index 0000000..ad0428f Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/l_stick_click.png differ diff --git a/source/addons/controller_icons/assets/xboxone/l_stick_click.png.import b/source/addons/controller_icons/assets/xboxone/l_stick_click.png.import new file mode 100644 index 0000000..2dac9db --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/l_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4wnmpco87lk2" +path="res://.godot/imported/l_stick_click.png-f6ed1c56bfd385576764a1e11f9f28b4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/l_stick_click.png" +dest_files=["res://.godot/imported/l_stick_click.png-f6ed1c56bfd385576764a1e11f9f28b4.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/source/addons/controller_icons/assets/xboxone/lb.png b/source/addons/controller_icons/assets/xboxone/lb.png new file mode 100644 index 0000000..f6c414b Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/lb.png differ diff --git a/source/addons/controller_icons/assets/xboxone/lb.png.import b/source/addons/controller_icons/assets/xboxone/lb.png.import new file mode 100644 index 0000000..d239fd0 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/lb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dp2y22fkfbsyu" +path="res://.godot/imported/lb.png-bd9829412dab8895ecddec9847e04e30.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/lb.png" +dest_files=["res://.godot/imported/lb.png-bd9829412dab8895ecddec9847e04e30.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/source/addons/controller_icons/assets/xboxone/lt.png b/source/addons/controller_icons/assets/xboxone/lt.png new file mode 100644 index 0000000..e9681c9 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/lt.png differ diff --git a/source/addons/controller_icons/assets/xboxone/lt.png.import b/source/addons/controller_icons/assets/xboxone/lt.png.import new file mode 100644 index 0000000..88f0223 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/lt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pxfeij36kho8" +path="res://.godot/imported/lt.png-e5cbcc6dfd86517f8b6df37ab212f728.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/lt.png" +dest_files=["res://.godot/imported/lt.png-e5cbcc6dfd86517f8b6df37ab212f728.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/source/addons/controller_icons/assets/xboxone/menu.png b/source/addons/controller_icons/assets/xboxone/menu.png new file mode 100644 index 0000000..2cbfb08 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/menu.png differ diff --git a/source/addons/controller_icons/assets/xboxone/menu.png.import b/source/addons/controller_icons/assets/xboxone/menu.png.import new file mode 100644 index 0000000..f461052 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/menu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddoiw1qbo1nqo" +path="res://.godot/imported/menu.png-90302e9e2a81667c60beb62716dd216f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/menu.png" +dest_files=["res://.godot/imported/menu.png-90302e9e2a81667c60beb62716dd216f.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/source/addons/controller_icons/assets/xboxone/r_stick.png b/source/addons/controller_icons/assets/xboxone/r_stick.png new file mode 100644 index 0000000..3d83a22 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/r_stick.png differ diff --git a/source/addons/controller_icons/assets/xboxone/r_stick.png.import b/source/addons/controller_icons/assets/xboxone/r_stick.png.import new file mode 100644 index 0000000..895da77 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gxvdjyj5ur2w" +path="res://.godot/imported/r_stick.png-3aeee5aa9939c501687f510e0be1f354.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-3aeee5aa9939c501687f510e0be1f354.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/source/addons/controller_icons/assets/xboxone/r_stick_click.png b/source/addons/controller_icons/assets/xboxone/r_stick_click.png new file mode 100644 index 0000000..de08508 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/r_stick_click.png differ diff --git a/source/addons/controller_icons/assets/xboxone/r_stick_click.png.import b/source/addons/controller_icons/assets/xboxone/r_stick_click.png.import new file mode 100644 index 0000000..4cbec07 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/r_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dx7no3wmbkt3s" +path="res://.godot/imported/r_stick_click.png-0bcdf518623b525d9f31b8a5a49e91e4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/r_stick_click.png" +dest_files=["res://.godot/imported/r_stick_click.png-0bcdf518623b525d9f31b8a5a49e91e4.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/source/addons/controller_icons/assets/xboxone/rb.png b/source/addons/controller_icons/assets/xboxone/rb.png new file mode 100644 index 0000000..5dcfc6d Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/rb.png differ diff --git a/source/addons/controller_icons/assets/xboxone/rb.png.import b/source/addons/controller_icons/assets/xboxone/rb.png.import new file mode 100644 index 0000000..a55fb0e --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/rb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbor273q2fdp3" +path="res://.godot/imported/rb.png-c02637559fb689b9cd61df07ff2fefdd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/rb.png" +dest_files=["res://.godot/imported/rb.png-c02637559fb689b9cd61df07ff2fefdd.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/source/addons/controller_icons/assets/xboxone/rt.png b/source/addons/controller_icons/assets/xboxone/rt.png new file mode 100644 index 0000000..7bf27f4 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/rt.png differ diff --git a/source/addons/controller_icons/assets/xboxone/rt.png.import b/source/addons/controller_icons/assets/xboxone/rt.png.import new file mode 100644 index 0000000..5adee99 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/rt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nqv3xt52o1e" +path="res://.godot/imported/rt.png-6a132dc7aae10f49a3d0c4c557cad22e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/rt.png" +dest_files=["res://.godot/imported/rt.png-6a132dc7aae10f49a3d0c4c557cad22e.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/source/addons/controller_icons/assets/xboxone/view.png b/source/addons/controller_icons/assets/xboxone/view.png new file mode 100644 index 0000000..3756d29 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/view.png differ diff --git a/source/addons/controller_icons/assets/xboxone/view.png.import b/source/addons/controller_icons/assets/xboxone/view.png.import new file mode 100644 index 0000000..a6d3dd3 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/view.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tgpcpple5h2q" +path="res://.godot/imported/view.png-ab4efd6aa8e0bf2549b9e03f65032d18.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/view.png" +dest_files=["res://.godot/imported/view.png-ab4efd6aa8e0bf2549b9e03f65032d18.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/source/addons/controller_icons/assets/xboxone/x.png b/source/addons/controller_icons/assets/xboxone/x.png new file mode 100644 index 0000000..a0f0ac1 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/x.png differ diff --git a/source/addons/controller_icons/assets/xboxone/x.png.import b/source/addons/controller_icons/assets/xboxone/x.png.import new file mode 100644 index 0000000..b95a49d --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cna0glvxuuco" +path="res://.godot/imported/x.png-3a51ef6e3dd538a024aafb793c6f0ecc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/x.png" +dest_files=["res://.godot/imported/x.png-3a51ef6e3dd538a024aafb793c6f0ecc.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/source/addons/controller_icons/assets/xboxone/y.png b/source/addons/controller_icons/assets/xboxone/y.png new file mode 100644 index 0000000..4e31627 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxone/y.png differ diff --git a/source/addons/controller_icons/assets/xboxone/y.png.import b/source/addons/controller_icons/assets/xboxone/y.png.import new file mode 100644 index 0000000..4249142 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxone/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3lkr5o5sqj06" +path="res://.godot/imported/y.png-d67d0b4f521ce9df38869ef9f4c11bdf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxone/y.png" +dest_files=["res://.godot/imported/y.png-d67d0b4f521ce9df38869ef9f4c11bdf.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/source/addons/controller_icons/assets/xboxseries/a.png b/source/addons/controller_icons/assets/xboxseries/a.png new file mode 100644 index 0000000..e22bb29 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/a.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/a.png.import b/source/addons/controller_icons/assets/xboxseries/a.png.import new file mode 100644 index 0000000..9d25930 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn8ot71as8p80" +path="res://.godot/imported/a.png-bc565aef96969cf9c64e8d7ede25217e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/a.png" +dest_files=["res://.godot/imported/a.png-bc565aef96969cf9c64e8d7ede25217e.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/source/addons/controller_icons/assets/xboxseries/b.png b/source/addons/controller_icons/assets/xboxseries/b.png new file mode 100644 index 0000000..9312c26 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/b.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/b.png.import b/source/addons/controller_icons/assets/xboxseries/b.png.import new file mode 100644 index 0000000..4d321e2 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dibsukmxabd6a" +path="res://.godot/imported/b.png-0a4b27ee9783e34ddc4cc390b98123f4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/b.png" +dest_files=["res://.godot/imported/b.png-0a4b27ee9783e34ddc4cc390b98123f4.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/source/addons/controller_icons/assets/xboxseries/diagram.png b/source/addons/controller_icons/assets/xboxseries/diagram.png new file mode 100644 index 0000000..ff29b45 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/diagram.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/diagram.png.import b/source/addons/controller_icons/assets/xboxseries/diagram.png.import new file mode 100644 index 0000000..c60f478 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/diagram.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://botd0wxjewxqw" +path="res://.godot/imported/diagram.png-cda8327502f46405c0cc1aef02bdfafa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/diagram.png" +dest_files=["res://.godot/imported/diagram.png-cda8327502f46405c0cc1aef02bdfafa.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/source/addons/controller_icons/assets/xboxseries/diagram_simple.png b/source/addons/controller_icons/assets/xboxseries/diagram_simple.png new file mode 100644 index 0000000..bf23d73 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/diagram_simple.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/diagram_simple.png.import b/source/addons/controller_icons/assets/xboxseries/diagram_simple.png.import new file mode 100644 index 0000000..27798e9 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/diagram_simple.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://g85advbc1vrw" +path="res://.godot/imported/diagram_simple.png-5942ec7e4d666fdc7c53542bb4328581.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/diagram_simple.png" +dest_files=["res://.godot/imported/diagram_simple.png-5942ec7e4d666fdc7c53542bb4328581.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/source/addons/controller_icons/assets/xboxseries/dpad.png b/source/addons/controller_icons/assets/xboxseries/dpad.png new file mode 100644 index 0000000..d66bd81 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/dpad.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/dpad.png.import b/source/addons/controller_icons/assets/xboxseries/dpad.png.import new file mode 100644 index 0000000..fa3599d --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/dpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6fgfguvcu861" +path="res://.godot/imported/dpad.png-fe09e7551d7ac8f419ce4e7ea4555393.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/dpad.png" +dest_files=["res://.godot/imported/dpad.png-fe09e7551d7ac8f419ce4e7ea4555393.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/source/addons/controller_icons/assets/xboxseries/dpad_down.png b/source/addons/controller_icons/assets/xboxseries/dpad_down.png new file mode 100644 index 0000000..93478ee Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/dpad_down.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/dpad_down.png.import b/source/addons/controller_icons/assets/xboxseries/dpad_down.png.import new file mode 100644 index 0000000..cef1b96 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/dpad_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bd2rj8doekapn" +path="res://.godot/imported/dpad_down.png-73c90acd2c18f3d773119570fce2af56.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/dpad_down.png" +dest_files=["res://.godot/imported/dpad_down.png-73c90acd2c18f3d773119570fce2af56.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/source/addons/controller_icons/assets/xboxseries/dpad_left.png b/source/addons/controller_icons/assets/xboxseries/dpad_left.png new file mode 100644 index 0000000..e1e3dfd Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/dpad_left.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/dpad_left.png.import b/source/addons/controller_icons/assets/xboxseries/dpad_left.png.import new file mode 100644 index 0000000..2dc4195 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/dpad_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://diw08d6ryyymo" +path="res://.godot/imported/dpad_left.png-af11db941f9b47bf339826c87d74dcdf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/dpad_left.png" +dest_files=["res://.godot/imported/dpad_left.png-af11db941f9b47bf339826c87d74dcdf.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/source/addons/controller_icons/assets/xboxseries/dpad_right.png b/source/addons/controller_icons/assets/xboxseries/dpad_right.png new file mode 100644 index 0000000..2cabaef Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/dpad_right.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/dpad_right.png.import b/source/addons/controller_icons/assets/xboxseries/dpad_right.png.import new file mode 100644 index 0000000..84133a3 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/dpad_right.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6jrs4rfwt2ex" +path="res://.godot/imported/dpad_right.png-52c3a89482849bc7aaf7e05cf8266718.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/dpad_right.png" +dest_files=["res://.godot/imported/dpad_right.png-52c3a89482849bc7aaf7e05cf8266718.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/source/addons/controller_icons/assets/xboxseries/dpad_up.png b/source/addons/controller_icons/assets/xboxseries/dpad_up.png new file mode 100644 index 0000000..a466bad Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/dpad_up.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/dpad_up.png.import b/source/addons/controller_icons/assets/xboxseries/dpad_up.png.import new file mode 100644 index 0000000..f259a29 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/dpad_up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjh6ihpgo3c53" +path="res://.godot/imported/dpad_up.png-d7e305c753c393073bb2bd7d5238de99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/dpad_up.png" +dest_files=["res://.godot/imported/dpad_up.png-d7e305c753c393073bb2bd7d5238de99.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/source/addons/controller_icons/assets/xboxseries/l_stick.png b/source/addons/controller_icons/assets/xboxseries/l_stick.png new file mode 100644 index 0000000..de49dc6 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/l_stick.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/l_stick.png.import b/source/addons/controller_icons/assets/xboxseries/l_stick.png.import new file mode 100644 index 0000000..5ca81fe --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/l_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhat3ss1rwdjb" +path="res://.godot/imported/l_stick.png-a6fed6ac47ed59f94e2af2105409fe51.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/l_stick.png" +dest_files=["res://.godot/imported/l_stick.png-a6fed6ac47ed59f94e2af2105409fe51.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/source/addons/controller_icons/assets/xboxseries/l_stick_click.png b/source/addons/controller_icons/assets/xboxseries/l_stick_click.png new file mode 100644 index 0000000..ad0428f Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/l_stick_click.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/l_stick_click.png.import b/source/addons/controller_icons/assets/xboxseries/l_stick_click.png.import new file mode 100644 index 0000000..277083e --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/l_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bok8g0m4puta8" +path="res://.godot/imported/l_stick_click.png-30ca75232db7697e2b3808c77ba8b6e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/l_stick_click.png" +dest_files=["res://.godot/imported/l_stick_click.png-30ca75232db7697e2b3808c77ba8b6e7.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/source/addons/controller_icons/assets/xboxseries/lb.png b/source/addons/controller_icons/assets/xboxseries/lb.png new file mode 100644 index 0000000..f6c414b Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/lb.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/lb.png.import b/source/addons/controller_icons/assets/xboxseries/lb.png.import new file mode 100644 index 0000000..e129f35 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/lb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://daelou54xassi" +path="res://.godot/imported/lb.png-b6bcbd6efbe8fa69292c8649a6623d1f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/lb.png" +dest_files=["res://.godot/imported/lb.png-b6bcbd6efbe8fa69292c8649a6623d1f.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/source/addons/controller_icons/assets/xboxseries/lt.png b/source/addons/controller_icons/assets/xboxseries/lt.png new file mode 100644 index 0000000..526816c Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/lt.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/lt.png.import b/source/addons/controller_icons/assets/xboxseries/lt.png.import new file mode 100644 index 0000000..f168747 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/lt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnbmkaqynud4u" +path="res://.godot/imported/lt.png-3050b62cca663463c11e3bdc7f3a4aa7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/lt.png" +dest_files=["res://.godot/imported/lt.png-3050b62cca663463c11e3bdc7f3a4aa7.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/source/addons/controller_icons/assets/xboxseries/menu.png b/source/addons/controller_icons/assets/xboxseries/menu.png new file mode 100644 index 0000000..190780e Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/menu.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/menu.png.import b/source/addons/controller_icons/assets/xboxseries/menu.png.import new file mode 100644 index 0000000..ea8e143 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/menu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wa2ghqrikdkw" +path="res://.godot/imported/menu.png-79f99c8816ac6c83883ba4cad7e5b68c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/menu.png" +dest_files=["res://.godot/imported/menu.png-79f99c8816ac6c83883ba4cad7e5b68c.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/source/addons/controller_icons/assets/xboxseries/r_stick.png b/source/addons/controller_icons/assets/xboxseries/r_stick.png new file mode 100644 index 0000000..866be1c Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/r_stick.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/r_stick.png.import b/source/addons/controller_icons/assets/xboxseries/r_stick.png.import new file mode 100644 index 0000000..60df805 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/r_stick.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gr6lwufu681b" +path="res://.godot/imported/r_stick.png-e61fa6910f07053c126f86598fcaaa20.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/r_stick.png" +dest_files=["res://.godot/imported/r_stick.png-e61fa6910f07053c126f86598fcaaa20.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/source/addons/controller_icons/assets/xboxseries/r_stick_click.png b/source/addons/controller_icons/assets/xboxseries/r_stick_click.png new file mode 100644 index 0000000..de08508 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/r_stick_click.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/r_stick_click.png.import b/source/addons/controller_icons/assets/xboxseries/r_stick_click.png.import new file mode 100644 index 0000000..4476fac --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/r_stick_click.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2nwocgbye434" +path="res://.godot/imported/r_stick_click.png-702c338f12817cfb325db5536410be0e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/r_stick_click.png" +dest_files=["res://.godot/imported/r_stick_click.png-702c338f12817cfb325db5536410be0e.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/source/addons/controller_icons/assets/xboxseries/rb.png b/source/addons/controller_icons/assets/xboxseries/rb.png new file mode 100644 index 0000000..5dcfc6d Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/rb.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/rb.png.import b/source/addons/controller_icons/assets/xboxseries/rb.png.import new file mode 100644 index 0000000..0cdd94e --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/rb.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cr2abv6e5m5k1" +path="res://.godot/imported/rb.png-a4855ae927f833312b505a249eb91a96.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/rb.png" +dest_files=["res://.godot/imported/rb.png-a4855ae927f833312b505a249eb91a96.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/source/addons/controller_icons/assets/xboxseries/rt.png b/source/addons/controller_icons/assets/xboxseries/rt.png new file mode 100644 index 0000000..8004286 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/rt.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/rt.png.import b/source/addons/controller_icons/assets/xboxseries/rt.png.import new file mode 100644 index 0000000..53fda48 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/rt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpogtfphr1txi" +path="res://.godot/imported/rt.png-25031a1e1e4e0504ac44029211345b06.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/rt.png" +dest_files=["res://.godot/imported/rt.png-25031a1e1e4e0504ac44029211345b06.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/source/addons/controller_icons/assets/xboxseries/share.png b/source/addons/controller_icons/assets/xboxseries/share.png new file mode 100644 index 0000000..66d9f95 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/share.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/share.png.import b/source/addons/controller_icons/assets/xboxseries/share.png.import new file mode 100644 index 0000000..7f2175a --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/share.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqnxpbbjc2ovh" +path="res://.godot/imported/share.png-e1f729c99714825f909dba3cb0e0e669.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/share.png" +dest_files=["res://.godot/imported/share.png-e1f729c99714825f909dba3cb0e0e669.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/source/addons/controller_icons/assets/xboxseries/view.png b/source/addons/controller_icons/assets/xboxseries/view.png new file mode 100644 index 0000000..066086a Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/view.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/view.png.import b/source/addons/controller_icons/assets/xboxseries/view.png.import new file mode 100644 index 0000000..c289612 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/view.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bklxch7dnwpf4" +path="res://.godot/imported/view.png-fcdde74b941c2199eb232715d50c63e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/view.png" +dest_files=["res://.godot/imported/view.png-fcdde74b941c2199eb232715d50c63e7.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/source/addons/controller_icons/assets/xboxseries/x.png b/source/addons/controller_icons/assets/xboxseries/x.png new file mode 100644 index 0000000..e944b3e Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/x.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/x.png.import b/source/addons/controller_icons/assets/xboxseries/x.png.import new file mode 100644 index 0000000..822c681 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0pojbar77pcl" +path="res://.godot/imported/x.png-2a06a0fa9f7b5bda854780cb000422eb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/x.png" +dest_files=["res://.godot/imported/x.png-2a06a0fa9f7b5bda854780cb000422eb.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/source/addons/controller_icons/assets/xboxseries/y.png b/source/addons/controller_icons/assets/xboxseries/y.png new file mode 100644 index 0000000..cf4a997 Binary files /dev/null and b/source/addons/controller_icons/assets/xboxseries/y.png differ diff --git a/source/addons/controller_icons/assets/xboxseries/y.png.import b/source/addons/controller_icons/assets/xboxseries/y.png.import new file mode 100644 index 0000000..09a0454 --- /dev/null +++ b/source/addons/controller_icons/assets/xboxseries/y.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c06i3deebkd3k" +path="res://.godot/imported/y.png-533355212ca9b20e674b9dbd240aa9ad.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/controller_icons/assets/xboxseries/y.png" +dest_files=["res://.godot/imported/y.png-533355212ca9b20e674b9dbd240aa9ad.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/source/addons/controller_icons/demo/IconRemapper.gd b/source/addons/controller_icons/demo/IconRemapper.gd new file mode 100644 index 0000000..c3e00cb --- /dev/null +++ b/source/addons/controller_icons/demo/IconRemapper.gd @@ -0,0 +1,102 @@ +extends Control + +@onready var nodes := [ + %A, %B, %X, %Y, + %LB, %RB, %LT, %RT, + %L_Stick_Click, %R_Stick_Click, + %Select, %Start, %DPAD, + %DPAD_Up, %DPAD_Down, + %DPAD_Left, %DPAD_Right, + %Home, %Share, + %LStick, %RStick, +] + +var base_names := [] + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + for child: Node in nodes: + base_names.push_back(child.get_child(0).texture.path) + + +func _on_Auto_pressed() -> void: + for i in range(nodes.size()): + nodes[i].get_child(0).texture.path = base_names[i] + + +func _on_Luna_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_luna(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_PS3_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_ps3(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_PS4_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_ps4(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_PS5_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_ps5(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_Stadia_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_stadia(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_Steam_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_steam(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_Switch_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_switch(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_Joycon_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_joycon(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_Xbox360_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_xbox360(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_XboxOne_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_xboxone(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_XboxSeries_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_xboxseries(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_SteamDeck_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_steamdeck(base_names[i]) + nodes[i].get_child(0).texture.path = control_text + + +func _on_ouya_pressed() -> void: + for i in range(nodes.size()): + var control_text: String = ControllerIcons.Mapper._convert_joypad_to_ouya(base_names[i]) + nodes[i].get_child(0).texture.path = control_text diff --git a/source/addons/controller_icons/demo/IconRemapper.gd.uid b/source/addons/controller_icons/demo/IconRemapper.gd.uid new file mode 100644 index 0000000..436a931 --- /dev/null +++ b/source/addons/controller_icons/demo/IconRemapper.gd.uid @@ -0,0 +1 @@ +uid://dka86u1f7d6j3 diff --git a/source/addons/controller_icons/demo/IconRemapper.tscn b/source/addons/controller_icons/demo/IconRemapper.tscn new file mode 100644 index 0000000..91fa96e --- /dev/null +++ b/source/addons/controller_icons/demo/IconRemapper.tscn @@ -0,0 +1,587 @@ +[gd_scene load_steps=24 format=3 uid="uid://cmopiwmgjwjb8"] + +[ext_resource type="Script" uid="uid://dka86u1f7d6j3" path="res://addons/controller_icons/demo/IconRemapper.gd" id="2"] +[ext_resource type="Script" uid="uid://c2w177bb5r70x" path="res://addons/controller_icons/objects/ControllerIconTexture.gd" id="2_ww1q8"] + +[sub_resource type="Texture2D" id="Texture2D_oaqcv"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/a" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_julos"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/b" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_p7fj8"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/x" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_e65pp"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/y" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_drwxf"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/lb" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_lpg8q"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/rb" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_tqj64"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/lt" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_g8v8u"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/rt" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_uqh53"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/l_stick_click" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_jt7n0"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/r_stick_click" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_jmm2v"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/select" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_2w7la"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/start" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_rhnqu"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_vr4j2"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad_up" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_hp6k2"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad_down" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_4trym"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad_left" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_61h51"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad_right" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_adhf2"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/home" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_dl7nm"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/share" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_3ry3e"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/l_stick" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_t68xw"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/r_stick" +show_mode = 0 +force_type = 0 + +[node name="Control" type="MarginContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/margin_left = 50 +theme_override_constants/margin_top = 50 +theme_override_constants/margin_right = 50 +theme_override_constants/margin_bottom = 50 +script = ExtResource("2") + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 2 +size_flags_vertical = 4 + +[node name="Icons" type="HBoxContainer" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Icons"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="A" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/A"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_oaqcv") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/A"] +layout_mode = 2 +text = " A" + +[node name="B" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/B"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_julos") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/B"] +layout_mode = 2 +text = " B" + +[node name="X" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/X"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_p7fj8") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/X"] +layout_mode = 2 +text = " X" + +[node name="Y" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/Y"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_e65pp") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/Y"] +layout_mode = 2 +text = " Y" + +[node name="LB" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/LB"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_drwxf") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/LB"] +layout_mode = 2 +text = " Left Button" + +[node name="RB" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/RB"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_lpg8q") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/RB"] +layout_mode = 2 +text = " Right Button" + +[node name="LT" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/LT"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_tqj64") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/LT"] +layout_mode = 2 +text = " Left Trigger" + +[node name="RT" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/RT"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_g8v8u") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/RT"] +layout_mode = 2 +text = " Right Trigger" + +[node name="L_Stick_Click" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/L_Stick_Click"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_uqh53") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/L_Stick_Click"] +layout_mode = 2 +text = " Left Stick Click" + +[node name="R_Stick_Click" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/R_Stick_Click"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_jt7n0") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/R_Stick_Click"] +layout_mode = 2 +text = " Right Stick Click" + +[node name="Select" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/Select"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_jmm2v") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/Select"] +layout_mode = 2 +text = " Select" + +[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/Icons"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Start" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/Start"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_2w7la") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/Start"] +layout_mode = 2 +text = " Start" + +[node name="DPAD" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_rhnqu") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD"] +layout_mode = 2 +text = " DPAD" + +[node name="DPAD_Up" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Up"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_vr4j2") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Up"] +layout_mode = 2 +text = " DPAD Up" + +[node name="DPAD_Down" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Down"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_hp6k2") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Down"] +layout_mode = 2 +text = " DPAD Down" + +[node name="DPAD_Left" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Left"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_4trym") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Left"] +layout_mode = 2 +text = " DPAD Left" + +[node name="DPAD_Right" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Right"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_61h51") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Right"] +layout_mode = 2 +text = " DPAD Right" + +[node name="Home" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/Home"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_adhf2") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/Home"] +layout_mode = 2 +text = " Home" + +[node name="Share" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/Share"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_dl7nm") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/Share"] +layout_mode = 2 +text = " Share" + +[node name="LStick" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/LStick"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_3ry3e") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/LStick"] +layout_mode = 2 +text = " Left Stick" + +[node name="RStick" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/RStick"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_t68xw") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/RStick"] +layout_mode = 2 +text = " Right Stick" + +[node name="Buttons" type="VBoxContainer" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Auto" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "[ Set to automatic ]" + +[node name="Luna" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Amazon Luna" + +[node name="PS3" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "PlayStation 3" + +[node name="PS4" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "PlayStation 4" + +[node name="PS5" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "PlayStation 5" + +[node name="Stadia" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Google Stadia" + +[node name="Steam" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Steam Controller" + +[node name="SteamDeck" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Steam Deck" + +[node name="Switch" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Nintendo Switch Controller" + +[node name="Joycon" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Nintendo Switch JoyCon" + +[node name="OUYA" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "OUYA" + +[node name="Xbox360" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Xbox 360" + +[node name="XboxOne" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Xbox One" + +[node name="XboxSeries" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Xbox Series" + +[connection signal="pressed" from="HBoxContainer/Buttons/Auto" to="." method="_on_Auto_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Luna" to="." method="_on_Luna_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/PS3" to="." method="_on_PS3_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/PS4" to="." method="_on_PS4_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/PS5" to="." method="_on_PS5_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Stadia" to="." method="_on_Stadia_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Steam" to="." method="_on_Steam_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/SteamDeck" to="." method="_on_SteamDeck_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Switch" to="." method="_on_Switch_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Joycon" to="." method="_on_Joycon_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/OUYA" to="." method="_on_ouya_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Xbox360" to="." method="_on_Xbox360_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/XboxOne" to="." method="_on_XboxOne_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/XboxSeries" to="." method="_on_XboxSeries_pressed"] diff --git a/source/addons/controller_icons/demo/IconRemapper.tscn84384211.tmp b/source/addons/controller_icons/demo/IconRemapper.tscn84384211.tmp new file mode 100644 index 0000000..0f16f10 --- /dev/null +++ b/source/addons/controller_icons/demo/IconRemapper.tscn84384211.tmp @@ -0,0 +1,587 @@ +[gd_scene load_steps=24 format=3 uid="uid://cmopiwmgjwjb8"] + +[ext_resource type="Script" uid="uid://dka86u1f7d6j3" path="res://demo/IconRemapper.gd" id="2"] +[ext_resource type="Script" uid="uid://c2w177bb5r70x" path="res://addons/controller_icons/objects/ControllerIconTexture.gd" id="2_ww1q8"] + +[sub_resource type="Texture2D" id="Texture2D_oaqcv"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/a" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_julos"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/b" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_p7fj8"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/x" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_e65pp"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/y" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_drwxf"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/lb" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_lpg8q"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/rb" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_tqj64"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/lt" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_g8v8u"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/rt" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_uqh53"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/l_stick_click" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_jt7n0"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/r_stick_click" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_jmm2v"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/select" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_2w7la"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/start" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_rhnqu"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_vr4j2"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad_up" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_hp6k2"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad_down" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_4trym"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad_left" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_61h51"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/dpad_right" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_adhf2"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/home" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_dl7nm"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/share" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_3ry3e"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/l_stick" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_t68xw"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_ww1q8") +path = "joypad/r_stick" +show_mode = 0 +force_type = 0 + +[node name="Control" type="MarginContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/margin_left = 50 +theme_override_constants/margin_top = 50 +theme_override_constants/margin_right = 50 +theme_override_constants/margin_bottom = 50 +script = ExtResource("2") + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 2 +size_flags_vertical = 4 + +[node name="Icons" type="HBoxContainer" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/Icons"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="A" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/A"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_oaqcv") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/A"] +layout_mode = 2 +text = " A" + +[node name="B" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/B"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_julos") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/B"] +layout_mode = 2 +text = " B" + +[node name="X" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/X"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_p7fj8") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/X"] +layout_mode = 2 +text = " X" + +[node name="Y" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/Y"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_e65pp") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/Y"] +layout_mode = 2 +text = " Y" + +[node name="LB" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/LB"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_drwxf") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/LB"] +layout_mode = 2 +text = " Left Button" + +[node name="RB" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/RB"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_lpg8q") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/RB"] +layout_mode = 2 +text = " Right Button" + +[node name="LT" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/LT"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_tqj64") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/LT"] +layout_mode = 2 +text = " Left Trigger" + +[node name="RT" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/RT"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_g8v8u") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/RT"] +layout_mode = 2 +text = " Right Trigger" + +[node name="L_Stick_Click" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/L_Stick_Click"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_uqh53") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/L_Stick_Click"] +layout_mode = 2 +text = " Left Stick Click" + +[node name="R_Stick_Click" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/R_Stick_Click"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_jt7n0") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/R_Stick_Click"] +layout_mode = 2 +text = " Right Stick Click" + +[node name="Select" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer/Select"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_jmm2v") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer/Select"] +layout_mode = 2 +text = " Select" + +[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer/Icons"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Start" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/Start"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_2w7la") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/Start"] +layout_mode = 2 +text = " Start" + +[node name="DPAD" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_rhnqu") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD"] +layout_mode = 2 +text = " DPAD" + +[node name="DPAD_Up" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Up"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_vr4j2") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Up"] +layout_mode = 2 +text = " DPAD Up" + +[node name="DPAD_Down" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Down"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_hp6k2") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Down"] +layout_mode = 2 +text = " DPAD Down" + +[node name="DPAD_Left" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Left"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_4trym") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Left"] +layout_mode = 2 +text = " DPAD Left" + +[node name="DPAD_Right" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Right"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_61h51") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/DPAD_Right"] +layout_mode = 2 +text = " DPAD Right" + +[node name="Home" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/Home"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_adhf2") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/Home"] +layout_mode = 2 +text = " Home" + +[node name="Share" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/Share"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_dl7nm") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/Share"] +layout_mode = 2 +text = " Share" + +[node name="LStick" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/LStick"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_3ry3e") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/LStick"] +layout_mode = 2 +text = " Left Stick" + +[node name="RStick" type="HBoxContainer" parent="HBoxContainer/Icons/VBoxContainer2"] +unique_name_in_owner = true +layout_mode = 2 + +[node name="ControllerTextureRect" type="TextureRect" parent="HBoxContainer/Icons/VBoxContainer2/RStick"] +custom_minimum_size = Vector2(40, 40) +layout_mode = 2 +texture = SubResource("Texture2D_t68xw") +expand_mode = 1 + +[node name="Label" type="Label" parent="HBoxContainer/Icons/VBoxContainer2/RStick"] +layout_mode = 2 +text = " Right Stick" + +[node name="Buttons" type="VBoxContainer" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Auto" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "[ Set to automatic ]" + +[node name="Luna" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Amazon Luna" + +[node name="PS3" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "PlayStation 3" + +[node name="PS4" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "PlayStation 4" + +[node name="PS5" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "PlayStation 5" + +[node name="Stadia" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Google Stadia" + +[node name="Steam" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Steam Controller" + +[node name="SteamDeck" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Steam Deck" + +[node name="Switch" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Nintendo Switch Controller" + +[node name="Joycon" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Nintendo Switch JoyCon" + +[node name="OUYA" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "OUYA" + +[node name="Xbox360" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Xbox 360" + +[node name="XboxOne" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Xbox One" + +[node name="XboxSeries" type="Button" parent="HBoxContainer/Buttons"] +layout_mode = 2 +size_flags_vertical = 3 +text = "Xbox Series" + +[connection signal="pressed" from="HBoxContainer/Buttons/Auto" to="." method="_on_Auto_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Luna" to="." method="_on_Luna_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/PS3" to="." method="_on_PS3_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/PS4" to="." method="_on_PS4_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/PS5" to="." method="_on_PS5_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Stadia" to="." method="_on_Stadia_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Steam" to="." method="_on_Steam_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/SteamDeck" to="." method="_on_SteamDeck_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Switch" to="." method="_on_Switch_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Joycon" to="." method="_on_Joycon_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/OUYA" to="." method="_on_ouya_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/Xbox360" to="." method="_on_Xbox360_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/XboxOne" to="." method="_on_XboxOne_pressed"] +[connection signal="pressed" from="HBoxContainer/Buttons/XboxSeries" to="." method="_on_XboxSeries_pressed"] diff --git a/source/addons/controller_icons/demo/Showcase.tscn b/source/addons/controller_icons/demo/Showcase.tscn new file mode 100644 index 0000000..3d37fc7 --- /dev/null +++ b/source/addons/controller_icons/demo/Showcase.tscn @@ -0,0 +1,224 @@ +[gd_scene load_steps=10 format=3 uid="uid://8ypaj35qfhyr"] + +[ext_resource type="Script" path="res://addons/controller_icons/objects/ControllerIconTexture.gd" id="1_vfnng"] + +[sub_resource type="Texture2D" id="Texture2D_s5m8q"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("1_vfnng") +path = "ui_accept" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_m553g"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("1_vfnng") +path = "joypad/x" +show_mode = 0 +force_type = 0 + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_htjm2"] + +[sub_resource type="Sky" id="Sky_tf27q"] +sky_material = SubResource("ProceduralSkyMaterial_htjm2") + +[sub_resource type="Environment" id="Environment_klhn5"] +background_mode = 2 +sky = SubResource("Sky_tf27q") + +[sub_resource type="Texture2D" id="Texture2D_utrwd"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("1_vfnng") +path = "joypad/a" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_8wr4o"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("1_vfnng") +path = "joypad/x" +show_mode = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_82sge"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("1_vfnng") +path = "switch/controllers_separate" +show_mode = 0 +force_type = 0 + +[node name="Showcase" type="Node"] + +[node name="RichTextLabel" type="RichTextLabel" parent="."] +offset_left = 150.0 +offset_top = 25.0 +offset_right = 1002.0 +offset_bottom = 111.0 +bbcode_enabled = true +text = "Controller Icons provides automatic icons for all major controllers, keyboard, and mouse. + +It provides a [b]ControllerIconTexture[/b] resource that can be set on any node that accepts a [b]Texture2D[/b], such as:" + +[node name="Label" type="Label" parent="."] +offset_left = 117.0 +offset_top = 151.0 +offset_right = 292.0 +offset_bottom = 174.0 +text = "TextureRect / Sprite2D" +horizontal_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="."] +offset_left = 164.0 +offset_top = 187.0 +offset_right = 235.0 +offset_bottom = 258.0 +texture = SubResource("Texture2D_s5m8q") +expand_mode = 1 + +[node name="Label2" type="Label" parent="."] +offset_left = 357.0 +offset_top = 152.0 +offset_right = 451.0 +offset_bottom = 175.0 +text = "Button" +horizontal_alignment = 1 + +[node name="Button" type="Button" parent="."] +offset_left = 340.0 +offset_top = 191.0 +offset_right = 468.0 +offset_bottom = 239.0 +text = "Attack" +icon = SubResource("Texture2D_m553g") +expand_icon = true + +[node name="Label3" type="Label" parent="."] +offset_left = 571.0 +offset_top = 151.0 +offset_right = 665.0 +offset_bottom = 174.0 +text = "Sprite3D" +horizontal_alignment = 1 + +[node name="SubViewportContainer" type="SubViewportContainer" parent="."] +offset_left = 546.0 +offset_top = 187.0 +offset_right = 689.0 +offset_bottom = 332.0 +stretch = true + +[node name="SubViewport" type="SubViewport" parent="SubViewportContainer"] +handle_input_locally = false +size = Vector2i(143, 145) +render_target_update_mode = 4 + +[node name="Camera3D" type="Camera3D" parent="SubViewportContainer/SubViewport"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.125, 0.745) +environment = SubResource("Environment_klhn5") + +[node name="Sprite3D" type="Sprite3D" parent="SubViewportContainer/SubViewport"] +texture = SubResource("Texture2D_utrwd") + +[node name="Label3D" type="Label3D" parent="SubViewportContainer/SubViewport"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.573528, 0) +text = "Jump" + +[node name="Label4" type="Label" parent="."] +offset_left = 826.0 +offset_top = 152.0 +offset_right = 934.0 +offset_bottom = 175.0 +text = "RichTextLabel" +horizontal_alignment = 1 + +[node name="RichTextLabel2" type="RichTextLabel" parent="."] +offset_left = 775.0 +offset_top = 195.0 +offset_right = 993.0 +offset_bottom = 279.0 +bbcode_enabled = true +text = "Press [img=40]res://demo/icon_respect.tres[/img] to pay respects" + +[node name="RichTextLabel3" type="RichTextLabel" parent="."] +offset_left = 262.0 +offset_top = 389.0 +offset_right = 858.0 +offset_bottom = 421.0 +bbcode_enabled = true +text = "You'll need to provide a [b]path[/b] indicating which icon to display, which can be:" + +[node name="RichTextLabel4" type="RichTextLabel" parent="."] +offset_left = 47.0 +offset_top = 434.0 +offset_right = 373.0 +offset_bottom = 525.0 +bbcode_enabled = true +text = "[center]An input action, switching automatically between keyboard/mouse and controller[/center]" + +[node name="TextureRect2" type="TextureRect" parent="."] +offset_left = 187.0 +offset_top = 515.0 +offset_right = 258.0 +offset_bottom = 586.0 +texture = SubResource("Texture2D_s5m8q") +expand_mode = 1 + +[node name="RichTextLabel5" type="RichTextLabel" parent="."] +offset_left = 181.0 +offset_top = 596.0 +offset_right = 274.0 +offset_bottom = 624.0 +bbcode_enabled = true +text = "[i]\"ui_accept\"[/i]" + +[node name="RichTextLabel6" type="RichTextLabel" parent="."] +offset_left = 417.0 +offset_top = 432.0 +offset_right = 777.0 +offset_bottom = 523.0 +bbcode_enabled = true +text = "[center]A generic joypad path, which shows only controller icons and according to the connected controller type[/center]" + +[node name="TextureRect3" type="TextureRect" parent="."] +offset_left = 567.0 +offset_top = 513.0 +offset_right = 638.0 +offset_bottom = 584.0 +texture = SubResource("Texture2D_8wr4o") +expand_mode = 1 + +[node name="RichTextLabel7" type="RichTextLabel" parent="."] +offset_left = 561.0 +offset_top = 594.0 +offset_right = 654.0 +offset_bottom = 622.0 +bbcode_enabled = true +text = "[i]\"joypad/x\"[/i]" + +[node name="RichTextLabel8" type="RichTextLabel" parent="."] +offset_left = 789.0 +offset_top = 432.0 +offset_right = 1060.0 +offset_bottom = 523.0 +bbcode_enabled = true +text = "[center]A specific path, which will always display the chosen icon[/center]" + +[node name="TextureRect4" type="TextureRect" parent="."] +offset_left = 874.0 +offset_top = 513.0 +offset_right = 945.0 +offset_bottom = 584.0 +texture = SubResource("Texture2D_82sge") +expand_mode = 1 + +[node name="RichTextLabel9" type="RichTextLabel" parent="."] +offset_left = 798.0 +offset_top = 594.0 +offset_right = 1031.0 +offset_bottom = 622.0 +bbcode_enabled = true +text = "[i]\"switch/controllers_separate\"[/i]" diff --git a/source/addons/controller_icons/demo/icon_respect.tres b/source/addons/controller_icons/demo/icon_respect.tres new file mode 100644 index 0000000..ddc1358 --- /dev/null +++ b/source/addons/controller_icons/demo/icon_respect.tres @@ -0,0 +1,11 @@ +[gd_resource type="Texture2D" script_class="ControllerIconTexture" load_steps=2 format=3 uid="uid://5bh1m7kwdsah"] + +[ext_resource type="Script" path="res://addons/controller_icons/objects/ControllerIconTexture.gd" id="1_up1mj"] + +[resource] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("1_up1mj") +path = "key/f" +show_mode = 0 +force_type = 0 diff --git a/source/addons/controller_icons/objects/Button.gd b/source/addons/controller_icons/objects/Button.gd new file mode 100644 index 0000000..6cc6dab --- /dev/null +++ b/source/addons/controller_icons/objects/Button.gd @@ -0,0 +1,49 @@ +@tool +extends Button +class_name ControllerButton +## Controller icon for Button nodes. +## +## [b]Deprecated[/b]: Use the new [ControllerIconTexture] texture resource and set it +## directly in [member Button.icon]. +## +## @deprecated + +func _get_configuration_warnings(): + return ["This node is deprecated, and will be removed in a future version.\n\nRemove this script and use the new ControllerIconTexture resource\nby setting it directly in Button's icon property."] + +@export var path : String = "": + set(_path): + path = _path + if is_inside_tree(): + if force_type > 0: + icon = ControllerIcons.parse_path(path, force_type - 1) + else: + icon = ControllerIcons.parse_path(path) + +@export_enum("Both", "Keyboard/Mouse", "Controller") var show_only : int = 0: + set(_show_only): + show_only = _show_only + _on_input_type_changed(ControllerIcons._last_input_type, ControllerIcons._last_controller) + +@export_enum("None", "Keyboard/Mouse", "Controller") var force_type : int = 0: + set(_force_type): + force_type = _force_type + _on_input_type_changed(ControllerIcons._last_input_type, ControllerIcons._last_controller) + +func _ready(): + ControllerIcons.input_type_changed.connect(_on_input_type_changed) + self.path = path + +func _on_input_type_changed(input_type, controller): + if show_only == 0 or \ + (show_only == 1 and input_type == ControllerIcons.InputType.KEYBOARD_MOUSE) or \ + (show_only == 2 and input_type == ControllerIcons.InputType.CONTROLLER): + self.path = path + else: + icon = null + +func get_tts_string() -> String: + if force_type: + return ControllerIcons.parse_path_to_tts(path, force_type - 1, ControllerIcons._last_controller) + else: + return ControllerIcons.parse_path_to_tts(path) diff --git a/source/addons/controller_icons/objects/Button.gd.uid b/source/addons/controller_icons/objects/Button.gd.uid new file mode 100644 index 0000000..62f4311 --- /dev/null +++ b/source/addons/controller_icons/objects/Button.gd.uid @@ -0,0 +1 @@ +uid://cgd4mv8wtt7n2 diff --git a/source/addons/controller_icons/objects/ControllerIconEditorInspector.gd b/source/addons/controller_icons/objects/ControllerIconEditorInspector.gd new file mode 100644 index 0000000..8590a9b --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconEditorInspector.gd @@ -0,0 +1,61 @@ +extends EditorInspectorPlugin + +var path_selector := preload("res://addons/controller_icons/objects/ControllerIconPathEditorProperty.gd") + +var editor_interface : EditorInterface + +class ControllerIcons_TexturePreview: + var n_root: MarginContainer + var n_background: TextureRect + var n_texture: TextureRect + + var background: Texture2D + + var texture: Texture2D: + set(_texture): + texture = _texture + n_texture.texture = texture + + func _init(editor_interface: EditorInterface): + n_root = MarginContainer.new() + + # UPGRADE: In Godot 4.2, there's no need to have an instance to + # EditorInterface, since it's now a static call: + # background = EditorInterface.get_base_control().get_theme_icon("Checkerboard", "EditorIcons") + background = editor_interface.get_base_control().get_theme_icon("Checkerboard", "EditorIcons") + n_background = TextureRect.new() + n_background.stretch_mode = TextureRect.STRETCH_TILE + n_background.texture = background + n_background.texture_repeat = CanvasItem.TEXTURE_REPEAT_ENABLED + n_background.custom_minimum_size = Vector2(0, 256) + n_root.add_child(n_background) + + n_texture = TextureRect.new() + n_texture.texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS + n_texture.set_anchors_preset(Control.PRESET_FULL_RECT) + n_texture.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED + n_texture.expand_mode = TextureRect.EXPAND_IGNORE_SIZE + n_root.add_child(n_texture) + + func get_root(): + return n_root + +var preview: ControllerIcons_TexturePreview + +func _can_handle(object: Object) -> bool: + return object is ControllerIconTexture + +func _parse_begin(object: Object) -> void: + preview = ControllerIcons_TexturePreview.new(editor_interface) + add_custom_control(preview.get_root()) + + var icon := object as ControllerIconTexture + if icon: + preview.texture = icon + +func _parse_property(object: Object, type, name: String, hint_type: PropertyHint, hint_string: String, usage_flags: int, wide: bool) -> bool: + if name == "path": + var path_selector_instance = path_selector.new(editor_interface) + add_property_editor(name, path_selector_instance) + return true + return false diff --git a/source/addons/controller_icons/objects/ControllerIconEditorInspector.gd.uid b/source/addons/controller_icons/objects/ControllerIconEditorInspector.gd.uid new file mode 100644 index 0000000..f38ecc2 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconEditorInspector.gd.uid @@ -0,0 +1 @@ +uid://dsnwwtbjdneaw diff --git a/source/addons/controller_icons/objects/ControllerIconPathEditorProperty.gd b/source/addons/controller_icons/objects/ControllerIconPathEditorProperty.gd new file mode 100644 index 0000000..b9d93a2 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconPathEditorProperty.gd @@ -0,0 +1,47 @@ +@tool +extends EditorProperty + +var selector : ConfirmationDialog +var line_edit : LineEdit + +func _init(editor_interface: EditorInterface): + add_child(build_tree(editor_interface)) + +func build_tree(editor_interface: EditorInterface): + selector = preload("res://addons/controller_icons/objects/ControllerIconPathSelectorPopup.tscn").instantiate() + selector.editor_interface = editor_interface + selector.visible = false + selector.path_selected.connect( + func(path: String): + if not path.is_empty(): + emit_changed(get_edited_property(), path) + ) + + var root := HBoxContainer.new() + + line_edit = LineEdit.new() + line_edit.size_flags_horizontal = Control.SIZE_EXPAND_FILL + line_edit.text_changed.connect(func(text): + emit_changed(get_edited_property(), text) + ) + + var button := Button.new() + # UPGRADE: In Godot 4.2, there's no need to have an instance to + # EditorInterface, since it's now a static call: + # button.icon = EditorInterface.get_base_control().get_theme_icon("ListSelect", "EditorIcons") + button.icon = editor_interface.get_base_control().get_theme_icon("ListSelect", "EditorIcons") + button.tooltip_text = "Select an icon path" + button.pressed.connect(func(): + selector.populate() + selector.popup_centered() + ) + + root.add_child(line_edit) + root.add_child(button) + root.add_child(selector) + return root + +func _update_property(): + var new_text = get_edited_object()[get_edited_property()] + if line_edit.text != new_text: + line_edit.text = new_text diff --git a/source/addons/controller_icons/objects/ControllerIconPathEditorProperty.gd.uid b/source/addons/controller_icons/objects/ControllerIconPathEditorProperty.gd.uid new file mode 100644 index 0000000..d32ad81 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconPathEditorProperty.gd.uid @@ -0,0 +1 @@ +uid://hugieey610e4 diff --git a/source/addons/controller_icons/objects/ControllerIconPathSelector.gd b/source/addons/controller_icons/objects/ControllerIconPathSelector.gd new file mode 100644 index 0000000..f6caf42 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconPathSelector.gd @@ -0,0 +1,58 @@ +@tool +extends PanelContainer + +signal path_selected(path: String) + +@onready var n_tab_container := %TabContainer +@onready var n_input_action := %"Input Action" +@onready var n_joypad_path := %"Joypad Path" +@onready var n_specific_path := %"Specific Path" + +var input_action_populated := false +var joypad_path_populated := false +var specific_path_populated := false + +var editor_interface : EditorInterface + +func populate(editor_interface: EditorInterface) -> void: + self.editor_interface = editor_interface + + input_action_populated = false + joypad_path_populated = false + specific_path_populated = false + + n_tab_container.current_tab = 0 + +func get_icon_path() -> String: + return n_tab_container.get_current_tab_control().get_icon_path() + + +func _on_tab_container_tab_selected(tab = null) -> void: + match n_tab_container.get_current_tab_control(): + n_input_action: + if not input_action_populated: + input_action_populated = true + n_input_action.populate(editor_interface) + n_joypad_path: + if not joypad_path_populated: + joypad_path_populated = true + n_joypad_path.populate(editor_interface) + n_specific_path: + if not specific_path_populated: + specific_path_populated = true + n_specific_path.populate(editor_interface) + + await get_tree().process_frame + n_tab_container.get_current_tab_control().grab_focus() + + +func _on_input_action_done() -> void: + path_selected.emit(n_input_action.get_icon_path()) + + +func _on_joypad_path_done() -> void: + path_selected.emit(n_joypad_path.get_icon_path()) + + +func _on_specific_path_done() -> void: + path_selected.emit(n_specific_path.get_icon_path()) diff --git a/source/addons/controller_icons/objects/ControllerIconPathSelector.gd.uid b/source/addons/controller_icons/objects/ControllerIconPathSelector.gd.uid new file mode 100644 index 0000000..674f3c0 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconPathSelector.gd.uid @@ -0,0 +1 @@ +uid://0iw60ctmug10 diff --git a/source/addons/controller_icons/objects/ControllerIconPathSelector.tscn b/source/addons/controller_icons/objects/ControllerIconPathSelector.tscn new file mode 100644 index 0000000..80593c5 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconPathSelector.tscn @@ -0,0 +1,41 @@ +[gd_scene load_steps=5 format=3 uid="uid://dijn7haax0boi"] + +[ext_resource type="Script" path="res://addons/controller_icons/objects/ControllerIconPathSelector.gd" id="1_0ucf4"] +[ext_resource type="PackedScene" uid="uid://bituity863qe4" path="res://addons/controller_icons/objects/path_selection/input_action.tscn" id="2_wlqmh"] +[ext_resource type="PackedScene" uid="uid://b3lplrf2w6kh7" path="res://addons/controller_icons/objects/path_selection/joypad_path.tscn" id="3_6ffwr"] +[ext_resource type="PackedScene" uid="uid://d2ow6e2ba86b6" path="res://addons/controller_icons/objects/path_selection/specific_path.tscn" id="4_3ai5v"] + +[node name="ControllerIconPathSelector" type="PanelContainer"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_0ucf4") + +[node name="TabContainer" type="TabContainer" parent="."] +unique_name_in_owner = true +custom_minimum_size = Vector2(850, 450) +layout_mode = 2 +size_flags_horizontal = 3 +theme_override_constants/side_margin = 0 +tab_alignment = 1 + +[node name="Input Action" parent="TabContainer" instance=ExtResource("2_wlqmh")] +unique_name_in_owner = true +layout_mode = 2 + +[node name="Joypad Path" parent="TabContainer" instance=ExtResource("3_6ffwr")] +unique_name_in_owner = true +visible = false +layout_mode = 2 + +[node name="Specific Path" parent="TabContainer" instance=ExtResource("4_3ai5v")] +unique_name_in_owner = true +visible = false +layout_mode = 2 + +[connection signal="tab_selected" from="TabContainer" to="." method="_on_tab_container_tab_selected"] +[connection signal="done" from="TabContainer/Input Action" to="." method="_on_input_action_done"] +[connection signal="done" from="TabContainer/Joypad Path" to="." method="_on_joypad_path_done"] +[connection signal="done" from="TabContainer/Specific Path" to="." method="_on_specific_path_done"] diff --git a/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.gd b/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.gd new file mode 100644 index 0000000..eef7549 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.gd @@ -0,0 +1,20 @@ +@tool +extends ConfirmationDialog + +signal path_selected(path: String) + +var editor_interface : EditorInterface + +@onready var n_selector := $ControllerIconPathSelector + +func populate(): + n_selector.populate(editor_interface) + + +func _on_controller_icon_path_selector_path_selected(path) -> void: + path_selected.emit(path) + hide() + + +func _on_confirmed() -> void: + path_selected.emit(n_selector.get_icon_path()) diff --git a/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.gd.uid b/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.gd.uid new file mode 100644 index 0000000..3c6932d --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.gd.uid @@ -0,0 +1 @@ +uid://byshjka72uo8i diff --git a/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.tscn b/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.tscn new file mode 100644 index 0000000..b330223 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconPathSelectorPopup.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=3 format=3 uid="uid://ib8ydhcaklwy"] + +[ext_resource type="Script" path="res://addons/controller_icons/objects/ControllerIconPathSelectorPopup.gd" id="1_6s0ph"] +[ext_resource type="PackedScene" uid="uid://dijn7haax0boi" path="res://addons/controller_icons/objects/ControllerIconPathSelector.tscn" id="2_gfs7t"] + +[node name="ControllerIconPathSelectorPopup" type="ConfirmationDialog"] +title = "Select an icon path" +position = Vector2i(0, 36) +size = Vector2i(866, 507) +visible = true +script = ExtResource("1_6s0ph") + +[node name="ControllerIconPathSelector" parent="." instance=ExtResource("2_gfs7t")] +offset_left = 8.0 +offset_top = 8.0 +offset_right = -8.0 +offset_bottom = -49.0 + +[connection signal="confirmed" from="." to="." method="_on_confirmed"] +[connection signal="path_selected" from="ControllerIconPathSelector" to="." method="_on_controller_icon_path_selector_path_selected"] diff --git a/source/addons/controller_icons/objects/ControllerIconTexture.gd b/source/addons/controller_icons/objects/ControllerIconTexture.gd new file mode 100644 index 0000000..1af92ea --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconTexture.gd @@ -0,0 +1,391 @@ +@tool +@icon("res://addons/controller_icons/objects/controller_texture_icon.svg") +extends Texture2D +class_name ControllerIconTexture +## [Texture2D] proxy for displaying controller icons +## +## A 2D texture representing a controller icon. The underlying system provides +## a [Texture2D] that may react to changes in the current input method, and also detect the user's controller type. +## Specify the [member path] property to setup the desired icon and behavior.[br] +## [br] +## For a more technical overview, this resource functions as a proxy for any +## node that accepts a [Texture2D], redefining draw commands to use an +## underlying plain [Texture2D], which may be swapped by the remapping system.[br] +## [br] +## This resource works out-of-the box with many default nodes, such as [Sprite2D], +## [Sprite3D], [TextureRect], [RichTextLabel], and others. If you are +## integrating this resource on a custom node, you will need to connect to the +## [signal Resource.changed] signal to properly handle changes to the underlying +## texture. You might also need to force a redraw with methods such as +## [method CanvasItem.queue_redraw]. +## +## @tutorial(Online documentation): https://github.com/rsubtil/controller_icons/blob/master/DOCS.md + +## A path describing the desired icon. This is a generic path that can be one +## of three different types: +## [br][br] +## [b]- Input Action[/b]: Specify the exact name of an existing input action. The +## icon will be swapped automatically depending on whether the keyboard/mouse or the +## controller is being used. When using a controller, it also changes according to +## the controller type.[br][br] +## [i]This is the recommended approach, as it will handle all input methods +## automatically, and supports any input remapping done at runtime[/i]. +## [codeblock] +## # "Enter" on keyboard, "Cross" on Sony, +## # "A" on Xbox, "B" on Nintendo +## path = "ui_accept" +## [/codeblock] +## [b]- Joypad Path[/b]: Specify a generic joypad path resembling the layout of a +## Xbox 360 controller, starting with the [code]joypad/[/code] prefix. The icon will only +## display controller icons, but it will still change according to the controller type. +## [codeblock] +## # "Square" on Sony, "X" on Xbox, "Y" on Nintendo +## path = "joypad/x" +## [/codeblock] +## [b]- Specific Path[/b]: Specify a direct asset path from the addon assets. +## With this path type, there is no dynamic remapping, and the icon will always +## remain the same. The path to use is the path to an icon file, minus the base +## path and extension. +## [codeblock] +## # res://addons/controller_icons/assets/steam/gyro.png +## path = "steam/gyro" +## [/codeblock] +@export var path : String = "": + set(_path): + path = _path + _load_texture_path() + +enum ShowMode { + ANY, ## Icon will be display on any input method. + KEYBOARD_MOUSE, ## Icon will be display only when the keyboard/mouse is being used. + CONTROLLER ## Icon will be display only when a controller is being used. +} + +## Show the icon only if a specific input method is being used. When hidden, +## the icon will not occupy have any space (no width and height). +@export var show_mode : ShowMode = ShowMode.ANY: + set(_show_mode): + show_mode = _show_mode + _load_texture_path() + +enum ForceType { + NONE, ## Icon will swap according to the used input method. + KEYBOARD_MOUSE, ## Icon will always show the keyboard/mouse action. + CONTROLLER, ## Icon will always show the controller action. +} + +## Forces the icon to show either the keyboard/mouse or controller icon, +## regardless of the currently used input method. +##[br][br] +## This is only relevant for paths using input actions, and has no effect on +## other scenarios. +@export var force_type : ForceType = ForceType.NONE: + set(_force_type): + force_type = _force_type + _load_texture_path() + +@export_subgroup("Text Rendering") +## Custom LabelSettings. If set, overrides the addon's global label settings. +@export var custom_label_settings : LabelSettings: + set(_custom_label_settings): + custom_label_settings = _custom_label_settings + _load_texture_path() + + # Call _textures setter, which handles signal connections for label settings + _textures = _textures + + +## Returns a text representation of the displayed icon, useful for TTS +## (text-to-speech) scenarios. +## [br][br] +## This takes into consideration the currently displayed icon, and will thus be +## different if the icon is from keyboard/mouse or controller. It also takes +## into consideration the controller type, and will thus use native button +## names (e.g. [code]A[/code] for Xbox, [code]Cross[/code] for PlayStation, etc). +func get_tts_string() -> String: + if force_type: + return ControllerIcons.parse_path_to_tts(path, force_type - 1) + else: + return ControllerIcons.parse_path_to_tts(path) + +func _can_be_shown(): + match show_mode: + 1: + return ControllerIcons._last_input_type == ControllerIcons.InputType.KEYBOARD_MOUSE + 2: + return ControllerIcons._last_input_type == ControllerIcons.InputType.CONTROLLER + 0, _: + return true + +var _textures : Array[Texture2D]: + set(__textures): + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for tex:Texture in __textures: + for tex in __textures: + if tex and tex.is_connected("changed", _reload_resource): + tex.disconnect("changed", _reload_resource) + + if _label_settings and _label_settings.is_connected("changed", _on_label_settings_changed): + _label_settings.disconnect("changed", _on_label_settings_changed) + + _textures = __textures + _label_settings = null + if _textures and _textures.size() > 1: + _label_settings = custom_label_settings + if not _label_settings: + _label_settings = ControllerIcons._settings.custom_label_settings + if not _label_settings: + _label_settings = LabelSettings.new() + _label_settings.connect("changed", _on_label_settings_changed) + _font = ThemeDB.fallback_font if not _label_settings.font else _label_settings.font + _on_label_settings_changed() + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for tex:Texture in __textures: + for tex in __textures: + if tex: + tex.connect("changed", _reload_resource) + +var _font : Font +var _label_settings : LabelSettings +var _text_size : Vector2 + +func _on_label_settings_changed(): + _font = ThemeDB.fallback_font if not _label_settings.font else _label_settings.font + _text_size = _font.get_string_size("+", HORIZONTAL_ALIGNMENT_LEFT, -1, _label_settings.font_size) + _reload_resource() + +func _reload_resource(): + _dirty = true + emit_changed() + +func _load_texture_path_impl(): + var textures : Array[Texture2D] = [] + if ControllerIcons.is_node_ready() and _can_be_shown(): + var input_type = ControllerIcons._last_input_type if force_type == ForceType.NONE else force_type - 1 + if ControllerIcons.get_path_type(path) == ControllerIcons.PathType.INPUT_ACTION: + var event := ControllerIcons.get_matching_event(path, input_type) + textures.append_array(ControllerIcons.parse_event_modifiers(event)) + var tex := ControllerIcons.parse_path(path, input_type) + if tex: + textures.append(tex) + _textures = textures + _reload_resource() + +func _load_texture_path(): + # Ensure loading only occurs on the main thread + if OS.get_thread_caller_id() != OS.get_main_thread_id(): + # In Godot 4.3, call_deferred no longer makes this function + # execute on the main thread due to changes in resource loading. + # To ensure this, we instead rely on ControllerIcons for this + ControllerIcons._defer_texture_load(_load_texture_path_impl) + else: + _load_texture_path_impl() + +func _init(): + ControllerIcons.input_type_changed.connect(_on_input_type_changed) + +func _on_input_type_changed(input_type: int, controller: int): + _load_texture_path() + +#region "Draw functions" +const _NULL_SIZE := 2 + +func _get_width() -> int: + if _can_be_shown(): + var ret := _textures.reduce(func(accum: int, texture: Texture2D): + if texture: + return accum + texture.get_width() + return accum + , 0) + if _label_settings: + ret += max(0, _textures.size()-1) * _text_size.x + # If ret is 0, return a size of 2 to prevent triggering engine checks + # for null sizes. The correct size will be set at a later frame. + return ret if ret > 0 else _NULL_SIZE + return _NULL_SIZE + +func _get_height() -> int: + if _can_be_shown(): + var ret := _textures.reduce(func(accum: int, texture: Texture2D): + if texture: + return max(accum, texture.get_height()) + return accum + , 0) + if _label_settings and _textures.size() > 1: + ret = max(ret, _text_size.y) + # If ret is 0, return a size of 2 to prevent triggering engine checks + # for null sizes. The correct size will be set at a later frame. + return ret if ret > 0 else _NULL_SIZE + return _NULL_SIZE + +func _has_alpha() -> bool: + return _textures.any(func(texture: Texture2D): + return texture.has_alpha() + ) + +func _is_pixel_opaque(x, y) -> bool: + # TODO: Not exposed to GDScript; however, since this seems to be used for editor stuff, it's + # seemingly fine to just report all pixels as opaque. Otherwise, mouse picking for Sprite2D + # stops working. + return true + +func _draw(to_canvas_item: RID, pos: Vector2, modulate: Color, transpose: bool): + var position := pos + + for i in range(_textures.size()): + var tex:Texture2D = _textures[i] + if !tex: continue + + if i != 0: + # Draw text char '+' + var font_position := Vector2( + position.x, + position.y + (get_height() - _text_size.y) / 2.0 + ) + _draw_text(to_canvas_item, font_position, "+") + position.x += _text_size.x + + tex.draw(to_canvas_item, position, modulate, transpose) + position.x += tex.get_width() + +func _draw_rect(to_canvas_item: RID, rect: Rect2, tile: bool, modulate: Color, transpose: bool): + var position := rect.position + var width_ratio := rect.size.x / _get_width() + var height_ratio := rect.size.y / _get_height() + + for i in range(_textures.size()): + var tex:Texture2D = _textures[i] + if !tex: continue + + if i != 0: + # Draw text char '+' + var font_position := Vector2( + position.x + (_text_size.x * width_ratio) / 2 - (_text_size.x / 2), + position.y + (rect.size.y - _text_size.y) / 2.0 + ) + _draw_text(to_canvas_item, font_position, "+") + position.x += _text_size.x * width_ratio + + var size := tex.get_size() * Vector2(width_ratio, height_ratio) + tex.draw_rect(to_canvas_item, Rect2(position, size), tile, modulate, transpose) + position.x += size.x + +func _draw_rect_region(to_canvas_item: RID, rect: Rect2, src_rect: Rect2, modulate: Color, transpose: bool, clip_uv: bool): + var position := rect.position + var width_ratio := rect.size.x / _get_width() + var height_ratio := rect.size.y / _get_height() + + for i in range(_textures.size()): + var tex:Texture2D = _textures[i] + if !tex: continue + + if i != 0: + # Draw text char '+' + var font_position := Vector2( + position.x + (_text_size.x * width_ratio) / 2 - (_text_size.x / 2), + position.y + (rect.size.y - _text_size.y) / 2.0 + ) + _draw_text(to_canvas_item, font_position, "+") + position.x += _text_size.x * width_ratio + + var size := tex.get_size() * Vector2(width_ratio, height_ratio) + var src_rect_ratio := Vector2( + tex.get_width() / float(_get_width()), + tex.get_height() / float(_get_height()) + ) + var tex_src_rect := Rect2( + src_rect.position * src_rect_ratio, + src_rect.size * src_rect_ratio + ) + + tex.draw_rect_region(to_canvas_item, Rect2(position, size), tex_src_rect, modulate, transpose, clip_uv) + position.x += size.x + +func _draw_text(to_canvas_item: RID, font_position: Vector2, text: String): + font_position.y += _font.get_ascent(_label_settings.font_size) + + if _label_settings.shadow_color.a > 0: + _font.draw_string(to_canvas_item, font_position + _label_settings.shadow_offset, text, HORIZONTAL_ALIGNMENT_LEFT, -1, _label_settings.font_size, _label_settings.shadow_color) + if _label_settings.shadow_size > 0: + _font.draw_string_outline(to_canvas_item, font_position + _label_settings.shadow_offset, text, HORIZONTAL_ALIGNMENT_LEFT, -1, _label_settings.font_size, _label_settings.shadow_size, _label_settings.shadow_color) + if _label_settings.outline_color.a > 0 and _label_settings.outline_size > 0: + _font.draw_string_outline(to_canvas_item, font_position, text, HORIZONTAL_ALIGNMENT_LEFT, -1, _label_settings.font_size, _label_settings.outline_size, _label_settings.outline_color) + _font.draw_string(to_canvas_item, font_position, text, HORIZONTAL_ALIGNMENT_CENTER, -1, _label_settings.font_size, _label_settings.font_color) + +var _helper_viewport : Viewport +var _is_stitching_texture : bool = false +func _stitch_texture(): + if _textures.is_empty(): + return + + _is_stitching_texture = true + + var font_image : Image + if _textures.size() > 1: + # Generate a viewport to draw the text + _helper_viewport = SubViewport.new() + # FIXME: We need a 3px margin for some reason + _helper_viewport.size = _text_size + Vector2(3, 0) + _helper_viewport.render_target_update_mode = SubViewport.UPDATE_ONCE + _helper_viewport.render_target_clear_mode = SubViewport.CLEAR_MODE_ONCE + _helper_viewport.transparent_bg = true + + var label := Label.new() + label.label_settings = _label_settings + label.text = "+" + label.position = Vector2.ZERO + _helper_viewport.add_child(label) + + ControllerIcons.add_child(_helper_viewport) + await RenderingServer.frame_post_draw + font_image = _helper_viewport.get_texture().get_image() + ControllerIcons.remove_child(_helper_viewport) + _helper_viewport.free() + + var position := Vector2i(0, 0) + var img : Image + for i in range(_textures.size()): + if !_textures[i]: continue + + if i != 0: + # Draw text char '+' + var region := font_image.get_used_rect() + var font_position := Vector2i( + position.x, + position.y + (get_height() - region.size.y) / 2 + ) + img.blit_rect(font_image, region, font_position) + position.x += ceili(region.size.x) + + var texture_raw := _textures[i].get_image() + texture_raw.decompress() + if not img: + img = Image.create(_get_width(), _get_height(), true, texture_raw.get_format()) + + img.blit_rect(texture_raw, Rect2i(0, 0, texture_raw.get_width(), texture_raw.get_height()), position) + position.x += texture_raw.get_width() + + _is_stitching_texture = false + _dirty = false + _texture_3d = ImageTexture.create_from_image(img) + emit_changed() + +# This is necessary for 3D sprites, as the texture is assigned to a material, and not drawn directly. +# For multi prompts, we need to generate a texture +var _dirty := true +var _texture_3d : Texture +func _get_rid(): + if _dirty: + if not _is_stitching_texture: + # FIXME: Function may await, but because this is an internal engine call, we can't do anything about it. + # This results in a one-frame white texture being displayed, which is not ideal. Investigate later. + _stitch_texture() + if _is_stitching_texture: + return 0 + else: + return 0 + return _texture_3d.get_rid() if not _textures.is_empty() else 0 + +#endregion diff --git a/source/addons/controller_icons/objects/ControllerIconTexture.gd.uid b/source/addons/controller_icons/objects/ControllerIconTexture.gd.uid new file mode 100644 index 0000000..b17c004 --- /dev/null +++ b/source/addons/controller_icons/objects/ControllerIconTexture.gd.uid @@ -0,0 +1 @@ +uid://c2w177bb5r70x diff --git a/source/addons/controller_icons/objects/Sprite.gd b/source/addons/controller_icons/objects/Sprite.gd new file mode 100644 index 0000000..da389cb --- /dev/null +++ b/source/addons/controller_icons/objects/Sprite.gd @@ -0,0 +1,50 @@ +@tool +extends Sprite2D +class_name ControllerSprite2D + +## @deprecated +## Controller icon for Sprite2D nodes. +## +## [b]Deprecated[/b]: Use the new [ControllerIconTexture] texture resource and set it +## directly in [member Sprite2D.texture]. + +func _get_configuration_warnings(): + return ["This node is deprecated, and will be removed in a future version.\n\nRemove this script and use the new ControllerIconTexture resource\nby setting it directly in Sprite2D's texture property."] + +@export var path : String = "": + set(_path): + path = _path + if is_inside_tree(): + if force_type > 0: + texture = ControllerIcons.parse_path(path, force_type - 1) + else: + texture = ControllerIcons.parse_path(path) + +@export_enum("Both", "Keyboard/Mouse", "Controller") var show_only : int = 0: + set(_show_only): + show_only = _show_only + _on_input_type_changed(ControllerIcons._last_input_type, ControllerIcons._last_controller) + +@export_enum("None", "Keyboard/Mouse", "Controller") var force_type : int = 0: + set(_force_type): + force_type = _force_type + _on_input_type_changed(ControllerIcons._last_input_type, ControllerIcons._last_controller) + +func _ready(): + ControllerIcons.input_type_changed.connect(_on_input_type_changed) + self.path = path + +func _on_input_type_changed(input_type, controller): + if show_only == 0 or \ + (show_only == 1 and input_type == ControllerIcons.InputType.KEYBOARD_MOUSE) or \ + (show_only == 2 and input_type == ControllerIcons.InputType.CONTROLLER): + visible = true + self.path = path + else: + visible = false + +func get_tts_string() -> String: + if force_type: + return ControllerIcons.parse_path_to_tts(path, force_type - 1) + else: + return ControllerIcons.parse_path_to_tts(path) diff --git a/source/addons/controller_icons/objects/Sprite.gd.uid b/source/addons/controller_icons/objects/Sprite.gd.uid new file mode 100644 index 0000000..783b3dc --- /dev/null +++ b/source/addons/controller_icons/objects/Sprite.gd.uid @@ -0,0 +1 @@ +uid://cvchkcq7k35f0 diff --git a/source/addons/controller_icons/objects/Sprite3D.gd b/source/addons/controller_icons/objects/Sprite3D.gd new file mode 100644 index 0000000..64d2567 --- /dev/null +++ b/source/addons/controller_icons/objects/Sprite3D.gd @@ -0,0 +1,50 @@ +@tool +extends Sprite3D +class_name ControllerSprite3D + +## @deprecated +## Controller icon for Sprite3D nodes. +## +## [b]Deprecated[/b]: Use the new [ControllerIconTexture] texture resource and set it +## directly in [member Sprite3D.texture]. + +func _get_configuration_warnings(): + return ["This node is deprecated, and will be removed in a future version.\n\nRemove this script and use the new ControllerIconTexture resource\nby setting it directly in Sprite3D's texture property."] + +@export var path : String = "": + set(_path): + path = _path + if is_inside_tree(): + if force_type > 0: + texture = ControllerIcons.parse_path(path, force_type - 1) + else: + texture = ControllerIcons.parse_path(path) + +@export_enum("Both", "Keyboard/Mouse", "Controller") var show_only := 0: + set(_show_only): + show_only = _show_only + _on_input_type_changed(ControllerIcons._last_input_type, ControllerIcons._last_controller) + +@export_enum("None", "Keyboard/Mouse", "Controller") var force_type : int = 0: + set(_force_type): + force_type = _force_type + _on_input_type_changed(ControllerIcons._last_input_type, ControllerIcons._last_controller) + +func _ready(): + ControllerIcons.input_type_changed.connect(_on_input_type_changed) + self.path = path + +func _on_input_type_changed(input_type, controller): + if show_only == 0 or \ + (show_only == 1 and input_type == ControllerIcons.InputType.KEYBOARD_MOUSE) or \ + (show_only == 2 and input_type == ControllerIcons.InputType.CONTROLLER): + visible = true + self.path = path + else: + visible = false + +func get_tts_string() -> String: + if force_type: + return ControllerIcons.parse_path_to_tts(path, force_type - 1) + else: + return ControllerIcons.parse_path_to_tts(path) diff --git a/source/addons/controller_icons/objects/Sprite3D.gd.uid b/source/addons/controller_icons/objects/Sprite3D.gd.uid new file mode 100644 index 0000000..257a55d --- /dev/null +++ b/source/addons/controller_icons/objects/Sprite3D.gd.uid @@ -0,0 +1 @@ +uid://bdy2y8h3erfcx diff --git a/source/addons/controller_icons/objects/TextureRect.gd b/source/addons/controller_icons/objects/TextureRect.gd new file mode 100644 index 0000000..6a4397e --- /dev/null +++ b/source/addons/controller_icons/objects/TextureRect.gd @@ -0,0 +1,66 @@ +@tool +extends TextureRect +class_name ControllerTextureRect +## Controller icon for TextureRect nodes. +## +## [b]Deprecated[/b]: Use the new [ControllerIconTexture] texture resource and set it +## directly in [member TextureRect.texture]. +## +## @deprecated + +func _get_configuration_warnings(): + return ["This node is deprecated, and will be removed in a future version.\n\nRemove this script and use the new ControllerIconTexture resource\nby setting it directly in TextureRect's texture property."] + + +@export var path : String = "": + set(_path): + path = _path + if is_inside_tree(): + if force_type > 0: + texture = ControllerIcons.parse_path(path, force_type - 1) + else: + texture = ControllerIcons.parse_path(path) + +@export_enum("Both", "Keyboard/Mouse", "Controller") var show_only : int = 0: + set(_show_only): + show_only = _show_only + _on_input_type_changed(ControllerIcons._last_input_type, ControllerIcons._last_controller) + +@export_enum("None", "Keyboard/Mouse", "Controller") var force_type : int = 0: + set(_force_type): + force_type = _force_type + _on_input_type_changed(ControllerIcons._last_input_type, ControllerIcons._last_controller) + +@export var max_width : int = 40: + set(_max_width): + max_width = _max_width + if is_inside_tree(): + if max_width < 0: + expand_mode = TextureRect.EXPAND_KEEP_SIZE + else: + expand_mode = TextureRect.EXPAND_IGNORE_SIZE + custom_minimum_size.x = max_width + if texture: + custom_minimum_size.y = texture.get_height() * max_width / texture.get_width() + else: + custom_minimum_size.y = custom_minimum_size.x + +func _ready(): + ControllerIcons.input_type_changed.connect(_on_input_type_changed) + self.path = path + self.max_width = max_width + +func _on_input_type_changed(input_type, controller): + if show_only == 0 or \ + (show_only == 1 and input_type == ControllerIcons.InputType.KEYBOARD_MOUSE) or \ + (show_only == 2 and input_type == ControllerIcons.InputType.CONTROLLER): + visible = true + self.path = path + else: + visible = false + +func get_tts_string() -> String: + if force_type: + return ControllerIcons.parse_path_to_tts(path, force_type - 1) + else: + return ControllerIcons.parse_path_to_tts(path) diff --git a/source/addons/controller_icons/objects/TextureRect.gd.uid b/source/addons/controller_icons/objects/TextureRect.gd.uid new file mode 100644 index 0000000..b7c22ce --- /dev/null +++ b/source/addons/controller_icons/objects/TextureRect.gd.uid @@ -0,0 +1 @@ +uid://c5wegnq47ory2 diff --git a/source/addons/controller_icons/objects/controller_texture_icon.svg b/source/addons/controller_icons/objects/controller_texture_icon.svg new file mode 100644 index 0000000..4dbb02c --- /dev/null +++ b/source/addons/controller_icons/objects/controller_texture_icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/source/components/collision/areas/dynamic_area_loader.svg.import b/source/addons/controller_icons/objects/controller_texture_icon.svg.import similarity index 68% rename from source/components/collision/areas/dynamic_area_loader.svg.import rename to source/addons/controller_icons/objects/controller_texture_icon.svg.import index c53cd8b..d49936b 100644 --- a/source/components/collision/areas/dynamic_area_loader.svg.import +++ b/source/addons/controller_icons/objects/controller_texture_icon.svg.import @@ -2,8 +2,8 @@ importer="texture" type="CompressedTexture2D" -uid="uid://4qsmkgrm8frw" -path="res://.godot/imported/dynamic_area_loader.svg-9c18be72046d8461d1671f5d055e60a9.ctex" +uid="uid://d4cwx85k03lt7" +path="res://.godot/imported/controller_texture_icon.svg-c7feb059f1c41a49e9f62f5b03706d01.ctex" metadata={ "has_editor_variant": true, "vram_texture": false @@ -11,8 +11,8 @@ metadata={ [deps] -source_file="res://components/collision/areas/dynamic_area_loader.svg" -dest_files=["res://.godot/imported/dynamic_area_loader.svg-9c18be72046d8461d1671f5d055e60a9.ctex"] +source_file="res://addons/controller_icons/objects/controller_texture_icon.svg" +dest_files=["res://.godot/imported/controller_texture_icon.svg-c7feb059f1c41a49e9f62f5b03706d01.ctex"] [params] diff --git a/source/addons/controller_icons/objects/path_selection/InputActionSelector.gd b/source/addons/controller_icons/objects/path_selection/InputActionSelector.gd new file mode 100644 index 0000000..1f46a29 --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/InputActionSelector.gd @@ -0,0 +1,115 @@ +@tool +extends Panel + +signal done + +@onready var n_name_filter := %NameFilter +@onready var n_builtin_action_button := %BuiltinActionButton +@onready var n_tree := %Tree + +class ControllerIcons_Item: + func _init(tree: Tree, root: TreeItem, path: String, is_default: bool): + self.is_default = is_default + self.filtered = true + tree_item = tree.create_item(root) + tree_item.set_text(0, path) + + controller_icon_key = ControllerIconTexture.new() + controller_icon_key.path = path + controller_icon_key.force_type = 1 + controller_icon_joy = ControllerIconTexture.new() + controller_icon_joy.path = path + controller_icon_joy.force_type = 2 + + tree_item.set_icon_max_width(1, 48 * controller_icon_key._textures.size()) + tree_item.set_icon_max_width(2, 48 * controller_icon_key._textures.size()) + tree_item.set_icon(1, controller_icon_key) + tree_item.set_icon(2, controller_icon_joy) + + var is_default : bool + var tree_item : TreeItem + var controller_icon_key : ControllerIconTexture + var controller_icon_joy : ControllerIconTexture + + var show_default : bool: + set(_show_default): + show_default = _show_default + _query_visibility() + + var filtered : bool: + set(_filtered): + filtered = _filtered + _query_visibility() + + func _query_visibility(): + if is_instance_valid(tree_item): + tree_item.visible = show_default and filtered + +var root : TreeItem +var items : Array[ControllerIcons_Item] + +func populate(editor_interface: EditorInterface) -> void: + # Clear + n_tree.clear() + ## Using clear() triggers a signal and uses freed nodes. + ## Setting the text directly does not. + n_name_filter.text = "" + items.clear() + + n_name_filter.right_icon = editor_interface.get_base_control().get_theme_icon("Search", "EditorIcons") + + # Setup tree columns + n_tree.set_column_title(0, "Action") + n_tree.set_column_title(1, "Preview") + n_tree.set_column_expand(1, false) + n_tree.set_column_expand(2, false) + + # Force ControllerIcons to reload the input map + ControllerIcons._parse_input_actions() + + # List with all default input actions + var default_actions := ControllerIcons._builtin_keys.map( + func(value: String): + return value.trim_prefix("input/") + ) + + # Map with all input actions + root = n_tree.create_item() + for data in ControllerIcons._custom_input_actions: + var child := ControllerIcons_Item.new(n_tree, root, data, data in default_actions) + items.push_back(child) + + set_default_actions_visibility(n_builtin_action_button.button_pressed) + +func get_icon_path() -> String: + var item : TreeItem = n_tree.get_selected() + if is_instance_valid(item): + return item.get_text(0) + return "" + +func set_default_actions_visibility(display: bool): + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for item:ControllerIcons_Item in items: + for item in items: + item.show_default = display or not item.is_default + +func grab_focus() -> void: + n_name_filter.grab_focus() + + +func _on_builtin_action_button_toggled(toggled_on: bool) -> void: + set_default_actions_visibility(toggled_on) + + +func _on_tree_item_activated() -> void: + done.emit() + + +func _on_name_filter_text_changed(new_text: String): + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for item:ControllerIcons_Item in items: + for item in items: + var filtered := true if new_text.is_empty() else item.tree_item.get_text(0).findn(new_text) != -1 + item.filtered = filtered diff --git a/source/addons/controller_icons/objects/path_selection/InputActionSelector.gd.uid b/source/addons/controller_icons/objects/path_selection/InputActionSelector.gd.uid new file mode 100644 index 0000000..ff304be --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/InputActionSelector.gd.uid @@ -0,0 +1 @@ +uid://by7qxtmey10xd diff --git a/source/addons/controller_icons/objects/path_selection/JoypadPathSelector.gd b/source/addons/controller_icons/objects/path_selection/JoypadPathSelector.gd new file mode 100644 index 0000000..f70009d --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/JoypadPathSelector.gd @@ -0,0 +1,200 @@ +@tool +extends Panel + +signal done + +@onready var n_button_label := %ButtonLabel +@onready var button_nodes := [ + %LT, %RT, + %LStick, %RStick, + %LStickClick, %RStickClick, + %LB, %RB, %A, %B, %X, %Y, + %Select, %Start, + %Home, %Share, %DPAD, + %DPADDown, %DPADRight, + %DPADLeft, %DPADUp +] + +var _last_pressed_button : Button +var _last_pressed_timestamp : int + +func populate(editor_interface: EditorInterface) -> void: + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for button:Button in button_nodes: + for button in button_nodes: + button.button_pressed = false + +func get_icon_path() -> String: + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for button:Button in button_nodes: + for button in button_nodes: + if button.button_pressed: + return button.icon.path + return "" + +func grab_focus() -> void: + pass + +func _input(event): + if not visible: return + + if event is InputEventJoypadMotion: + _input_motion(event) + elif event is InputEventJoypadButton: + _input_button(event) + +func _input_motion(event: InputEventJoypadMotion): + if abs(event.axis_value) < 0.5: return + match event.axis: + JOY_AXIS_LEFT_X, JOY_AXIS_LEFT_Y: + _simulate_button_press(%LStick) + JOY_AXIS_RIGHT_X, JOY_AXIS_RIGHT_Y: + _simulate_button_press(%RStick) + JOY_AXIS_TRIGGER_LEFT: + _simulate_button_press(%LT) + JOY_AXIS_TRIGGER_RIGHT: + _simulate_button_press(%RT) + +func _input_button(event: InputEventJoypadButton): + if not event.pressed: return + match event.button_index: + JOY_BUTTON_A: + _simulate_button_press(%A) + JOY_BUTTON_B: + _simulate_button_press(%B) + JOY_BUTTON_X: + _simulate_button_press(%X) + JOY_BUTTON_Y: + _simulate_button_press(%Y) + JOY_BUTTON_LEFT_SHOULDER: + _simulate_button_press(%LB) + JOY_BUTTON_RIGHT_SHOULDER: + _simulate_button_press(%RB) + JOY_BUTTON_LEFT_STICK: + _simulate_button_press(%LStickClick) + JOY_BUTTON_RIGHT_STICK: + _simulate_button_press(%RStickClick) + JOY_BUTTON_DPAD_DOWN: + _simulate_button_press(%DPADDown) + JOY_BUTTON_DPAD_RIGHT: + _simulate_button_press(%DPADRight) + JOY_BUTTON_DPAD_LEFT: + _simulate_button_press(%DPADLeft) + JOY_BUTTON_DPAD_UP: + _simulate_button_press(%DPADUp) + JOY_BUTTON_BACK: + _simulate_button_press(%Select) + JOY_BUTTON_START: + _simulate_button_press(%Start) + JOY_BUTTON_GUIDE: + _simulate_button_press(%Home) + JOY_BUTTON_MISC1: + _simulate_button_press(%Share) + +func _simulate_button_press(button: Button): + button.grab_focus() + button.button_pressed = true + button.set_meta("from_ui", false) + button.pressed.emit() + button.set_meta("from_ui", true) + +func _on_button_pressed(): + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for button:Button in button_nodes: + for button in button_nodes: + if button.has_meta("from_ui") and not button.get_meta("from_ui", true): return + if button.button_pressed: + if _last_pressed_button == button: + if Time.get_ticks_msec() < _last_pressed_timestamp: + done.emit() + else: + _last_pressed_timestamp = Time.get_ticks_msec() + 1000 + else: + _last_pressed_button = button + _last_pressed_timestamp = Time.get_ticks_msec() + 1000 + +func _on_l_stick_pressed(): + n_button_label.text = "Axis 0/1\n(Left Stick, Joystick 0)\n[joypad/l_stick]" + + +func _on_l_stick_click_pressed(): + n_button_label.text = "Button 7\n(Left Stick, Sony L3, Xbox L/LS)\n[joypad/l_stick_click]" + + +func _on_r_stick_pressed(): + n_button_label.text = "Axis 2/3\n(Right Stick, Joystick 1)\n[joypad/r_stick]" + + +func _on_r_stick_click_pressed(): + n_button_label.text = "Button 8\n(Right Stick, Sony R3, Xbox R/RS)\n[joypad/r_stick_click]" + + +func _on_lb_pressed(): + n_button_label.text = "Button 9\n(Left Shoulder, Sony L1, Xbox LB)\n[joypad/lb]" + + +func _on_lt_pressed(): + n_button_label.text = "Axis 4\n(Left Trigger, Sony L2, Xbox LT, Joystick 2 Right)\n[joypad/lt]" + + +func _on_rb_pressed(): + n_button_label.text = "Button 10\n(Right Shoulder, Sony R1, Xbox RB)\n[joypad/rb]" + + +func _on_rt_pressed(): + n_button_label.text = "Axis 5\n(Right Trigger, Sony R2, Xbox RT, Joystick 2 Down)\n[joypad/rt]" + + +func _on_a_pressed(): + n_button_label.text = "Button 0\n(Bottom Action, Sony Cross, Xbox A, Nintendo B)\n[joypad/a]" + + +func _on_b_pressed(): + n_button_label.text = "Button 1\n(Right Action, Sony Circle, Xbox B, Nintendo A)\n[joypad/b]" + + +func _on_x_pressed(): + n_button_label.text = "Button 2\n(Left Action, Sony Square, Xbox X, Nintendo Y)\n[joypad/x]" + + +func _on_y_pressed(): + n_button_label.text = "Button 3\n(Top Action, Sony Triangle, Xbox Y, Nintendo X)\n[joypad/y]" + + +func _on_select_pressed(): + n_button_label.text = "Button 4\n(Back, Sony Select, Xbox Back, Nintendo -)\n[joypad/select]" + + +func _on_start_pressed(): + n_button_label.text = "Button 6\n(Start, Xbox Menu, Nintendo +)\n[joypad/start]" + + +func _on_home_pressed(): + n_button_label.text = "Button 5\n(Guide, Sony PS, Xbox Home)\n[joypad/home]" + + +func _on_share_pressed(): + n_button_label.text = "Button 15\n(Xbox Share, PS5 Microphone, Nintendo Capture)\n[joypad/share]" + + +func _on_dpad_pressed(): + n_button_label.text = "Button 11/12/13/14\n(D-pad)\n[joypad/dpad]" + + +func _on_dpad_down_pressed(): + n_button_label.text = "Button 12\n(D-pad Down)\n[joypad/dpad_down]" + + +func _on_dpad_right_pressed(): + n_button_label.text = "Button 14\n(D-pad Right)\n[joypad/dpad_right]" + + +func _on_dpad_left_pressed(): + n_button_label.text = "Button 13\n(D-pad Left)\n[joypad/dpad_left]" + + +func _on_dpad_up_pressed(): + n_button_label.text = "Button 11\n(D-pad Up)\n[joypad/dpad_up]" diff --git a/source/addons/controller_icons/objects/path_selection/JoypadPathSelector.gd.uid b/source/addons/controller_icons/objects/path_selection/JoypadPathSelector.gd.uid new file mode 100644 index 0000000..4e48673 --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/JoypadPathSelector.gd.uid @@ -0,0 +1 @@ +uid://bc1hpc5l8tbls diff --git a/source/addons/controller_icons/objects/path_selection/SpecificPathSelector.gd b/source/addons/controller_icons/objects/path_selection/SpecificPathSelector.gd new file mode 100644 index 0000000..8ddfac6 --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/SpecificPathSelector.gd @@ -0,0 +1,185 @@ +@tool +extends Panel + +signal done + +@onready var n_name_filter := %NameFilter +@onready var n_base_asset_names := %BaseAssetNames +@onready var n_assets_container := %AssetsContainer + +var _last_pressed_icon : ControllerIcons_Icon +var _last_pressed_timestamp : int + +var color_text_enabled : Color +var color_text_disabled : Color + +class ControllerIcons_Icon: + static var group := ButtonGroup.new() + + func _init(category: String, path: String): + self.category = category + self.filtered = true + self.path = path.get_slice("/", 1) + + button = Button.new() + button.custom_minimum_size = Vector2(100, 100) + button.clip_text = true + button.text_overrun_behavior = TextServer.OVERRUN_TRIM_ELLIPSIS + button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER + button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP + button.expand_icon = true + button.toggle_mode = true + button.button_group = group + button.text = self.path + + var icon = ControllerIconTexture.new() + icon.path = path + button.icon = icon + + var button : Button + var category : String + var path : String + + var selected: bool: + set(_selected): + selected = _selected + _query_visibility() + + var filtered: bool: + set(_filtered): + filtered = _filtered + _query_visibility() + + func _query_visibility(): + if is_instance_valid(button): + button.visible = selected and filtered + +var button_nodes := {} +var asset_names_root : TreeItem + +func populate(editor_interface: EditorInterface) -> void: + ## Using clear() triggers a signal and uses freed nodes. + ## Setting the text directly does not. + n_name_filter.text = "" + n_base_asset_names.clear() + button_nodes.clear() + for child in n_assets_container.get_children(): + n_assets_container.remove_child(child) + child.queue_free() + + # UPGRADE: In Godot 4.2, there's no need to have an instance to + # EditorInterface, since it's now a static call: + # var editor_control := EditorInterface.get_base_control() + var editor_control := editor_interface.get_base_control() + color_text_enabled = editor_control.get_theme_color("font_color", "Editor") + color_text_disabled = editor_control.get_theme_color("disabled_font_color", "Editor") + n_name_filter.right_icon = editor_control.get_theme_icon("Search", "EditorIcons") + + asset_names_root = n_base_asset_names.create_item() + + var base_paths := [ + ControllerIcons._settings.custom_asset_dir, + "res://addons/controller_icons/assets" + ] + + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for base_path:String in base_paths: + for base_path in base_paths: + if base_path.is_empty() or not base_path.begins_with("res://"): + continue + # Files first + handle_files("", base_path) + # Directories next + for dir in DirAccess.get_directories_at(base_path): + handle_files(dir, base_path.path_join(dir)) + + var child : TreeItem = asset_names_root.get_next_in_tree() + if child: + child.select(0) + +func handle_files(category: String, base_path: String): + for file in DirAccess.get_files_at(base_path): + if file.get_extension() == ControllerIcons._base_extension: + create_icon(category, base_path.path_join(file)) + +func create_icon(category: String, path: String): + var map_category := "" if category.is_empty() else category + if not button_nodes.has(map_category): + button_nodes[map_category] = {} + var item : TreeItem = n_base_asset_names.create_item(asset_names_root) + item.set_text(0, map_category) + + var filename := path.get_file() + if button_nodes[map_category].has(filename): return + + var icon_path = ("" if category.is_empty() else category + "/") + path.get_file().get_basename() + var icon := ControllerIcons_Icon.new(map_category, icon_path) + button_nodes[map_category][filename] = icon + n_assets_container.add_child(icon.button) + icon.button.pressed.connect(func(): + if _last_pressed_icon == icon: + if Time.get_ticks_msec() < _last_pressed_timestamp: + done.emit() + else: + _last_pressed_timestamp = Time.get_ticks_msec() + 1000 + else: + _last_pressed_icon = icon + _last_pressed_timestamp = Time.get_ticks_msec() + 1000 + ) + +func get_icon_path() -> String: + var button := ControllerIcons_Icon.group.get_pressed_button() + if button: + return button.icon.path + return "" + +func grab_focus() -> void: + n_name_filter.grab_focus() + + +func _on_base_asset_names_item_selected(): + var selected : TreeItem = n_base_asset_names.get_selected() + if not selected: return + + var category := selected.get_text(0) + if not button_nodes.has(category): return + + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for key:String in button_nodes.keys(): + # for icon:ControllerIcon_Icon in button_nodes[key].values(): + for key in button_nodes.keys(): + for icon in button_nodes[key].values(): + icon.selected = key == category + + +func _on_name_filter_text_changed(new_text:String): + var any_visible := {} + var asset_name := asset_names_root.get_next_in_tree() + while asset_name: + any_visible[asset_name.get_text(0)] = false + asset_name = asset_name.get_next_in_tree() + + var selected_category : TreeItem = n_base_asset_names.get_selected() + + # UPGRADE: In Godot 4.2, for-loop variables can be + # statically typed: + # for key:String in button_nodes.keys(): + # for icon:Icon in button_nodes[key].values(): + for key in button_nodes.keys(): + for icon in button_nodes[key].values(): + var filtered : bool = true if new_text.is_empty() else icon.path.findn(new_text) != -1 + icon.filtered = filtered + any_visible[key] = any_visible[key] or filtered + + asset_name = asset_names_root.get_next_in_tree() + while asset_name: + var category := asset_name.get_text(0) + if any_visible.has(category): + var selectable : bool = any_visible[category] + asset_name.set_selectable(0, selectable) + if not selectable: + asset_name.deselect(0) + asset_name.set_custom_color(0, color_text_enabled if selectable else color_text_disabled) + asset_name = asset_name.get_next_in_tree() diff --git a/source/addons/controller_icons/objects/path_selection/SpecificPathSelector.gd.uid b/source/addons/controller_icons/objects/path_selection/SpecificPathSelector.gd.uid new file mode 100644 index 0000000..b885ad3 --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/SpecificPathSelector.gd.uid @@ -0,0 +1 @@ +uid://bxg2kuuti72un diff --git a/source/addons/controller_icons/objects/path_selection/input_action.tscn b/source/addons/controller_icons/objects/path_selection/input_action.tscn new file mode 100644 index 0000000..f3b97e9 --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/input_action.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=2 format=3 uid="uid://bituity863qe4"] + +[ext_resource type="Script" path="res://addons/controller_icons/objects/path_selection/InputActionSelector.gd" id="1_shxks"] + +[node name="Input Action" type="Panel"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_shxks") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="VBoxContainer"] +layout_mode = 2 +text = "The icon will be tied to an input action, swapping between keyboard/mouse and controller automatically." +horizontal_alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="NameFilter" type="LineEdit" parent="VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +placeholder_text = "Filter by name..." +clear_button_enabled = true + +[node name="BuiltinActionButton" type="CheckButton" parent="VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +text = "Show Built-in Actions" + +[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="Tree" type="Tree" parent="VBoxContainer/ScrollContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +columns = 3 +column_titles_visible = true +hide_folding = true +hide_root = true +select_mode = 1 +scroll_horizontal_enabled = false + +[connection signal="text_changed" from="VBoxContainer/HBoxContainer/NameFilter" to="." method="_on_name_filter_text_changed"] +[connection signal="toggled" from="VBoxContainer/HBoxContainer/BuiltinActionButton" to="." method="_on_builtin_action_button_toggled"] +[connection signal="item_activated" from="VBoxContainer/ScrollContainer/Tree" to="." method="_on_tree_item_activated"] diff --git a/source/addons/controller_icons/objects/path_selection/joypad_path.tscn b/source/addons/controller_icons/objects/path_selection/joypad_path.tscn new file mode 100644 index 0000000..f20b9f7 --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/joypad_path.tscn @@ -0,0 +1,678 @@ +[gd_scene load_steps=25 format=3 uid="uid://b3lplrf2w6kh7"] + +[ext_resource type="Script" path="res://addons/controller_icons/objects/path_selection/JoypadPathSelector.gd" id="1_4ryog"] +[ext_resource type="Script" path="res://addons/controller_icons/objects/ControllerIconTexture.gd" id="2_yxfq6"] + +[sub_resource type="ButtonGroup" id="ButtonGroup_haylq"] + +[sub_resource type="Texture2D" id="Texture2D_nls54"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/l_stick" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_6klsb"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/l_stick_click" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_bij8j"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/r_stick" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_2h0w3"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/r_stick_click" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_kvj2q"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/lb" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_wtcrq"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/lt" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_lfpf5"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/rb" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_b3bsp"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/rt" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_u40go"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/a" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_rnqww"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/b" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_1a2yv"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/x" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_hktfi"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/y" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_2ksy6"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/select" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_08sqi"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/start" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_tivgf"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/home" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_87fow"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/share" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_n4i6p"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/dpad" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_eoyuo"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/dpad_down" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_c660e"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/dpad_right" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_riwus"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/dpad_left" +show_only = 0 +force_type = 0 + +[sub_resource type="Texture2D" id="Texture2D_onmvf"] +resource_local_to_scene = false +resource_name = "" +script = ExtResource("2_yxfq6") +_horizontal_repeat = 1 +path = "joypad/dpad_up" +show_only = 0 +force_type = 0 + +[node name="Joypad Path" type="Panel"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_4ryog") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="VBoxContainer"] +layout_mode = 2 +text = "The icon will only display a controller icon, changing dynamically according to the connected controller brand." +horizontal_alignment = 1 + +[node name="Control" type="Control" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="ButtonLabel" type="Label" parent="VBoxContainer/Control"] +unique_name_in_owner = true +custom_minimum_size = Vector2(350, 0) +layout_mode = 1 +anchors_preset = 5 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -150.0 +offset_top = 18.0 +offset_right = 150.0 +offset_bottom = 41.0 +grow_horizontal = 2 +text = "Press or click on the desired button..." +horizontal_alignment = 1 +autowrap_mode = 3 + +[node name="LStick" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -126.0 +offset_top = 47.0 +offset_right = -76.0 +offset_bottom = 97.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_nls54") +expand_icon = true + +[node name="LStickClick" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -101.0 +offset_top = 97.0 +offset_right = -51.0 +offset_bottom = 147.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_6klsb") +expand_icon = true + +[node name="RStick" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 74.0 +offset_top = 47.0 +offset_right = 124.0 +offset_bottom = 97.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_bij8j") +expand_icon = true + +[node name="RStickClick" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 49.0 +offset_top = 97.0 +offset_right = 99.0 +offset_bottom = 147.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_2h0w3") +expand_icon = true + +[node name="LB" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -276.0 +offset_top = -153.0 +offset_right = -226.0 +offset_bottom = -103.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_kvj2q") +expand_icon = true + +[node name="LT" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -326.0 +offset_top = -178.0 +offset_right = -276.0 +offset_bottom = -128.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_wtcrq") +expand_icon = true + +[node name="RB" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 224.0 +offset_top = -153.0 +offset_right = 274.0 +offset_bottom = -103.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_lfpf5") +expand_icon = true + +[node name="RT" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 274.0 +offset_top = -178.0 +offset_right = 324.0 +offset_bottom = -128.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_b3bsp") +expand_icon = true + +[node name="A" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 174.0 +offset_top = 22.0 +offset_right = 224.0 +offset_bottom = 72.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_u40go") +expand_icon = true + +[node name="B" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 224.0 +offset_top = -28.0 +offset_right = 274.0 +offset_bottom = 22.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_rnqww") +expand_icon = true + +[node name="X" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 124.0 +offset_top = -28.0 +offset_right = 174.0 +offset_bottom = 22.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_1a2yv") +expand_icon = true + +[node name="Y" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 174.0 +offset_top = -78.0 +offset_right = 224.0 +offset_bottom = -28.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_hktfi") +expand_icon = true + +[node name="Select" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -76.0 +offset_top = -53.0 +offset_right = -26.0 +offset_bottom = -3.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_2ksy6") +expand_icon = true + +[node name="Start" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 24.0 +offset_top = -53.0 +offset_right = 74.0 +offset_bottom = -3.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_08sqi") +expand_icon = true + +[node name="Home" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -26.0 +offset_top = -78.0 +offset_right = 24.0 +offset_bottom = -28.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_tivgf") +expand_icon = true + +[node name="Share" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -26.0 +offset_top = -28.0 +offset_right = 24.0 +offset_bottom = 22.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_87fow") +expand_icon = true + +[node name="DPAD" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -226.0 +offset_top = -28.0 +offset_right = -176.0 +offset_bottom = 22.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_n4i6p") +expand_icon = true + +[node name="DPADDown" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -226.0 +offset_top = 22.0 +offset_right = -176.0 +offset_bottom = 72.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_eoyuo") +expand_icon = true + +[node name="DPADRight" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -176.0 +offset_top = -28.0 +offset_right = -126.0 +offset_bottom = 22.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_c660e") +expand_icon = true + +[node name="DPADLeft" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -276.0 +offset_top = -28.0 +offset_right = -226.0 +offset_bottom = 22.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_riwus") +expand_icon = true + +[node name="DPADUp" type="Button" parent="VBoxContainer/Control"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -226.0 +offset_top = -78.0 +offset_right = -176.0 +offset_bottom = -28.0 +grow_horizontal = 2 +grow_vertical = 2 +toggle_mode = true +button_group = SubResource("ButtonGroup_haylq") +icon = SubResource("Texture2D_onmvf") +expand_icon = true + +[connection signal="pressed" from="VBoxContainer/Control/LStick" to="." method="_on_l_stick_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/LStick" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/LStickClick" to="." method="_on_l_stick_click_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/LStickClick" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/RStick" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/RStick" to="." method="_on_r_stick_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/RStickClick" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/RStickClick" to="." method="_on_r_stick_click_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/LB" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/LB" to="." method="_on_lb_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/LT" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/LT" to="." method="_on_lt_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/RB" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/RB" to="." method="_on_rb_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/RT" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/RT" to="." method="_on_rt_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/A" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/A" to="." method="_on_a_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/B" to="." method="_on_b_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/B" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/X" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/X" to="." method="_on_x_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Y" to="." method="_on_y_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Y" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Select" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Select" to="." method="_on_select_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Start" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Start" to="." method="_on_start_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Home" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Home" to="." method="_on_home_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Share" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/Share" to="." method="_on_share_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPAD" to="." method="_on_dpad_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPAD" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPADDown" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPADDown" to="." method="_on_dpad_down_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPADRight" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPADRight" to="." method="_on_dpad_right_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPADLeft" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPADLeft" to="." method="_on_dpad_left_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPADUp" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VBoxContainer/Control/DPADUp" to="." method="_on_dpad_up_pressed"] diff --git a/source/addons/controller_icons/objects/path_selection/specific_path.tscn b/source/addons/controller_icons/objects/path_selection/specific_path.tscn new file mode 100644 index 0000000..32eb43c --- /dev/null +++ b/source/addons/controller_icons/objects/path_selection/specific_path.tscn @@ -0,0 +1,67 @@ +[gd_scene load_steps=2 format=3 uid="uid://d2ow6e2ba86b6"] + +[ext_resource type="Script" path="res://addons/controller_icons/objects/path_selection/SpecificPathSelector.gd" id="1_iqwfd"] + +[node name="Specific Path" type="Panel"] +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_iqwfd") + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="VBoxContainer"] +layout_mode = 2 +text = "The icon will be set to a specific asset, without any dynamic remapping." +horizontal_alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +layout_mode = 2 + +[node name="NameFilter" type="LineEdit" parent="VBoxContainer/HBoxContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +placeholder_text = "Filter by name..." +clear_button_enabled = true + +[node name="HSplitContainer" type="HSplitContainer" parent="VBoxContainer"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer/HSplitContainer"] +custom_minimum_size = Vector2(200, 0) +layout_mode = 2 +size_flags_horizontal = 0 + +[node name="BaseAssetNames" type="Tree" parent="VBoxContainer/HSplitContainer/ScrollContainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +hide_folding = true +hide_root = true + +[node name="ScrollContainer2" type="ScrollContainer" parent="VBoxContainer/HSplitContainer"] +custom_minimum_size = Vector2(200, 0) +layout_mode = 2 +size_flags_horizontal = 3 +follow_focus = true +horizontal_scroll_mode = 0 + +[node name="AssetsContainer" type="HFlowContainer" parent="VBoxContainer/HSplitContainer/ScrollContainer2"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[connection signal="text_changed" from="VBoxContainer/HBoxContainer/NameFilter" to="." method="_on_name_filter_text_changed"] +[connection signal="item_selected" from="VBoxContainer/HSplitContainer/ScrollContainer/BaseAssetNames" to="." method="_on_base_asset_names_item_selected"] diff --git a/source/addons/controller_icons/plugin.cfg b/source/addons/controller_icons/plugin.cfg new file mode 100644 index 0000000..aab60f3 --- /dev/null +++ b/source/addons/controller_icons/plugin.cfg @@ -0,0 +1,7 @@ +[plugin] + +name="Controller Icons" +description="Provides icons for all major controllers and keyboard, with automatic icon remapping." +author="rsubtil" +version="3.1.4" +script="plugin.gd" diff --git a/source/addons/controller_icons/plugin.gd b/source/addons/controller_icons/plugin.gd new file mode 100644 index 0000000..eee93f1 --- /dev/null +++ b/source/addons/controller_icons/plugin.gd @@ -0,0 +1,19 @@ +@tool +extends EditorPlugin + +var inspector_plugin : EditorInspectorPlugin + +func _enable_plugin(): + add_autoload_singleton("ControllerIcons", "res://addons/controller_icons/ControllerIcons.gd") + +func _disable_plugin(): + remove_autoload_singleton("ControllerIcons") + +func _enter_tree(): + inspector_plugin = preload("res://addons/controller_icons/objects/ControllerIconEditorInspector.gd").new() + inspector_plugin.editor_interface = get_editor_interface() + + add_inspector_plugin(inspector_plugin) + +func _exit_tree(): + remove_inspector_plugin(inspector_plugin) diff --git a/source/addons/controller_icons/plugin.gd.uid b/source/addons/controller_icons/plugin.gd.uid new file mode 100644 index 0000000..cc4fde7 --- /dev/null +++ b/source/addons/controller_icons/plugin.gd.uid @@ -0,0 +1 @@ +uid://bsqucmpq12ybj diff --git a/source/addons/controller_icons/settings.tres b/source/addons/controller_icons/settings.tres new file mode 100644 index 0000000..eebffde --- /dev/null +++ b/source/addons/controller_icons/settings.tres @@ -0,0 +1,12 @@ +[gd_resource type="Resource" script_class="ControllerSettings" load_steps=2 format=3 uid="uid://dolsrvh5w47et"] + +[ext_resource type="Script" uid="uid://dhd3vo6f4h2r" path="res://addons/controller_icons/Settings.gd" id="1"] + +[resource] +script = ExtResource("1") +joypad_fallback = 9 +joypad_deadzone = 0.5 +allow_mouse_remap = true +mouse_min_movement = 200 +custom_asset_dir = "" +custom_file_extension = "" diff --git a/source/addons/logger/logger.gd b/source/addons/logger/logger.gd index 00fbdd3..cddf1b0 100644 --- a/source/addons/logger/logger.gd +++ b/source/addons/logger/logger.gd @@ -1,26 +1,35 @@ extends CanvasLayer enum ErrTypes { NORMAL, NORMAL_RICH, WARNING, ERROR } +enum { NORMAL, NORMAL_RICH, WARNING, ERROR } const DEFAULT_DURATION: float = 5.0 +const TYPE_TITLE_COLOR: String = "floral_white"#Color.FLORAL_WHITE.to_html() @export_range(0, 1000, 1) var log_limit: int = 120 -var msg_list: PackedStringArray = [] var msg_uid: PackedInt32Array = [] +var msg_list: PackedStringArray = [] +var msgf_list: PackedStringArray = [] +var msgpf_list: PackedStringArray = [] @onready var log_label: RichTextLabel = $LogLabel func _ready() -> void: - if OS.has_feature("standalone"): - hide() - - -func print_msg(text: String, duration: float = DEFAULT_DURATION, type: ErrTypes = ErrTypes.NORMAL, color := Color.AQUA) -> void: if not OS.is_debug_build(): + hide() return - + + RenderingServer.frame_post_draw.connect(_cleanup_frame_logs) + + +func _physics_process(_delta: float) -> void: + if OS.is_debug_build(): + _cleanup_physics_frame_logs() + + +func print_msg(text: String, duration: float = DEFAULT_DURATION, type := NORMAL, color := Color.AQUA) -> void: if msg_list.size() + 1 > log_limit: if msg_list.is_empty(): # Don't do anything if the [param log_limit] is set to 0. return @@ -29,7 +38,7 @@ func print_msg(text: String, duration: float = DEFAULT_DURATION, type: ErrTypes msg_uid.remove_at(0) print_msg(text, duration, type, color) return - + var prefix: String = "" match type: ErrTypes.NORMAL_RICH: @@ -41,19 +50,20 @@ func print_msg(text: String, duration: float = DEFAULT_DURATION, type: ErrTypes push_error(text) printerr(text) prefix = str("[color=red][b]ERROR: [/b][/color]") - - # print messages into the log first before stoppingQ. - if OS.has_feature("standalone"): + + # Print messages into the log first before stopping. + if not OS.is_debug_build(): return - - text = str("%s[color=%s]%s[/color]" %[prefix, color.to_html(), text]) + + text = str("%s[color=%s]%s[/color]" % [prefix, color.to_html(), text]) msg_list.append(text) - + var timer := Timer.new() timer.one_shot = true - + timer.ignore_time_scale = true + msg_uid.append(absi(timer.get_instance_id())) - + timer.timeout.connect(func() -> void: var uid: int = msg_uid.find(absi(timer.get_instance_id())) if uid >= 0: @@ -64,14 +74,27 @@ func print_msg(text: String, duration: float = DEFAULT_DURATION, type: ErrTypes ) add_child(timer) timer.start(duration if duration >= 0.0 else DEFAULT_DURATION) - + _update_hud() +func print_msgf(text: String, in_physics: bool = false, color := Color.AQUA) -> void: + if OS.is_debug_build(): + text = str("[color=%s]%s[/color]" % [color.to_html(), text]) + + if in_physics: + msgpf_list.append(text) + else: + msgf_list.append(text) + + _update_hud() + + func clear_log() -> void: msg_list.clear() msg_uid.clear() _update_hud() + # Remove the timers. for i: Node in get_children(): if not i == log_label: @@ -81,8 +104,36 @@ func clear_log() -> void: func _update_hud() -> void: if not self.is_node_ready(): await self.ready - - var text: String = "\n".join(msg_list) if not msg_list.is_empty() else "" + + var text: String = "" + + if not msg_list.is_empty(): + text = "[color=%s]=== Normal Logs ===\n" %TYPE_TITLE_COLOR + text += "\n".join(msg_list) if not msg_list.is_empty() else "" # first regular messages. + text += "\n" + + if not msgf_list.is_empty(): + text += "[color=%s]=== Frame-Logs ===\n" %TYPE_TITLE_COLOR + text += "\n".join(msgf_list) if not msgf_list.is_empty() else "" # frame messages afterwards. + text += "\n" + + if not msgpf_list.is_empty(): + text += "[color=%s]=== Physics-Frame-Logs ===\n" %TYPE_TITLE_COLOR + text += "\n".join(msgpf_list) if not msgpf_list.is_empty() else "" # and now physics frames. + log_label.set_text(text) - if msg_list.is_empty(): + + if msg_list.is_empty() and msgf_list.is_empty() and msgpf_list.is_empty(): log_label.clear() + + +func _cleanup_frame_logs() -> void: + if not msgf_list.is_empty(): + msgf_list.clear() + _update_hud() + + +func _cleanup_physics_frame_logs() -> void: + if not msgpf_list.is_empty(): + msgpf_list.clear() + _update_hud() diff --git a/source/addons/logger/plugin.gd b/source/addons/logger/plugin.gd index 3627a9b..3c92c37 100644 --- a/source/addons/logger/plugin.gd +++ b/source/addons/logger/plugin.gd @@ -3,8 +3,8 @@ extends EditorPlugin func _enable_plugin() -> void: - add_autoload_singleton("Logger", "res://addons/logger/logger.tscn") + add_autoload_singleton("SPrint", "res://addons/logger/logger.tscn") func _disable_plugin() -> void: - remove_autoload_singleton("Logger") + remove_autoload_singleton("SPrint") diff --git a/source/addons/run-configs/editor/controls/configs_dropdown.gd.uid b/source/addons/run-configs/editor/controls/configs_dropdown.gd.uid index 127e74d..7de1e9c 100644 --- a/source/addons/run-configs/editor/controls/configs_dropdown.gd.uid +++ b/source/addons/run-configs/editor/controls/configs_dropdown.gd.uid @@ -1 +1 @@ -uid://dqc6njw4s61ip +uid://u7jd18tlgdox diff --git a/source/addons/run-configs/editor/controls/configs_editor/configs_editor.gd b/source/addons/run-configs/editor/controls/configs_editor/configs_editor.gd index 8a8467d..fc1c03c 100644 --- a/source/addons/run-configs/editor/controls/configs_editor/configs_editor.gd +++ b/source/addons/run-configs/editor/controls/configs_editor/configs_editor.gd @@ -41,7 +41,7 @@ func _ready(): name_edit.text_changed.connect(func(text): _update_value(&"name", text)) play_mode_edit.item_selected.connect(func(ind): _update_value(&"play_mode", ind)) custom_scene_edit.pressed.connect(func(): file_dialog.popup_centered_ratio()) - file_dialog.file_selected.connect(func(file): _update_value(&"custom_scene", file)) + file_dialog.file_selected.connect(func(file): _update_value(&"custom_scene", ResourceUID.id_to_text(ResourceLoader.get_resource_uid(file)))) env_edit.changed.connect(func(envs): _update_value(&"environment_variables", envs)) confirmed.connect(func(): ConfigsManager.set_configs(configs)) @@ -118,7 +118,7 @@ func _render_form(ind: int): # Play mode play_mode_edit.select(config.play_mode) # Custom scene - custom_scene_edit.text = config.custom_scene + custom_scene_edit.text = ResourceUID.get_id_path(ResourceUID.text_to_id(config.custom_scene)) if custom_scene_edit.text.is_empty(): custom_scene_edit.text = "Choose a scene..." custom_scene_edit.visible = config.play_mode == RunConfig.PlayMode.CustomScene @@ -132,8 +132,7 @@ func _update_value(property: StringName, value): elif property == &"play_mode": custom_scene_edit.visible = value == int(RunConfig.PlayMode.CustomScene) elif property == &"custom_scene": - custom_scene_edit.text = value + custom_scene_edit.text = ResourceUID.get_id_path(ResourceUID.text_to_id(value))#value var config := configs[selected] config.set(property, value) - diff --git a/source/addons/run-configs/editor/controls/configs_editor/configs_editor.gd.uid b/source/addons/run-configs/editor/controls/configs_editor/configs_editor.gd.uid index be72327..cde4957 100644 --- a/source/addons/run-configs/editor/controls/configs_editor/configs_editor.gd.uid +++ b/source/addons/run-configs/editor/controls/configs_editor/configs_editor.gd.uid @@ -1 +1 @@ -uid://lnx4u4yhkg1o +uid://dhiqk5503w0lt diff --git a/source/addons/run-configs/editor/controls/configs_editor/configs_editor.tscn b/source/addons/run-configs/editor/controls/configs_editor/configs_editor.tscn index 00793b8..a6542ec 100644 --- a/source/addons/run-configs/editor/controls/configs_editor/configs_editor.tscn +++ b/source/addons/run-configs/editor/controls/configs_editor/configs_editor.tscn @@ -1,19 +1,19 @@ [gd_scene load_steps=10 format=3 uid="uid://dso1w1uqfsxmi"] -[ext_resource type="Script" uid="uid://bcaa1qlb4eiqc" path="res://addons/run-configs/editor/controls/configs_editor/play_mode_dropdown.gd" id="1_bhvuh"] -[ext_resource type="Script" uid="uid://lnx4u4yhkg1o" path="res://addons/run-configs/editor/controls/configs_editor/configs_editor.gd" id="1_ldnip"] -[ext_resource type="Script" uid="uid://jbxwvla3sahm" path="res://addons/run-configs/editor/controls/configs_editor/env_editor.gd" id="3_2bcxm"] +[ext_resource type="Script" uid="uid://cg6ngut63jr6r" path="res://addons/run-configs/editor/controls/configs_editor/play_mode_dropdown.gd" id="1_bhvuh"] +[ext_resource type="Script" uid="uid://dhiqk5503w0lt" path="res://addons/run-configs/editor/controls/configs_editor/configs_editor.gd" id="1_ldnip"] +[ext_resource type="Script" uid="uid://bwkwi1qmjikhr" path="res://addons/run-configs/editor/controls/configs_editor/env_editor.gd" id="3_2bcxm"] [sub_resource type="Image" id="Image_pdc0p"] data = { -"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0), +"data": PackedByteArray(255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 92, 92, 127, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 255, 255, 92, 92, 127, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 127, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 92, 92, 127, 255, 92, 92, 0, 255, 92, 92, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 231, 255, 90, 90, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 90, 90, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 0, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 42, 255, 90, 90, 0, 255, 94, 94, 0, 255, 91, 91, 42, 255, 93, 93, 233, 255, 92, 92, 232, 255, 93, 93, 41, 255, 90, 90, 0, 255, 94, 94, 0, 255, 91, 91, 42, 255, 93, 93, 233, 255, 92, 92, 232, 255, 92, 92, 0, 255, 92, 92, 0, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 45, 255, 93, 93, 44, 255, 91, 91, 0, 255, 91, 91, 42, 255, 91, 91, 42, 255, 93, 93, 0, 255, 91, 91, 45, 255, 93, 93, 44, 255, 91, 91, 0, 255, 91, 91, 42, 255, 91, 91, 42, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 45, 255, 92, 92, 235, 255, 92, 92, 234, 255, 89, 89, 43, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 45, 255, 92, 92, 235, 255, 92, 92, 234, 255, 89, 89, 43, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 0, 255, 91, 91, 0, 255, 92, 92, 0, 255, 92, 92, 0, 255, 92, 92, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 91, 91, 59, 255, 92, 92, 61, 255, 92, 92, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 91, 91, 59, 255, 92, 92, 61, 255, 92, 92, 0, 255, 92, 92, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0, 255, 93, 93, 0), "format": "RGBA8", "height": 16, "mipmaps": false, "width": 16 } -[sub_resource type="ImageTexture" id="ImageTexture_hfgpw"] +[sub_resource type="ImageTexture" id="ImageTexture_dcipr"] image = SubResource("Image_pdc0p") [sub_resource type="GDScript" id="GDScript_knwq4"] @@ -60,7 +60,7 @@ script = ExtResource("1_ldnip") offset_left = 8.0 offset_top = 8.0 offset_right = 690.0 -offset_bottom = 351.0 +offset_bottom = 348.0 theme_override_constants/margin_left = 8 theme_override_constants/margin_top = 8 theme_override_constants/margin_right = 8 @@ -78,14 +78,14 @@ layout_mode = 2 unique_name_in_owner = true layout_mode = 2 tooltip_text = "Add a new config" -icon = SubResource("ImageTexture_hfgpw") +icon = SubResource("ImageTexture_dcipr") script = SubResource("GDScript_knwq4") [node name="RemoveConfig" type="Button" parent="MarginContainer/ConfigsEditor/HBoxContainer"] unique_name_in_owner = true layout_mode = 2 tooltip_text = "Remove selected config" -icon = SubResource("ImageTexture_hfgpw") +icon = SubResource("ImageTexture_dcipr") script = SubResource("GDScript_b2o0p") [node name="HSplitContainer" type="HSplitContainer" parent="MarginContainer/ConfigsEditor"] @@ -143,16 +143,16 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 -item_count = 3 selected = 0 +item_count = 3 popup/item_0/text = "Main Scene" -popup/item_0/icon = SubResource("ImageTexture_hfgpw") +popup/item_0/icon = SubResource("ImageTexture_dcipr") popup/item_0/id = 0 popup/item_1/text = "Current Scene" -popup/item_1/icon = SubResource("ImageTexture_hfgpw") +popup/item_1/icon = SubResource("ImageTexture_dcipr") popup/item_1/id = 1 popup/item_2/text = "Custom Scene" -popup/item_2/icon = SubResource("ImageTexture_hfgpw") +popup/item_2/icon = SubResource("ImageTexture_dcipr") popup/item_2/id = 2 script = ExtResource("1_bhvuh") @@ -162,7 +162,7 @@ visible = false layout_mode = 2 size_flags_horizontal = 3 text = "Choose a scene..." -icon = SubResource("ImageTexture_hfgpw") +icon = SubResource("ImageTexture_dcipr") script = SubResource("GDScript_fhb5p") [node name="Env" type="Label" parent="MarginContainer/ConfigsEditor/HSplitContainer/ScrollContainer/PanelContainer/Form"] @@ -185,7 +185,7 @@ columns = 3 layout_mode = 2 size_flags_horizontal = 8 text = "New Variable" -icon = SubResource("ImageTexture_hfgpw") +icon = SubResource("ImageTexture_dcipr") script = SubResource("GDScript_ggysl") [node name="Hint" type="Label" parent="MarginContainer/ConfigsEditor/HSplitContainer/ScrollContainer/PanelContainer"] diff --git a/source/addons/run-configs/editor/controls/configs_editor/env_editor.gd.uid b/source/addons/run-configs/editor/controls/configs_editor/env_editor.gd.uid index 029282c..7f39e0d 100644 --- a/source/addons/run-configs/editor/controls/configs_editor/env_editor.gd.uid +++ b/source/addons/run-configs/editor/controls/configs_editor/env_editor.gd.uid @@ -1 +1 @@ -uid://jbxwvla3sahm +uid://bwkwi1qmjikhr diff --git a/source/addons/run-configs/editor/controls/configs_editor/play_mode_dropdown.gd.uid b/source/addons/run-configs/editor/controls/configs_editor/play_mode_dropdown.gd.uid index 93781f7..adde620 100644 --- a/source/addons/run-configs/editor/controls/configs_editor/play_mode_dropdown.gd.uid +++ b/source/addons/run-configs/editor/controls/configs_editor/play_mode_dropdown.gd.uid @@ -1 +1 @@ -uid://bcaa1qlb4eiqc +uid://cg6ngut63jr6r diff --git a/source/addons/run-configs/editor/lib/inspector_plugin.gd b/source/addons/run-configs/editor/lib/inspector_plugin.gd index 35d22cb..cc67c92 100644 --- a/source/addons/run-configs/editor/lib/inspector_plugin.gd +++ b/source/addons/run-configs/editor/lib/inspector_plugin.gd @@ -17,5 +17,3 @@ func _can_handle(object): #add_custom_control(delete_button) # #return false - - diff --git a/source/addons/run-configs/editor/lib/inspector_plugin.gd.uid b/source/addons/run-configs/editor/lib/inspector_plugin.gd.uid index ddf3749..bc3cba9 100644 --- a/source/addons/run-configs/editor/lib/inspector_plugin.gd.uid +++ b/source/addons/run-configs/editor/lib/inspector_plugin.gd.uid @@ -1 +1 @@ -uid://b7ke22bl7wbjb +uid://bon40hdwtlrt1 diff --git a/source/addons/run-configs/editor/lib/run_configs_core.gd b/source/addons/run-configs/editor/lib/run_configs_core.gd index 08c9125..05d1e01 100644 --- a/source/addons/run-configs/editor/lib/run_configs_core.gd +++ b/source/addons/run-configs/editor/lib/run_configs_core.gd @@ -1,2 +1 @@ extends Object - diff --git a/source/addons/run-configs/editor/lib/run_configs_core.gd.uid b/source/addons/run-configs/editor/lib/run_configs_core.gd.uid index 9380f0f..1b2f171 100644 --- a/source/addons/run-configs/editor/lib/run_configs_core.gd.uid +++ b/source/addons/run-configs/editor/lib/run_configs_core.gd.uid @@ -1 +1 @@ -uid://2x1422qq2ri4 +uid://ds836xl4hmfvr diff --git a/source/addons/run-configs/editor/lib/ui_extension.gd.uid b/source/addons/run-configs/editor/lib/ui_extension.gd.uid index f437b2c..2fb2dec 100644 --- a/source/addons/run-configs/editor/lib/ui_extension.gd.uid +++ b/source/addons/run-configs/editor/lib/ui_extension.gd.uid @@ -1 +1 @@ -uid://bbesk76sfnnbb +uid://5825j6321fuo diff --git a/source/addons/run-configs/editor/plugin.gd b/source/addons/run-configs/editor/plugin.gd index 4f48ee3..d67a4b9 100644 --- a/source/addons/run-configs/editor/plugin.gd +++ b/source/addons/run-configs/editor/plugin.gd @@ -75,7 +75,16 @@ func _play_scene(): RunConfig.PlayMode.CurrentScene: EditorInterface.play_current_scene() RunConfig.PlayMode.CustomScene: - var scene := config.custom_scene + var scene: String = config.custom_scene + + if scene.begins_with("uid://"): + var uid: int = ResourceLoader.get_resource_uid(scene) + if uid == -1 or not ResourceUID.has_id(uid): + print_debug("ID '%s' does not exist." %uid) + return + + scene = ResourceUID.get_id_path(uid) + EditorInterface.play_custom_scene(scene) diff --git a/source/addons/run-configs/editor/plugin.gd.uid b/source/addons/run-configs/editor/plugin.gd.uid index 6fcfc7b..b66ffa2 100644 --- a/source/addons/run-configs/editor/plugin.gd.uid +++ b/source/addons/run-configs/editor/plugin.gd.uid @@ -1 +1 @@ -uid://ddncwkdw8ojw4 +uid://d3g8hbliy0wx0 diff --git a/source/addons/run-configs/models/run_config.gd.uid b/source/addons/run-configs/models/run_config.gd.uid index d1d222f..e4fcc18 100644 --- a/source/addons/run-configs/models/run_config.gd.uid +++ b/source/addons/run-configs/models/run_config.gd.uid @@ -1 +1 @@ -uid://cjxx8el154bw5 +uid://byy5qcousbjhx diff --git a/source/addons/run-configs/run-config-manager.gd.uid b/source/addons/run-configs/run-config-manager.gd.uid index 51f5a99..a549370 100644 --- a/source/addons/run-configs/run-config-manager.gd.uid +++ b/source/addons/run-configs/run-config-manager.gd.uid @@ -1 +1 @@ -uid://dvfrocown7eqd +uid://bn7lqhkjw6kvv diff --git a/source/assets/audio/ambient/dark_house.wav b/source/assets/audio/ambient/dark_house.wav new file mode 100644 index 0000000..231ea54 Binary files /dev/null and b/source/assets/audio/ambient/dark_house.wav differ diff --git a/source/assets/audio/ambient/dark_house.wav.import b/source/assets/audio/ambient/dark_house.wav.import new file mode 100644 index 0000000..ad49e79 --- /dev/null +++ b/source/assets/audio/ambient/dark_house.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cyxvsy5wjxhl7" +path="res://.godot/imported/dark_house.wav-e345a7ff02f69a189e29d97db0d42293.sample" + +[deps] + +source_file="res://assets/audio/ambient/dark_house.wav" +dest_files=["res://.godot/imported/dark_house.wav-e345a7ff02f69a189e29d97db0d42293.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/source/assets/materials/dev/LICENSE.txt b/source/assets/materials/dev/LICENSE.txt new file mode 100644 index 0000000..839f104 --- /dev/null +++ b/source/assets/materials/dev/LICENSE.txt @@ -0,0 +1,23 @@ + + + Prototype Textures 1.0 + + Created/distributed by Kenney (www.kenney.nl) + Creation date: 08-04-2020 + + ------------------------------ + + License: (Creative Commons Zero, CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + This content is free to use in personal, educational and commercial projects. + Support us by crediting Kenney or www.kenney.nl (this is not mandatory) + + ------------------------------ + + Donate: http://support.kenney.nl + Request: http://request.kenney.nl + Patreon: http://patreon.com/kenney/ + + Follow on Twitter for updates: + http://twitter.com/KenneyNL diff --git a/source/assets/materials/dev/dark/dark_01.tres b/source/assets/materials/dev/dark/dark_01.tres new file mode 100644 index 0000000..abfea70 --- /dev/null +++ b/source/assets/materials/dev/dark/dark_01.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://c38215ysnknyk"] + +[ext_resource type="Texture2D" uid="uid://d4m1r5bjq4lbe" path="res://addons/kenney_prototype_textures/dark/texture_01.png" id="1_38xbi"] + +[resource] +albedo_texture = ExtResource("1_38xbi") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/dark/dark_02.tres b/source/assets/materials/dev/dark/dark_02.tres new file mode 100644 index 0000000..56cac43 --- /dev/null +++ b/source/assets/materials/dev/dark/dark_02.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://olxux7okrb2b"] + +[ext_resource type="Texture2D" uid="uid://c8a1v7bw3jjca" path="res://addons/kenney_prototype_textures/dark/texture_02.png" id="1_jl162"] + +[resource] +albedo_texture = ExtResource("1_jl162") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/dark/dark_03.tres b/source/assets/materials/dev/dark/dark_03.tres new file mode 100644 index 0000000..ea660cf --- /dev/null +++ b/source/assets/materials/dev/dark/dark_03.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://blkew2hja11cj"] + +[ext_resource type="Texture2D" uid="uid://crgcp76xdixb" path="res://addons/kenney_prototype_textures/dark/texture_03.png" id="1_t7bo5"] + +[resource] +albedo_texture = ExtResource("1_t7bo5") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/dark/dark_04.tres b/source/assets/materials/dev/dark/dark_04.tres new file mode 100644 index 0000000..91bbb4b --- /dev/null +++ b/source/assets/materials/dev/dark/dark_04.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://biu40ot7f55no"] + +[ext_resource type="Texture2D" uid="uid://djftxgnhedhk2" path="res://addons/kenney_prototype_textures/dark/texture_05.png" id="1_l8w0p"] + +[resource] +albedo_texture = ExtResource("1_l8w0p") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/dark/dark_05.tres b/source/assets/materials/dev/dark/dark_05.tres new file mode 100644 index 0000000..be37937 --- /dev/null +++ b/source/assets/materials/dev/dark/dark_05.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dto0mke6wp060"] + +[ext_resource type="Texture2D" uid="uid://d4m1r5bjq4lbe" path="res://assets/materials/dev/dark/texture_01.png" id="1_c2346"] + +[resource] +albedo_texture = ExtResource("1_c2346") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/dark/texture_01.png b/source/assets/materials/dev/dark/texture_01.png new file mode 100644 index 0000000..14a9811 Binary files /dev/null and b/source/assets/materials/dev/dark/texture_01.png differ diff --git a/source/assets/materials/dev/dark/texture_01.png.import b/source/assets/materials/dev/dark/texture_01.png.import new file mode 100644 index 0000000..5816e10 --- /dev/null +++ b/source/assets/materials/dev/dark/texture_01.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4m1r5bjq4lbe" +path.s3tc="res://.godot/imported/texture_01.png-aba0e9918c8eba6eb8a49d92ee9100af.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_01.png" +dest_files=["res://.godot/imported/texture_01.png-aba0e9918c8eba6eb8a49d92ee9100af.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/dark/texture_02.png b/source/assets/materials/dev/dark/texture_02.png new file mode 100644 index 0000000..d6a2a21 Binary files /dev/null and b/source/assets/materials/dev/dark/texture_02.png differ diff --git a/source/assets/materials/dev/dark/texture_02.png.import b/source/assets/materials/dev/dark/texture_02.png.import new file mode 100644 index 0000000..2a5484c --- /dev/null +++ b/source/assets/materials/dev/dark/texture_02.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8a1v7bw3jjca" +path.s3tc="res://.godot/imported/texture_02.png-a00a8d9ba2d4c105cb18262d7442c588.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_02.png" +dest_files=["res://.godot/imported/texture_02.png-a00a8d9ba2d4c105cb18262d7442c588.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/dark/texture_03.png b/source/assets/materials/dev/dark/texture_03.png new file mode 100644 index 0000000..4aa482d Binary files /dev/null and b/source/assets/materials/dev/dark/texture_03.png differ diff --git a/source/assets/materials/dev/dark/texture_03.png.import b/source/assets/materials/dev/dark/texture_03.png.import new file mode 100644 index 0000000..5acefff --- /dev/null +++ b/source/assets/materials/dev/dark/texture_03.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crgcp76xdixb" +path.s3tc="res://.godot/imported/texture_03.png-e607e9013e8c80d0f4f75e92f7227c73.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_03.png" +dest_files=["res://.godot/imported/texture_03.png-e607e9013e8c80d0f4f75e92f7227c73.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/dark/texture_04.png b/source/assets/materials/dev/dark/texture_04.png new file mode 100644 index 0000000..1e0a8f9 Binary files /dev/null and b/source/assets/materials/dev/dark/texture_04.png differ diff --git a/source/assets/materials/dev/dark/texture_04.png.import b/source/assets/materials/dev/dark/texture_04.png.import new file mode 100644 index 0000000..5a0a7df --- /dev/null +++ b/source/assets/materials/dev/dark/texture_04.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wb1xv8sdexfr" +path="res://.godot/imported/texture_04.png-4b09c21ec68265a6294a378819b8fe04.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_04.png" +dest_files=["res://.godot/imported/texture_04.png-4b09c21ec68265a6294a378819b8fe04.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/dark/texture_05.png b/source/assets/materials/dev/dark/texture_05.png new file mode 100644 index 0000000..cd01f8c Binary files /dev/null and b/source/assets/materials/dev/dark/texture_05.png differ diff --git a/source/assets/materials/dev/dark/texture_05.png.import b/source/assets/materials/dev/dark/texture_05.png.import new file mode 100644 index 0000000..7e3acd4 --- /dev/null +++ b/source/assets/materials/dev/dark/texture_05.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djftxgnhedhk2" +path.s3tc="res://.godot/imported/texture_05.png-9b81e05a6c20f434431c7a0bfba59478.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_05.png" +dest_files=["res://.godot/imported/texture_05.png-9b81e05a6c20f434431c7a0bfba59478.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/dark/texture_06.png b/source/assets/materials/dev/dark/texture_06.png new file mode 100644 index 0000000..4e8f53c Binary files /dev/null and b/source/assets/materials/dev/dark/texture_06.png differ diff --git a/source/assets/materials/dev/dark/texture_06.png.import b/source/assets/materials/dev/dark/texture_06.png.import new file mode 100644 index 0000000..6c50406 --- /dev/null +++ b/source/assets/materials/dev/dark/texture_06.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsbjfpq4h186s" +path="res://.godot/imported/texture_06.png-a8ec88563536d745d9aff5c8c5f332d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_06.png" +dest_files=["res://.godot/imported/texture_06.png-a8ec88563536d745d9aff5c8c5f332d9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/dark/texture_07.png b/source/assets/materials/dev/dark/texture_07.png new file mode 100644 index 0000000..d00973e Binary files /dev/null and b/source/assets/materials/dev/dark/texture_07.png differ diff --git a/source/assets/materials/dev/dark/texture_07.png.import b/source/assets/materials/dev/dark/texture_07.png.import new file mode 100644 index 0000000..2fc0f9c --- /dev/null +++ b/source/assets/materials/dev/dark/texture_07.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://imys240py8qq" +path="res://.godot/imported/texture_07.png-cbaaf9a180c727bc51e5f113361e34ae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_07.png" +dest_files=["res://.godot/imported/texture_07.png-cbaaf9a180c727bc51e5f113361e34ae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/dark/texture_08.png b/source/assets/materials/dev/dark/texture_08.png new file mode 100644 index 0000000..72dd6c0 Binary files /dev/null and b/source/assets/materials/dev/dark/texture_08.png differ diff --git a/source/assets/materials/dev/dark/texture_08.png.import b/source/assets/materials/dev/dark/texture_08.png.import new file mode 100644 index 0000000..dc71988 --- /dev/null +++ b/source/assets/materials/dev/dark/texture_08.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnbq4ggpxwn46" +path="res://.godot/imported/texture_08.png-30cb1f02a3c45adba715736c2315d87f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_08.png" +dest_files=["res://.godot/imported/texture_08.png-30cb1f02a3c45adba715736c2315d87f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/dark/texture_09.png b/source/assets/materials/dev/dark/texture_09.png new file mode 100644 index 0000000..e81fa1a Binary files /dev/null and b/source/assets/materials/dev/dark/texture_09.png differ diff --git a/source/assets/materials/dev/dark/texture_09.png.import b/source/assets/materials/dev/dark/texture_09.png.import new file mode 100644 index 0000000..8605935 --- /dev/null +++ b/source/assets/materials/dev/dark/texture_09.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bytpcdyiq6qa4" +path="res://.godot/imported/texture_09.png-6a18a0724155808d3e35320c84f7145b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_09.png" +dest_files=["res://.godot/imported/texture_09.png-6a18a0724155808d3e35320c84f7145b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/dark/texture_10.png b/source/assets/materials/dev/dark/texture_10.png new file mode 100644 index 0000000..682088c Binary files /dev/null and b/source/assets/materials/dev/dark/texture_10.png differ diff --git a/source/assets/materials/dev/dark/texture_10.png.import b/source/assets/materials/dev/dark/texture_10.png.import new file mode 100644 index 0000000..4e0ec65 --- /dev/null +++ b/source/assets/materials/dev/dark/texture_10.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dcyqa0jit74px" +path="res://.godot/imported/texture_10.png-1802701632e04bcdd1a75a2d5f86ec20.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_10.png" +dest_files=["res://.godot/imported/texture_10.png-1802701632e04bcdd1a75a2d5f86ec20.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/dark/texture_11.png b/source/assets/materials/dev/dark/texture_11.png new file mode 100644 index 0000000..f0571a1 Binary files /dev/null and b/source/assets/materials/dev/dark/texture_11.png differ diff --git a/source/assets/materials/dev/dark/texture_11.png.import b/source/assets/materials/dev/dark/texture_11.png.import new file mode 100644 index 0000000..cd7460d --- /dev/null +++ b/source/assets/materials/dev/dark/texture_11.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vh6eyixeolo3" +path="res://.godot/imported/texture_11.png-e7d21c3c0fafae0cca2f0eb658085580.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_11.png" +dest_files=["res://.godot/imported/texture_11.png-e7d21c3c0fafae0cca2f0eb658085580.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/dark/texture_12.png b/source/assets/materials/dev/dark/texture_12.png new file mode 100644 index 0000000..b797dbe Binary files /dev/null and b/source/assets/materials/dev/dark/texture_12.png differ diff --git a/source/assets/materials/dev/dark/texture_12.png.import b/source/assets/materials/dev/dark/texture_12.png.import new file mode 100644 index 0000000..0810100 --- /dev/null +++ b/source/assets/materials/dev/dark/texture_12.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxuwgnmqxuvys" +path="res://.godot/imported/texture_12.png-8293507bcff86e8eecd83a69c0c071cd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_12.png" +dest_files=["res://.godot/imported/texture_12.png-8293507bcff86e8eecd83a69c0c071cd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/dark/texture_13.png b/source/assets/materials/dev/dark/texture_13.png new file mode 100644 index 0000000..6e8aff4 Binary files /dev/null and b/source/assets/materials/dev/dark/texture_13.png differ diff --git a/source/assets/materials/dev/dark/texture_13.png.import b/source/assets/materials/dev/dark/texture_13.png.import new file mode 100644 index 0000000..c10edcb --- /dev/null +++ b/source/assets/materials/dev/dark/texture_13.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dw3af4ir446rk" +path="res://.godot/imported/texture_13.png-0710b1716fe2c46a85d4d21fb66c969c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/dark/texture_13.png" +dest_files=["res://.godot/imported/texture_13.png-0710b1716fe2c46a85d4d21fb66c969c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/orange/orange_01.tres b/source/assets/materials/dev/orange/orange_01.tres new file mode 100644 index 0000000..336047a --- /dev/null +++ b/source/assets/materials/dev/orange/orange_01.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://bahys2ntbh2ap"] + +[ext_resource type="Texture2D" uid="uid://g26nr5u8081t" path="res://addons/kenney_prototype_textures/orange/texture_01.png" id="1_vb3n0"] + +[resource] +albedo_texture = ExtResource("1_vb3n0") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/orange/orange_02.tres b/source/assets/materials/dev/orange/orange_02.tres new file mode 100644 index 0000000..00730b0 --- /dev/null +++ b/source/assets/materials/dev/orange/orange_02.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://r527wj0qbkvs"] + +[ext_resource type="Texture2D" uid="uid://12e0onm52r6b" path="res://addons/kenney_prototype_textures/orange/texture_02.png" id="1_4qkig"] + +[resource] +albedo_texture = ExtResource("1_4qkig") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/orange/orange_03.tres b/source/assets/materials/dev/orange/orange_03.tres new file mode 100644 index 0000000..d2261d8 --- /dev/null +++ b/source/assets/materials/dev/orange/orange_03.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://diwfj3ywaniq5"] + +[ext_resource type="Texture2D" uid="uid://eemth84vpstv" path="res://addons/kenney_prototype_textures/orange/texture_03.png" id="1_fipy7"] + +[resource] +albedo_texture = ExtResource("1_fipy7") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/orange/orange_04.tres b/source/assets/materials/dev/orange/orange_04.tres new file mode 100644 index 0000000..3362851 --- /dev/null +++ b/source/assets/materials/dev/orange/orange_04.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://bwbwqb84pmji3"] + +[ext_resource type="Texture2D" uid="uid://bgj70nov05sqo" path="res://addons/kenney_prototype_textures/orange/texture_04.png" id="1_mje5s"] + +[resource] +albedo_texture = ExtResource("1_mje5s") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/orange/orange_05.tres b/source/assets/materials/dev/orange/orange_05.tres new file mode 100644 index 0000000..c6949e8 --- /dev/null +++ b/source/assets/materials/dev/orange/orange_05.tres @@ -0,0 +1,8 @@ +[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://d02jll28bgkap"] + +[ext_resource type="Texture2D" uid="uid://5erjqyy4c7xn" path="res://addons/kenney_prototype_textures/orange/texture_05.png" id="1_phgo0"] + +[resource] +albedo_texture = ExtResource("1_phgo0") +uv1_triplanar = true +uv1_world_triplanar = true diff --git a/source/assets/materials/dev/orange/texture_01.png b/source/assets/materials/dev/orange/texture_01.png new file mode 100644 index 0000000..3eda5cd Binary files /dev/null and b/source/assets/materials/dev/orange/texture_01.png differ diff --git a/source/assets/materials/dev/orange/texture_01.png.import b/source/assets/materials/dev/orange/texture_01.png.import new file mode 100644 index 0000000..2fcb637 --- /dev/null +++ b/source/assets/materials/dev/orange/texture_01.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://g26nr5u8081t" +path.s3tc="res://.godot/imported/texture_01.png-a83d10648c428132d3ced0afde3c20c3.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_01.png" +dest_files=["res://.godot/imported/texture_01.png-a83d10648c428132d3ced0afde3c20c3.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/orange/texture_02.png b/source/assets/materials/dev/orange/texture_02.png new file mode 100644 index 0000000..1460f2b Binary files /dev/null and b/source/assets/materials/dev/orange/texture_02.png differ diff --git a/source/assets/materials/dev/orange/texture_02.png.import b/source/assets/materials/dev/orange/texture_02.png.import new file mode 100644 index 0000000..2ecb986 --- /dev/null +++ b/source/assets/materials/dev/orange/texture_02.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://12e0onm52r6b" +path.s3tc="res://.godot/imported/texture_02.png-4a107b0a5def97872afcd9f45c568e3d.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_02.png" +dest_files=["res://.godot/imported/texture_02.png-4a107b0a5def97872afcd9f45c568e3d.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/orange/texture_03.png b/source/assets/materials/dev/orange/texture_03.png new file mode 100644 index 0000000..09975cc Binary files /dev/null and b/source/assets/materials/dev/orange/texture_03.png differ diff --git a/source/assets/materials/dev/orange/texture_03.png.import b/source/assets/materials/dev/orange/texture_03.png.import new file mode 100644 index 0000000..87aa96a --- /dev/null +++ b/source/assets/materials/dev/orange/texture_03.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://eemth84vpstv" +path.s3tc="res://.godot/imported/texture_03.png-816b5c1ffbc63378953f424af9a1f766.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_03.png" +dest_files=["res://.godot/imported/texture_03.png-816b5c1ffbc63378953f424af9a1f766.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/orange/texture_04.png b/source/assets/materials/dev/orange/texture_04.png new file mode 100644 index 0000000..8ac9527 Binary files /dev/null and b/source/assets/materials/dev/orange/texture_04.png differ diff --git a/source/assets/materials/dev/orange/texture_04.png.import b/source/assets/materials/dev/orange/texture_04.png.import new file mode 100644 index 0000000..aba8f03 --- /dev/null +++ b/source/assets/materials/dev/orange/texture_04.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgj70nov05sqo" +path.s3tc="res://.godot/imported/texture_04.png-42aebed5b9811bdf952fb77522785efa.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_04.png" +dest_files=["res://.godot/imported/texture_04.png-42aebed5b9811bdf952fb77522785efa.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/orange/texture_05.png b/source/assets/materials/dev/orange/texture_05.png new file mode 100644 index 0000000..e7bb6d9 Binary files /dev/null and b/source/assets/materials/dev/orange/texture_05.png differ diff --git a/source/assets/materials/dev/orange/texture_05.png.import b/source/assets/materials/dev/orange/texture_05.png.import new file mode 100644 index 0000000..1505793 --- /dev/null +++ b/source/assets/materials/dev/orange/texture_05.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5erjqyy4c7xn" +path.s3tc="res://.godot/imported/texture_05.png-99a10a21ae17d05fe7f350625de8a43d.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_05.png" +dest_files=["res://.godot/imported/texture_05.png-99a10a21ae17d05fe7f350625de8a43d.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/source/assets/materials/dev/orange/texture_06.png b/source/assets/materials/dev/orange/texture_06.png new file mode 100644 index 0000000..2a18cf7 Binary files /dev/null and b/source/assets/materials/dev/orange/texture_06.png differ diff --git a/source/assets/materials/dev/orange/texture_06.png.import b/source/assets/materials/dev/orange/texture_06.png.import new file mode 100644 index 0000000..66ae8f3 --- /dev/null +++ b/source/assets/materials/dev/orange/texture_06.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bj2b41igq57pc" +path="res://.godot/imported/texture_06.png-59a1b8c604d5c09032a492851d966aeb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_06.png" +dest_files=["res://.godot/imported/texture_06.png-59a1b8c604d5c09032a492851d966aeb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/orange/texture_07.png b/source/assets/materials/dev/orange/texture_07.png new file mode 100644 index 0000000..0d1f229 Binary files /dev/null and b/source/assets/materials/dev/orange/texture_07.png differ diff --git a/source/assets/materials/dev/orange/texture_07.png.import b/source/assets/materials/dev/orange/texture_07.png.import new file mode 100644 index 0000000..750e9fd --- /dev/null +++ b/source/assets/materials/dev/orange/texture_07.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmhvs26rt627e" +path="res://.godot/imported/texture_07.png-72be83eae1dd12c8b142fbc9e83245f0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_07.png" +dest_files=["res://.godot/imported/texture_07.png-72be83eae1dd12c8b142fbc9e83245f0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/orange/texture_08.png b/source/assets/materials/dev/orange/texture_08.png new file mode 100644 index 0000000..b53b56d Binary files /dev/null and b/source/assets/materials/dev/orange/texture_08.png differ diff --git a/source/assets/materials/dev/orange/texture_08.png.import b/source/assets/materials/dev/orange/texture_08.png.import new file mode 100644 index 0000000..e2c4f96 --- /dev/null +++ b/source/assets/materials/dev/orange/texture_08.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bowqjyrh46yel" +path="res://.godot/imported/texture_08.png-b6480a2f84c30cdf86964bd05af149f8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_08.png" +dest_files=["res://.godot/imported/texture_08.png-b6480a2f84c30cdf86964bd05af149f8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/orange/texture_09.png b/source/assets/materials/dev/orange/texture_09.png new file mode 100644 index 0000000..a7f8b0b Binary files /dev/null and b/source/assets/materials/dev/orange/texture_09.png differ diff --git a/source/assets/materials/dev/orange/texture_09.png.import b/source/assets/materials/dev/orange/texture_09.png.import new file mode 100644 index 0000000..b1cfd77 --- /dev/null +++ b/source/assets/materials/dev/orange/texture_09.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7ip1bo27jmj5" +path="res://.godot/imported/texture_09.png-a543b2fa3eaac0d66ad0dd5a160c496e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_09.png" +dest_files=["res://.godot/imported/texture_09.png-a543b2fa3eaac0d66ad0dd5a160c496e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/orange/texture_10.png b/source/assets/materials/dev/orange/texture_10.png new file mode 100644 index 0000000..979733a Binary files /dev/null and b/source/assets/materials/dev/orange/texture_10.png differ diff --git a/source/assets/materials/dev/orange/texture_10.png.import b/source/assets/materials/dev/orange/texture_10.png.import new file mode 100644 index 0000000..7a6536f --- /dev/null +++ b/source/assets/materials/dev/orange/texture_10.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dowjbhuwr3ubr" +path="res://.godot/imported/texture_10.png-6bd09999e93867d6507a3e15538ac1b3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_10.png" +dest_files=["res://.godot/imported/texture_10.png-6bd09999e93867d6507a3e15538ac1b3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/orange/texture_11.png b/source/assets/materials/dev/orange/texture_11.png new file mode 100644 index 0000000..d52081b Binary files /dev/null and b/source/assets/materials/dev/orange/texture_11.png differ diff --git a/source/assets/materials/dev/orange/texture_11.png.import b/source/assets/materials/dev/orange/texture_11.png.import new file mode 100644 index 0000000..6a882c3 --- /dev/null +++ b/source/assets/materials/dev/orange/texture_11.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bntq0gx2lsj6s" +path="res://.godot/imported/texture_11.png-42ae2f3371587daf8507f97be48e4f42.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_11.png" +dest_files=["res://.godot/imported/texture_11.png-42ae2f3371587daf8507f97be48e4f42.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/orange/texture_12.png b/source/assets/materials/dev/orange/texture_12.png new file mode 100644 index 0000000..b7e5781 Binary files /dev/null and b/source/assets/materials/dev/orange/texture_12.png differ diff --git a/source/assets/materials/dev/orange/texture_12.png.import b/source/assets/materials/dev/orange/texture_12.png.import new file mode 100644 index 0000000..ee333bf --- /dev/null +++ b/source/assets/materials/dev/orange/texture_12.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://di17m0sbxmjt0" +path="res://.godot/imported/texture_12.png-77508d1031aa0e73e1271b7776f2aeaf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_12.png" +dest_files=["res://.godot/imported/texture_12.png-77508d1031aa0e73e1271b7776f2aeaf.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/assets/materials/dev/orange/texture_13.png b/source/assets/materials/dev/orange/texture_13.png new file mode 100644 index 0000000..57dba8c Binary files /dev/null and b/source/assets/materials/dev/orange/texture_13.png differ diff --git a/source/assets/materials/dev/orange/texture_13.png.import b/source/assets/materials/dev/orange/texture_13.png.import new file mode 100644 index 0000000..4bc89db --- /dev/null +++ b/source/assets/materials/dev/orange/texture_13.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://damricmnd3fbk" +path="res://.godot/imported/texture_13.png-928bf04c1a58dcda750f2f2ddb0720b1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/materials/dev/orange/texture_13.png" +dest_files=["res://.godot/imported/texture_13.png-928bf04c1a58dcda750f2f2ddb0720b1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/source/components/characters/player/player_character.gd b/source/components/characters/player/player_character.gd deleted file mode 100644 index 59f125f..0000000 --- a/source/components/characters/player/player_character.gd +++ /dev/null @@ -1,75 +0,0 @@ -class_name PlayerCharacter -extends CharacterBase3D - - -const ACTION_RUN: StringName = &"run" -const ACTION_JUMP: StringName = &"jump" -const ACTION_MOVE_LEFT: StringName = &"move_left" -const ACTION_MOVE_RIGHT: StringName = &"move_right" -const ACTION_MOVE_FORWARD: StringName = &"move_forward" -const ACTION_MOVE_BACKWARD: StringName = &"move_backward" - -var has_control: bool = true - -@onready var head: GameCamera3D = $Head - - -func _ready() -> void: - GameGlobals.player = self - - if not get_tree().root.is_node_ready(): - await get_tree().root.ready - - var spawn_point := PlayerSpawnPoint.get_spawn_point_by_index(GameGlobals.spawn_index) - - if is_instance_valid(spawn_point): - global_position = spawn_point.global_position - head.global_rotation = spawn_point.global_rotation - - -func _physics_process(delta: float) -> void: - # Add the gravity. - if not is_on_floor(): - apply_gravity(delta) - - if not has_control: - move(Vector3.ZERO, delta) - move_and_slide() - return - - # Handle jump. - if Input.is_action_just_pressed(ACTION_JUMP) and is_on_floor(): - jump() - - var input_dir: Vector3 = get_input_direction() - movement_direction = input_dir.normalized() - - # Rotate the movement direction based on the cameras orientation. - movement_direction = movement_direction.rotated(Vector3.UP, head.global_rotation.y) - - speed = get_desired_speed() * input_dir.length() - - move(movement_direction, delta) - - move_and_slide() - - -func apply_gravity(delta: float) -> void: - super(delta) - - -func get_input_direction() -> Vector3: - if not InputManager.window_focused(): - return Vector3.ZERO - - var input_dir := Input.get_vector(ACTION_MOVE_LEFT, ACTION_MOVE_RIGHT, ACTION_MOVE_FORWARD, ACTION_MOVE_BACKWARD) - var direction: Vector3 = (transform.basis * Vector3(input_dir.x, 1, input_dir.y))#.normalized() - direction.y = 0.0 - return direction - - -func get_desired_speed() -> float: - if Input.is_action_pressed(ACTION_RUN): - return movement.running_speed if is_on_floor() else movement.air_running_speed - - return movement.walking_speed if is_on_floor() else movement.air_walking_speed diff --git a/source/components/characters/player/player_character.tscn b/source/components/characters/player/player_character.tscn deleted file mode 100644 index 6f6e4bf..0000000 --- a/source/components/characters/player/player_character.tscn +++ /dev/null @@ -1,50 +0,0 @@ -[gd_scene load_steps=7 format=3 uid="uid://clhy3kiceqf2o"] - -[ext_resource type="Script" uid="uid://day6rhxicaxqf" path="res://components/characters/player/player_character.gd" id="1_hqu6r"] -[ext_resource type="Script" uid="uid://dsjlv8midt2g2" path="res://components/characters/character_movement_base.gd" id="2_1ixuj"] -[ext_resource type="Script" uid="uid://2y3gnaqtrfnx" path="res://components/characters/player/head.gd" id="2_fjt7c"] -[ext_resource type="Script" uid="uid://nuwb55sbveaf" path="res://components/characters/common/footstep_component.gd" id="4_vq0uu"] - -[sub_resource type="Resource" id="Resource_vq0uu"] -script = ExtResource("2_1ixuj") -jump_height = 0.25 -walking_speed = 3.5 -air_walking_speed = 3.75 -running_speed = 5.5 -air_running_speed = 6.0 -max_turning_speed = 70.0 -max_air_turning_speed = 10.0 -max_acceleration = 30.0 -max_air_acceleration = 10.0 -max_friction = 20.0 -max_air_friction = 10.0 -use_default_physics_gravity = true -gravity = 9.8 -gravity_check_margin = 0.05 -rise_gravity_multiplier = 1.0 -peak_gravity_multiplier = 0.3 -fall_gravity_multiplier = 1.5 -metadata/_custom_type_script = "uid://dsjlv8midt2g2" - -[sub_resource type="CylinderShape3D" id="CylinderShape3D_fjt7c"] - -[node name="PlayerCharacter" type="CharacterBody3D"] -script = ExtResource("1_hqu6r") -movement = SubResource("Resource_vq0uu") -metadata/_custom_type_script = "uid://day6rhxicaxqf" - -[node name="CollisionShape3D" type="CollisionShape3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) -shape = SubResource("CylinderShape3D_fjt7c") - -[node name="Head" type="Node3D" parent="." node_paths=PackedStringArray("camera")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.8, 0) -script = ExtResource("2_fjt7c") -camera = NodePath("Camera3D") - -[node name="Camera3D" type="Camera3D" parent="Head"] -fov = 85.0 - -[node name="FootstepComponent" type="Node" parent="." node_paths=PackedStringArray("character")] -script = ExtResource("4_vq0uu") -character = NodePath("..") diff --git a/source/components/general/player_spawn_point.gd b/source/components/general/player_spawn_point.gd deleted file mode 100644 index fe7ec42..0000000 --- a/source/components/general/player_spawn_point.gd +++ /dev/null @@ -1,103 +0,0 @@ -@tool -class_name PlayerSpawnPoint -extends Marker3D - -@export var spawn_index: int = 0: set = set_spawn_index -@export_tool_button("Set unique index") var set_unique_index: Callable = func() -> void: - for spawn_point: PlayerSpawnPoint in spawn_points: - if spawn_point == self: - continue - - if spawn_point.spawn_index == spawn_index: - set_spawn_index(spawn_index + 1) - set_unique_index.call() - return - - update_configuration_warnings() -@export var editor_auto_assign_unique_id: bool = true - -static var spawn_points: Array[PlayerSpawnPoint] = [] -var idx_label: Label3D -var config_warnings_hint: Label3D - - -func _init() -> void: - if Engine.is_editor_hint(): - var player_scene: PackedScene = load("res://components/characters/player/player_character.tscn") - add_child(player_scene.instantiate(), false, Node.INTERNAL_MODE_FRONT) - - # Setup labels. - idx_label = Label3D.new() - idx_label.billboard = BaseMaterial3D.BILLBOARD_ENABLED - idx_label.shaded = false - idx_label.font_size = 64 - add_child(idx_label, false, Node.INTERNAL_MODE_FRONT) - idx_label.position.y = 1.8 - set_spawn_index(spawn_index) - - config_warnings_hint = Label3D.new() - config_warnings_hint.billboard = BaseMaterial3D.BILLBOARD_ENABLED - config_warnings_hint.shaded = false - config_warnings_hint.no_depth_test = true - config_warnings_hint.fixed_size = true - config_warnings_hint.text = "!" - config_warnings_hint.modulate = Color.RED - add_child(config_warnings_hint, false, Node.INTERNAL_MODE_FRONT) - config_warnings_hint.position.y = 1.0 - - var tween: Tween = create_tween().set_loops() - tween.tween_property(config_warnings_hint, ^"scale", Vector3.ONE * 1.5, 0.075) - tween.tween_property(config_warnings_hint, ^"scale", Vector3.ONE * 1.0, 0.075) - - update_configuration_warnings() - - -func _enter_tree() -> void: - if not spawn_points.has(self): - spawn_points.append(self) - - if editor_auto_assign_unique_id and Engine.is_editor_hint(): - set_unique_index.call_deferred() - - -func _exit_tree() -> void: - spawn_points.erase(self) - - -func set_spawn_index(index: int) -> void: - spawn_index = index - update_configuration_warnings() - - if is_instance_valid(idx_label): - idx_label.text = str(spawn_index) - - -func make_current(do_autosave: bool = true) -> void: - GameGlobals.spawn_index = spawn_index - - if do_autosave: - SaveManager.save_game() - - -static func get_spawn_point_by_index(index: int) -> PlayerSpawnPoint: - for spawn_point: PlayerSpawnPoint in PlayerSpawnPoint.spawn_points: - if spawn_point.spawn_index == index: - return spawn_point - - return null - - -func _get_configuration_warnings() -> PackedStringArray: - var warnings: PackedStringArray = [] - - for spawn_point: PlayerSpawnPoint in spawn_points: - if spawn_point.spawn_index == spawn_index and spawn_point != self: - warnings.append(str(spawn_point, " has the same spawn index as us.")) - spawn_point.config_warnings_hint.show() - - spawn_point.update_configuration_warnings() - - if warnings.is_empty(): - config_warnings_hint.hide() - - return warnings diff --git a/source/components/hazards/saw/saw.gd b/source/components/hazards/saw/saw.gd deleted file mode 100644 index 5c55721..0000000 --- a/source/components/hazards/saw/saw.gd +++ /dev/null @@ -1,14 +0,0 @@ -extends Node3D - -@export var spin_speed: float = 7.0 - -@onready var saw_skin: Node3D = $SawSkin - - -func _ready() -> void: - saw_skin.rotation.z = randf() * TAU - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _physics_process(delta: float) -> void: - saw_skin.rotate_z(spin_speed * delta) diff --git a/source/components/hazards/saw/saw.tscn b/source/components/hazards/saw/saw.tscn deleted file mode 100644 index 27c3352..0000000 --- a/source/components/hazards/saw/saw.tscn +++ /dev/null @@ -1,9 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://c0jearfhlqcvr"] - -[ext_resource type="Script" uid="uid://cd1p1fxbdglwu" path="res://components/hazards/saw/saw.gd" id="1_bec0m"] -[ext_resource type="PackedScene" uid="uid://u56f1ks46ob6" path="res://components/hazards/saw/saw.blend" id="1_eq5lu"] - -[node name="Saw" type="Node3D"] -script = ExtResource("1_bec0m") - -[node name="SawSkin" parent="." instance=ExtResource("1_eq5lu")] diff --git a/source/default_bus_layout.tres b/source/default_bus_layout.tres new file mode 100644 index 0000000..73dabbb --- /dev/null +++ b/source/default_bus_layout.tres @@ -0,0 +1,21 @@ +[gd_resource type="AudioBusLayout" format=3 uid="uid://qn6urhh6ioob"] + +[resource] +bus/1/name = &"SFX" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.0 +bus/1/send = &"Master" +bus/2/name = &"Music" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"Master" +bus/3/name = &"Ambient" +bus/3/solo = false +bus/3/mute = false +bus/3/bypass_fx = false +bus/3/volume_db = 0.0 +bus/3/send = &"Master" diff --git a/source/export_presets.cfg b/source/export_presets.cfg new file mode 100644 index 0000000..6a14207 --- /dev/null +++ b/source/export_presets.cfg @@ -0,0 +1,67 @@ +[preset.0] + +name="Windows Desktop" +platform="Windows Desktop" +runnable=true +advanced_options=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false +shader_baker/enabled=true +binary_format/architecture="x86_64" +codesign/enable=false +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PackedStringArray() +application/modify_resources=true +application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" +application/export_angle=0 +application/export_d3d12=0 +application/d3d12_agility_sdk_multiarch=true +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue +Remove-Item -Recurse -Force '{temp_dir}'" diff --git a/source/game.gd b/source/game.gd deleted file mode 100644 index 8509bb8..0000000 --- a/source/game.gd +++ /dev/null @@ -1,8 +0,0 @@ -extends Node - - -# Called when the node enters the scene tree for the first time. -func _ready() -> void: - Input.mouse_mode = Input.MOUSE_MODE_CAPTURED - - AudioManager.play_audio(preload("res://Dark House.wav"), AudioManager.AMBIENCE) diff --git a/source/game.tscn b/source/game.tscn deleted file mode 100644 index 6b7d9f2..0000000 --- a/source/game.tscn +++ /dev/null @@ -1,83 +0,0 @@ -[gd_scene load_steps=7 format=3 uid="uid://s7cw6ulb7kh7"] - -[ext_resource type="PackedScene" uid="uid://clhy3kiceqf2o" path="res://components/characters/player/player_character.tscn" id="1_80nbo"] -[ext_resource type="Script" uid="uid://dbsjg3o61vuji" path="res://game.gd" id="1_fc0e3"] -[ext_resource type="Environment" uid="uid://xe70va0pjc6c" path="res://resources/game_environment.tres" id="2_7jktm"] -[ext_resource type="Script" uid="uid://3hlvt5k34xva" path="res://components/general/player_spawn_point.gd" id="2_e2o6t"] -[ext_resource type="PackedScene" uid="uid://dawmen0hlfaaq" path="res://components/ui/menus/pause_menu/pause_menu.tscn" id="3_feb5d"] -[ext_resource type="PackedScene" uid="uid://c0jearfhlqcvr" path="res://components/hazards/saw/saw.tscn" id="5_ryrav"] - -[node name="Game" type="Node"] -script = ExtResource("1_fc0e3") - -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = ExtResource("2_7jktm") - -[node name="PlayerCharacter" parent="." instance=ExtResource("1_80nbo")] - -[node name="Menus" type="CanvasLayer" parent="."] - -[node name="PauseMenu" parent="Menus" instance=ExtResource("3_feb5d")] - -[node name="Areas" type="Node" parent="."] - -[node name="IntroArea" type="Node3D" parent="Areas"] - -[node name="Blockout" type="CSGCombiner3D" parent="Areas/IntroArea"] -use_collision = true - -[node name="CSGBox3D" type="CSGBox3D" parent="Areas/IntroArea/Blockout"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -4.5) -size = Vector3(5, 4, 12) - -[node name="CSGBox3D3" type="CSGBox3D" parent="Areas/IntroArea/Blockout/CSGBox3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.5) -operation = 2 -size = Vector3(4, 3, 12) - -[node name="CSGBox3D2" type="CSGBox3D" parent="Areas/IntroArea/Blockout"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, -22) -size = Vector3(32, 15, 27) - -[node name="CSGBox3D3" type="CSGBox3D" parent="Areas/IntroArea/Blockout/CSGBox3D2"] -operation = 2 -size = Vector3(31, 14, 25) - -[node name="CSGBox3D4" type="CSGBox3D" parent="Areas/IntroArea/Blockout/CSGBox3D2"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -5.5, 12.25) -operation = 2 -size = Vector3(4, 3, 2.5) - -[node name="OmniLight3D" type="OmniLight3D" parent="Areas/IntroArea"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, -24) -omni_range = 20.0 - -[node name="Saw" parent="Areas/IntroArea" instance=ExtResource("5_ryrav")] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 0.5, -25) - -[node name="Saw2" parent="Areas/IntroArea" instance=ExtResource("5_ryrav")] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.2, 0.5, -25) - -[node name="Saw3" parent="Areas/IntroArea" instance=ExtResource("5_ryrav")] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.4, 0.5, -25) - -[node name="Saw4" parent="Areas/IntroArea" instance=ExtResource("5_ryrav")] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.6, 0.5, -25) - -[node name="Saw5" parent="Areas/IntroArea" instance=ExtResource("5_ryrav")] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0.8, 0.5, -25) - -[node name="Saw6" parent="Areas/IntroArea" instance=ExtResource("5_ryrav")] -transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 1, 0.5, -25) - -[node name="SpawnPoints" type="Node" parent="."] - -[node name="PlayerSpawnPoint" type="Marker3D" parent="SpawnPoints"] -script = ExtResource("2_e2o6t") -metadata/_custom_type_script = "uid://3hlvt5k34xva" - -[node name="PlayerSpawnPoint2" type="Marker3D" parent="SpawnPoints"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -15) -script = ExtResource("2_e2o6t") -spawn_index = 1 -metadata/_custom_type_script = "uid://3hlvt5k34xva" diff --git a/source/globals/autoloads/game_globals.gd b/source/globals/autoloads/game_globals.gd deleted file mode 100644 index ff50577..0000000 --- a/source/globals/autoloads/game_globals.gd +++ /dev/null @@ -1,19 +0,0 @@ -extends Node - -const MAIN_MENU_PATH: String = "res://components/ui/menus/main_menu/main_menu.tscn" -const GAME_PATH: String = "res://game.tscn" - -var player: PlayerCharacter -var spawn_index: int = 0 - - -func get_player() -> PlayerCharacter: - return player - - -func reset_game() -> void: - spawn_index = 0 - - -func set_spawn_index(index: int) -> void: - spawn_index = index diff --git a/source/globals/autoloads/save_manager.gd b/source/globals/autoloads/save_manager.gd deleted file mode 100644 index 904a972..0000000 --- a/source/globals/autoloads/save_manager.gd +++ /dev/null @@ -1,32 +0,0 @@ -extends Node - -const SAVE_PATH: String = "user://saves/" -const SAVE_FILENAME: String = "saved_game.dat" - -func save_game() -> void: - DirAccess.make_dir_recursive_absolute(SAVE_PATH) - - var file := FileAccess.open(str(SAVE_PATH, SAVE_FILENAME), FileAccess.WRITE) - - # Store the variables. - file.store_var(GameGlobals.spawn_index) - - -func load_game() -> bool: - if not save_exists(): - return false - - var file := FileAccess.open(str(SAVE_PATH, SAVE_FILENAME), FileAccess.READ) - - # Load the variables. - GameGlobals.spawn_index = file.get_var() - - return true - - -func delete_save() -> void: - DirAccess.remove_absolute(str(SAVE_PATH, SAVE_FILENAME)) - - -func save_exists() -> bool: - return FileAccess.file_exists(str(SAVE_PATH, SAVE_FILENAME)) diff --git a/source/globals/general/utils.gd b/source/globals/general/utils.gd deleted file mode 100644 index 13e838e..0000000 --- a/source/globals/general/utils.gd +++ /dev/null @@ -1,31 +0,0 @@ -class_name Utils -extends Object - - -const VEC3_HOR := Vector3(1.0, 0.0, 1.0) - - -static func get_all_children(node: Node, internal: bool = false) -> Array[Node]: - if not is_instance_valid(node): - return [] - - var children: Array[Node] = [] - for child: Node in node.get_children(internal): - children.append(child) - if child.get_child_count(internal) > 0: - children.append_array(get_all_children(child, internal)) - - return children - - -static func node_distance(node_a: Node3D, node_b: Node3D, position_modifier := Vector3.ONE) -> float: - if not is_instance_valid(node_a) or not is_instance_valid(node_b): - return -1.0 - - return (node_a.global_position * position_modifier).distance_to(node_b.global_position * position_modifier) - - -## Returns [code]true[/code] when [param node_a] is close to the [param from] node than [param node_b].[br] -## [b]Note:[/b] Meant to be used with the [method Array.sort_custom] function. -static func sort_by_distance(from: Node3D, node_a: Node3D, node_b: Node3D) -> bool: - return Utils.node_distance(from, node_a) <= Utils.node_distance(from, node_b) diff --git a/source/localization/de.mo b/source/localization/de.mo index 624a9c3..031b898 100644 Binary files a/source/localization/de.mo and b/source/localization/de.mo differ diff --git a/source/localization/de.po b/source/localization/de.po index a5a3096..4666de8 100644 --- a/source/localization/de.po +++ b/source/localization/de.po @@ -15,24 +15,76 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.4.2\n" +"X-Generator: Poedit 3.6\n" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "Magic N' Stuff" msgstr "" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "CONTINUE" msgstr "Weiterspielen" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "NEW_GAME" msgstr "Neues Spiel" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "SETTINGS" msgstr "Einstellungen" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "QUIT" msgstr "Beenden" + +#: src/ui/menus/pause_menu/pause_menu.tscn +msgid "Paused" +msgstr "Pausiert" + +#: src/ui/menus/pause_menu/pause_menu.tscn +msgid "Continue" +msgstr "Weiterspielen" + +#: src/ui/menus/pause_menu/pause_menu.tscn +msgid "Settings" +msgstr "Einstellungen" + +#: src/ui/menus/pause_menu/pause_menu.tscn +msgid "Main Menu" +msgstr "Hauptmenü" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Audio" +msgstr "Audio" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Master" +msgstr "Master" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "1.0" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "SFX" +msgstr "SFX" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Music" +msgstr "Musik" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Ambient" +msgstr "Hintergrundgeräusche" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Graphics" +msgstr "Grafiken" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Fullscreen" +msgstr "Vollbild" + +#: src/ui/menus/death_screen/death_screen.tscn +msgid "Killed by a saw" +msgstr "Von einer Säge getötet" diff --git a/source/localization/translation.pot b/source/localization/translation.pot index c283265..85f0b68 100644 --- a/source/localization/translation.pot +++ b/source/localization/translation.pot @@ -1,5 +1,8 @@ # LANGUAGE translation for MagicNStuff for the following files: -# res://components/ui/menus/main_menu/main_menu.tscn +# res://src/ui/menus/main_menu/main_menu.tscn +# res://src/ui/menus/pause_menu/pause_menu.tscn +# res://src/ui/menus/options_menu/options_menu.tscn +# res://src/ui/menus/death_screen/death_screen.tscn # # FIRST AUTHOR , YEAR. # @@ -7,26 +10,83 @@ msgid "" msgstr "" "Project-Id-Version: MagicNStuff\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.6\n" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "Magic N' Stuff" msgstr "" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "CONTINUE" msgstr "" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "NEW_GAME" msgstr "" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "SETTINGS" msgstr "" -#: components/ui/menus/main_menu/main_menu.tscn +#: src/ui/menus/main_menu/main_menu.tscn msgid "QUIT" msgstr "" + +#: src/ui/menus/pause_menu/pause_menu.tscn +msgid "Paused" +msgstr "" + +#: src/ui/menus/pause_menu/pause_menu.tscn +msgid "Continue" +msgstr "" + +#: src/ui/menus/pause_menu/pause_menu.tscn +msgid "Settings" +msgstr "" + +#: src/ui/menus/pause_menu/pause_menu.tscn +msgid "Main Menu" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Audio" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Master" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "1.0" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "SFX" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Music" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Ambient" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Graphics" +msgstr "" + +#: src/ui/menus/options_menu/options_menu.tscn +msgid "Fullscreen" +msgstr "" + +#: src/ui/menus/death_screen/death_screen.tscn +msgid "Killed by a saw" +msgstr "" diff --git a/source/maps/_dynamic_load_test/_dynamic_load_test_map.tscn b/source/maps/_dynamic_load_test/_dynamic_load_test_map.tscn deleted file mode 100644 index d4e454a..0000000 --- a/source/maps/_dynamic_load_test/_dynamic_load_test_map.tscn +++ /dev/null @@ -1,182 +0,0 @@ -[gd_scene load_steps=19 format=3 uid="uid://d3ag4d4r8qcw7"] - -[ext_resource type="Script" uid="uid://bj2bhtdul8xct" path="res://components/collision/areas/dynamic_area_loader.gd" id="1_q4yy4"] -[ext_resource type="PackedScene" uid="uid://clhy3kiceqf2o" path="res://components/characters/player/player_character.tscn" id="2_g60qb"] -[ext_resource type="Script" uid="uid://3hlvt5k34xva" path="res://components/general/player_spawn_point.gd" id="3_yaqeo"] -[ext_resource type="PackedScene" uid="uid://c0jearfhlqcvr" path="res://components/hazards/saw/saw.tscn" id="4_4rgsp"] - -[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_g60qb"] -sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1) -ground_horizon_color = Color(0.662243, 0.671743, 0.686743, 1) - -[sub_resource type="Sky" id="Sky_yaqeo"] -sky_material = SubResource("ProceduralSkyMaterial_g60qb") - -[sub_resource type="Environment" id="Environment_4rgsp"] -background_mode = 2 -sky = SubResource("Sky_yaqeo") -tonemap_mode = 2 -glow_enabled = true - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_g60qb"] -albedo_color = Color(1, 0.426083, 0.0827108, 1) - -[sub_resource type="BoxShape3D" id="BoxShape3D_g60qb"] -size = Vector3(9, 4, 9) - -[sub_resource type="BoxShape3D" id="BoxShape3D_yaqeo"] -size = Vector3(9, 4, 9) - -[sub_resource type="BoxShape3D" id="BoxShape3D_4rgsp"] -size = Vector3(12, 4, 7) - -[sub_resource type="BoxShape3D" id="BoxShape3D_m4fap"] -size = Vector3(4, 4, 11) - -[sub_resource type="BoxShape3D" id="BoxShape3D_k1ge7"] -size = Vector3(25, 4, 21.3) - -[sub_resource type="BoxShape3D" id="BoxShape3D_ka7nb"] -size = Vector3(25, 4, 6) - -[sub_resource type="BoxShape3D" id="BoxShape3D_kaxur"] -size = Vector3(22, 4, 7) - -[sub_resource type="BoxShape3D" id="BoxShape3D_0qpgw"] -size = Vector3(9, 4, 25) - -[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_g60qb"] - -[sub_resource type="CylinderMesh" id="CylinderMesh_g60qb"] - -[node name="DynamicLoadTestMap" type="Node"] - -[node name="PlayerCharacter" parent="." instance=ExtResource("2_g60qb")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 10) - -[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] -transform = Transform3D(-0.866025, -0.433013, 0.25, 0, 0.5, 0.866025, -0.5, 0.75, -0.433013, 0, 0, 0) -shadow_enabled = true - -[node name="WorldEnvironment" type="WorldEnvironment" parent="."] -environment = SubResource("Environment_4rgsp") - -[node name="Areas" type="Node" parent="."] - -[node name="AlwaysLoaded" type="CSGCombiner3D" parent="Areas"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 9) -use_collision = true - -[node name="CSGBox3D" type="CSGBox3D" parent="Areas/AlwaysLoaded"] -size = Vector3(8, 1, 7) -material = SubResource("StandardMaterial3D_g60qb") - -[node name="PerformanceTestPlatform1" type="Area3D" parent="Areas" node_paths=PackedStringArray("placeholder_node")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, 0) -script = ExtResource("1_q4yy4") -placeholder_node = NodePath("Area1") -loaded_if_spawnpoint = Array[int]([0]) -metadata/_custom_type_script = "uid://bj2bhtdul8xct" - -[node name="Area1" parent="Areas/PerformanceTestPlatform1" instance_placeholder="res://maps/_dynamic_load_test/area_1.tscn"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -2, 2) - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Areas/PerformanceTestPlatform1"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 2) -shape = SubResource("BoxShape3D_g60qb") -debug_color = Color(0.678973, 0.504376, 0, 0.42) - -[node name="PerformanceTestPlatform2" type="Area3D" parent="Areas" node_paths=PackedStringArray("placeholder_node")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, -7) -script = ExtResource("1_q4yy4") -placeholder_node = NodePath("Area2") -loaded_if_spawnpoint = Array[int]([1]) -metadata/_custom_type_script = "uid://bj2bhtdul8xct" - -[node name="Area2" parent="Areas/PerformanceTestPlatform2" instance_placeholder="res://maps/_dynamic_load_test/area_2.tscn"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, -2, 2) - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Areas/PerformanceTestPlatform2"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 2) -shape = SubResource("BoxShape3D_yaqeo") -debug_color = Color(0.678973, 0.504376, 0, 0.42) - -[node name="CollisionShape3D2" type="CollisionShape3D" parent="Areas/PerformanceTestPlatform2"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 0.5, 3.67773) -shape = SubResource("BoxShape3D_4rgsp") -debug_color = Color(0.678973, 0.504376, 0, 0.42) - -[node name="CollisionShape3D3" type="CollisionShape3D" parent="Areas/PerformanceTestPlatform2"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 0.5, 5.67773) -shape = SubResource("BoxShape3D_m4fap") -debug_color = Color(0.678973, 0.504376, 0, 0.42) - -[node name="Hallway1Loader" type="Area3D" parent="Areas" node_paths=PackedStringArray("placeholder_node")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, -7) -script = ExtResource("1_q4yy4") -placeholder_node = NodePath("Hallway1") -metadata/_custom_type_script = "uid://bj2bhtdul8xct" - -[node name="Hallway1" parent="Areas/Hallway1Loader" instance_placeholder="res://maps/_dynamic_load_test/hallway_1.tscn"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -2, 16) - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Areas/Hallway1Loader"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 17.85) -shape = SubResource("BoxShape3D_k1ge7") -debug_color = Color(0.678973, 0.504376, 0, 0.42) - -[node name="Hallway2Loader" type="Area3D" parent="Areas" node_paths=PackedStringArray("placeholder_node")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, -7) -script = ExtResource("1_q4yy4") -placeholder_node = NodePath("Hallway2") -metadata/_custom_type_script = "uid://bj2bhtdul8xct" - -[node name="Hallway2" parent="Areas/Hallway2Loader" instance_placeholder="res://maps/_dynamic_load_test/hallway_2.tscn"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, -2, 16) - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Areas/Hallway2Loader"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0.5, 25.5) -shape = SubResource("BoxShape3D_ka7nb") -debug_color = Color(0.678973, 0.504376, 0, 0.42) - -[node name="CollisionShape3D2" type="CollisionShape3D" parent="Areas/Hallway2Loader"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.5, 0.5, 3.67773) -shape = SubResource("BoxShape3D_kaxur") -debug_color = Color(0.678973, 0.504376, 0, 0.42) - -[node name="CollisionShape3D3" type="CollisionShape3D" parent="Areas/Hallway2Loader"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 0.5, 12.6777) -shape = SubResource("BoxShape3D_0qpgw") -debug_color = Color(0.678973, 0.504376, 0, 0.42) - -[node name="WorldFloor" type="StaticBody3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) -metadata/_edit_lock_ = true -metadata/_edit_group_ = true - -[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"] -shape = SubResource("WorldBoundaryShape3D_g60qb") - -[node name="MeshInstance3D" type="MeshInstance3D" parent="."] -transform = Transform3D(5.58473, 6.33307, 0, -6.33307, 5.58473, 0, 0, 0, 8.44375, -13.6652, 0, -15.4998) -mesh = SubResource("CylinderMesh_g60qb") - -[node name="PlayerSpawnPoint" type="Marker3D" parent="."] -transform = Transform3D(0.330597, 0, 0.943772, 0, 1, 0, -0.943772, 0, 0.330597, 2.60837, 0.5, 3.3168) -script = ExtResource("3_yaqeo") -metadata/_custom_type_script = "uid://3hlvt5k34xva" - -[node name="PlayerSpawnPoint2" type="Marker3D" parent="."] -transform = Transform3D(0.330597, 0, 0.943772, 0, 1, 0, -0.943772, 0, 0.330597, 2.60837, 0.5, -2.6832) -script = ExtResource("3_yaqeo") -spawn_index = 1 -metadata/_custom_type_script = "uid://3hlvt5k34xva" - -[node name="PlayerSpawnPoint3" type="Marker3D" parent="."] -transform = Transform3D(0.43358, 0, -0.901115, 0, 1, 0, 0.901115, 0, 0.43358, -14.3916, 0.5, -2.6832) -script = ExtResource("3_yaqeo") -spawn_index = 2 -metadata/_custom_type_script = "uid://3hlvt5k34xva" - -[node name="Saw" parent="." instance=ExtResource("4_4rgsp")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.31477, 1.59362, 6.44809) diff --git a/source/maps/_dynamic_load_test/area_1.tscn b/source/maps/_dynamic_load_test/area_1.tscn deleted file mode 100644 index 39dcfe6..0000000 --- a/source/maps/_dynamic_load_test/area_1.tscn +++ /dev/null @@ -1,6426 +0,0 @@ -[gd_scene load_steps=6 format=3 uid="uid://cae1iasqr2mf1"] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2egex"] -albedo_color = Color(0.589291, 0.560155, 1, 1) - -[sub_resource type="FastNoiseLite" id="FastNoiseLite_2egex"] -resource_local_to_scene = true - -[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_limus"] -resource_local_to_scene = true -width = 2048 -height = 2048 -noise = SubResource("FastNoiseLite_2egex") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_limus"] -resource_local_to_scene = true -albedo_texture = SubResource("NoiseTexture2D_limus") - -[sub_resource type="QuadMesh" id="QuadMesh_8n3f7"] - -[node name="Area1" type="CSGCombiner3D"] -use_collision = true - -[node name="CSGBox3D" type="CSGBox3D" parent="."] -size = Vector3(8, 1, 7) -material = SubResource("StandardMaterial3D_2egex") - -[node name="MeshInstance3D" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D2" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D3" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D4" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D5" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D6" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D7" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D8" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D9" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D10" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D11" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D12" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D13" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D14" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D15" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D16" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D17" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D18" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D19" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D20" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D21" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D22" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D23" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D24" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D25" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D26" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D27" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D28" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D29" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D30" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D31" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D32" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D33" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D34" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D35" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D36" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D37" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D38" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D39" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D40" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D41" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D42" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D43" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D44" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D45" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D46" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D47" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D48" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D49" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D50" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D51" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D52" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D53" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D54" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D55" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D56" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D57" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D58" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D59" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D60" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D61" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D62" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D63" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D64" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D65" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D66" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D67" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D68" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D69" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D70" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D71" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D72" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D73" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D74" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D75" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D76" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D77" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D78" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D79" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D80" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D81" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D82" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D83" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D84" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D85" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D86" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D87" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D88" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D89" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D90" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D91" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D92" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D93" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D94" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D95" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D96" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D97" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D98" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D99" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D100" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D101" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D102" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D103" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D104" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D105" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D106" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D107" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D108" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D109" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D110" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D111" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D112" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D113" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D114" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D115" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D116" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D117" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D118" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D119" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D120" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D121" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D122" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D123" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D124" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D125" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D126" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D127" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D128" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D129" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D130" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D131" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D132" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D133" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D134" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D135" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D136" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D137" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D138" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D139" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D140" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D141" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D142" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D143" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D144" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D145" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D146" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D147" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D148" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D149" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D150" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D151" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D152" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D153" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D154" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D155" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D156" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D157" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D158" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D159" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D160" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D161" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D162" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D163" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D164" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D165" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D166" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D167" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D168" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D169" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D170" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D171" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D172" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D173" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D174" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D175" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D176" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D177" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D178" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D179" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D180" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D181" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D182" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D183" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D184" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D185" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D186" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D187" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D188" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D189" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D190" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D191" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D192" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D193" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D194" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D195" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D196" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D197" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D198" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D199" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D200" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D201" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D202" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D203" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D204" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D205" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D206" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D207" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D208" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D209" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D210" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D211" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D212" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D213" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D214" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D215" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D216" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D217" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D218" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D219" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D220" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D221" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D222" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D223" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D224" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D225" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D226" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D227" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D228" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D229" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D230" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D231" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D232" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D233" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D234" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D235" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D236" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D237" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D238" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D239" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D240" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D241" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D242" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D243" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D244" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D245" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D246" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D247" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D248" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D249" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D250" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D251" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D252" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D253" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D254" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D255" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D256" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D257" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D258" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D259" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D260" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D261" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D262" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D263" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D264" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D265" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D266" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D267" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D268" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D269" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D270" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D271" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D272" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D273" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D274" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D275" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D276" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D277" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D278" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D279" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D280" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D281" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D282" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D283" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D284" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D285" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D286" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D287" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D288" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D289" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D290" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D291" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D292" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D293" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D294" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D295" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D296" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D297" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D298" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D299" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D300" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D301" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D302" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D303" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D304" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D305" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D306" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D307" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D308" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D309" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D310" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D311" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D312" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D313" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D314" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D315" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D316" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D317" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D318" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D319" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D320" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D321" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D322" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D323" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D324" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D325" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D326" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D327" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D328" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D329" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D330" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D331" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D332" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D333" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D334" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D335" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D336" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D337" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D338" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D339" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D340" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D341" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D342" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D343" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D344" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D345" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D346" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D347" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D348" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D349" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D350" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D351" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D352" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D353" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D354" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D355" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D356" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D357" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D358" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D359" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D360" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D361" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D362" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D363" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D364" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D365" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D366" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D367" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D368" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D369" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D370" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D371" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D372" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D373" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D374" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D375" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D376" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D377" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D378" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D379" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D380" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D381" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D382" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D383" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D384" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D385" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D386" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D387" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D388" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D389" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D390" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D391" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D392" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D393" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D394" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D395" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D396" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D397" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D398" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D399" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D400" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D401" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D402" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D403" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D404" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D405" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D406" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D407" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D408" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D409" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D410" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D411" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D412" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D413" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D414" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D415" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D416" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D417" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D418" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D419" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D420" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D421" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D422" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D423" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D424" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D425" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D426" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D427" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D428" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D429" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D430" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D431" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D432" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D433" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D434" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D435" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D436" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D437" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D438" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D439" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D440" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D441" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D442" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D443" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D444" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D445" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D446" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D447" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D448" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D449" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D450" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D451" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D452" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D453" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D454" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D455" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D456" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D457" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D458" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D459" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D460" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D461" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D462" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D463" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D464" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D465" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D466" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D467" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D468" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D469" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D470" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D471" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D472" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D473" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D474" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D475" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D476" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D477" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D478" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D479" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D480" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D481" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D482" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D483" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D484" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D485" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D486" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D487" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D488" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D489" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D490" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D491" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D492" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D493" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D494" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D495" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D496" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D497" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D498" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D499" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D500" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D501" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D502" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D503" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D504" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D505" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D506" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D507" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D508" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D509" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D510" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D511" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D512" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D513" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D514" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D515" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D516" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D517" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D518" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D519" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D520" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D521" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D522" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D523" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D524" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D525" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D526" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D527" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D528" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D529" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D530" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D531" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D532" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D533" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D534" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D535" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D536" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D537" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D538" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D539" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D540" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D541" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D542" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D543" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D544" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D545" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D546" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D547" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D548" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D549" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D550" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D551" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D552" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D553" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D554" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D555" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D556" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D557" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D558" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D559" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D560" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D561" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D562" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D563" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D564" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D565" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D566" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D567" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D568" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D569" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D570" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D571" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D572" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D573" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D574" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D575" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D576" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D577" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D578" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D579" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D580" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D581" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D582" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D583" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D584" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D585" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D586" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D587" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D588" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D589" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D590" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D591" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D592" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D593" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D594" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D595" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D596" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D597" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D598" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D599" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D600" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D601" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D602" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D603" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D604" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D605" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D606" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D607" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D608" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D609" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D610" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D611" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D612" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D613" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D614" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D615" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D616" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D617" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D618" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D619" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D620" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D621" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D622" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D623" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D624" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D625" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D626" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D627" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D628" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D629" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D630" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D631" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D632" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D633" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D634" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D635" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D636" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D637" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D638" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D639" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D640" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D641" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D642" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D643" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D644" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D645" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D646" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D647" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D648" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D649" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D650" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D651" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D652" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D653" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D654" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D655" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D656" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D657" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D658" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D659" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D660" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D661" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D662" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D663" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D664" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D665" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D666" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D667" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D668" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D669" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D670" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D671" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D672" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D673" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D674" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D675" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D676" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D677" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D678" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D679" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D680" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D681" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D682" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D683" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D684" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D685" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D686" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D687" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D688" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D689" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D690" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D691" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D692" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D693" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D694" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D695" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D696" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D697" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D698" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D699" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D700" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D701" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D702" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D703" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D704" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D705" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D706" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D707" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D708" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D709" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D710" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D711" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D712" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D713" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D714" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D715" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D716" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D717" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D718" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D719" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D720" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D721" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D722" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D723" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D724" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D725" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D726" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D727" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D728" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D729" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D730" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D731" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D732" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D733" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D734" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D735" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D736" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D737" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D738" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D739" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D740" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D741" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D742" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D743" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D744" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D745" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D746" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D747" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D748" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D749" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D750" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D751" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D752" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D753" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D754" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D755" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D756" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D757" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D758" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D759" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D760" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D761" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D762" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D763" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D764" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D765" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D766" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D767" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D768" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D769" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D770" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D771" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D772" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D773" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D774" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D775" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D776" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D777" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D778" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D779" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D780" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D781" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D782" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D783" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D784" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D785" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D786" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D787" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D788" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D789" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D790" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D791" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D792" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D793" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D794" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D795" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D796" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D797" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D798" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D799" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D800" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D801" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D802" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D803" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D804" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D805" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D806" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D807" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D808" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D809" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D810" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D811" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D812" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D813" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D814" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D815" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D816" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D817" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D818" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D819" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D820" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D821" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D822" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D823" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D824" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D825" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D826" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D827" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D828" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D829" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D830" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D831" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D832" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D833" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D834" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D835" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D836" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D837" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D838" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D839" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D840" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D841" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D842" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D843" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D844" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D845" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D846" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D847" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D848" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D849" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D850" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D851" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D852" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D853" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D854" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D855" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D856" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D857" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D858" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D859" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D860" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D861" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D862" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D863" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D864" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D865" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D866" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D867" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D868" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D869" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D870" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D871" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D872" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D873" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D874" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D875" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D876" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D877" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D878" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D879" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D880" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D881" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D882" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D883" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D884" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D885" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D886" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D887" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D888" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D889" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D890" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D891" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D892" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D893" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D894" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D895" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D896" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D897" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D898" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D899" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D900" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D901" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D902" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D903" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D904" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D905" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D906" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D907" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D908" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D909" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D910" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D911" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D912" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D913" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D914" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D915" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D916" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D917" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D918" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D919" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D920" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D921" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D922" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D923" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D924" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D925" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D926" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D927" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D928" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D929" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D930" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D931" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D932" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D933" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D934" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D935" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D936" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D937" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D938" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D939" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D940" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D941" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D942" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D943" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D944" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D945" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D946" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D947" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D948" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D949" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D950" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D951" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D952" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D953" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D954" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D955" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D956" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D957" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D958" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D959" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D960" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D961" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D962" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D963" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D964" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D965" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D966" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D967" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D968" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D969" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D970" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D971" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D972" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D973" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D974" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D975" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D976" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D977" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D978" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D979" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D980" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D981" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D982" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D983" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D984" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D985" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D986" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D987" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D988" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D989" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D990" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D991" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D992" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D993" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D994" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D995" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D996" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D997" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D998" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D999" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1000" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1001" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1002" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1003" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1004" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1005" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1006" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1007" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1008" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1009" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1010" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1011" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1012" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1013" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1014" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1015" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1016" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1017" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1018" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1019" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1020" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1021" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1022" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1023" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1024" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1025" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1026" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1027" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1028" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1029" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1030" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1031" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1032" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1033" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1034" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1035" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1036" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1037" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1038" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1039" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1040" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1041" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1042" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1043" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1044" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1045" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1046" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1047" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1048" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1049" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1050" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1051" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1052" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1053" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1054" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1055" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1056" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1057" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1058" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1059" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1060" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1061" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1062" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1063" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1064" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1065" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1066" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1067" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1068" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1069" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1070" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1071" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1072" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1073" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1074" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1075" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1076" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1077" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1078" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1079" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1080" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1081" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1082" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1083" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1084" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1085" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1086" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1087" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1088" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1089" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1090" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1091" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1092" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1093" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1094" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1095" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1096" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1097" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1098" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1099" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1100" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1101" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1102" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1103" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1104" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1105" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1106" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1107" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1108" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1109" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1110" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1111" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1112" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1113" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1114" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1115" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1116" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1117" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1118" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1119" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1120" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1121" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1122" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1123" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1124" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1125" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1126" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1127" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1128" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1129" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1130" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1131" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1132" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1133" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1134" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1135" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1136" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1137" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1138" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1139" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1140" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1141" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1142" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1143" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1144" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1145" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1146" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1147" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1148" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1149" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1150" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1151" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1152" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1153" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1154" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1155" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1156" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1157" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1158" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1159" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1160" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1161" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1162" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1163" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1164" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1165" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1166" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1167" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1168" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1169" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1170" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1171" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1172" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1173" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1174" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1175" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1176" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1177" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1178" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1179" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1180" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1181" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1182" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1183" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1184" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1185" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1186" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1187" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1188" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1189" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1190" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1191" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1192" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1193" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1194" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1195" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1196" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1197" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1198" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1199" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1200" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1201" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1202" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1203" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1204" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1205" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1206" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1207" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1208" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1209" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1210" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1211" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1212" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1213" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1214" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1215" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1216" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1217" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1218" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1219" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1220" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1221" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1222" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1223" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1224" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1225" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1226" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1227" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1228" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1229" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1230" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1231" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1232" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1233" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1234" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1235" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1236" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1237" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1238" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1239" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1240" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1241" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1242" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1243" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1244" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1245" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1246" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1247" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1248" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1249" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1250" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1251" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1252" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1253" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1254" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1255" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1256" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1257" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1258" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1259" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1260" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1261" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1262" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1263" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1264" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1265" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1266" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1267" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1268" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1269" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1270" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1271" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1272" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1273" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1274" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1275" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1276" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1277" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1278" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1279" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") - -[node name="MeshInstance3D1280" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_limus") -mesh = SubResource("QuadMesh_8n3f7") diff --git a/source/maps/_dynamic_load_test/area_2.tscn b/source/maps/_dynamic_load_test/area_2.tscn deleted file mode 100644 index 063aa83..0000000 --- a/source/maps/_dynamic_load_test/area_2.tscn +++ /dev/null @@ -1,6426 +0,0 @@ -[gd_scene load_steps=6 format=3 uid="uid://f5ti7f6p5x03"] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wp0cu"] -albedo_color = Color(0, 0.586893, 0.0976942, 1) - -[sub_resource type="FastNoiseLite" id="FastNoiseLite_wp0cu"] -resource_local_to_scene = true - -[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_wp0cu"] -resource_local_to_scene = true -width = 2048 -height = 2048 -noise = SubResource("FastNoiseLite_wp0cu") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mg84x"] -resource_local_to_scene = true -albedo_texture = SubResource("NoiseTexture2D_wp0cu") - -[sub_resource type="QuadMesh" id="QuadMesh_0d8tl"] - -[node name="Area2" type="CSGCombiner3D"] -use_collision = true - -[node name="CSGBox3D" type="CSGBox3D" parent="."] -size = Vector3(8, 1, 7) -material = SubResource("StandardMaterial3D_wp0cu") - -[node name="MeshInstance3D" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D2" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D3" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D4" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D5" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D6" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D7" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D8" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D9" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D10" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D11" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D12" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D13" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D14" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D15" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D16" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D17" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D18" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D19" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D20" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D21" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D22" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D23" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D24" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D25" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D26" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D27" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D28" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D29" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D30" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D31" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D32" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D33" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D34" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D35" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D36" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D37" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D38" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D39" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D40" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D41" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D42" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D43" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D44" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D45" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D46" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D47" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D48" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D49" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D50" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D51" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D52" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D53" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D54" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D55" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D56" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D57" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D58" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D59" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D60" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D61" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D62" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D63" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D64" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D65" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D66" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D67" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D68" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D69" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D70" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D71" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D72" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D73" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D74" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D75" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D76" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D77" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D78" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D79" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D80" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D81" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D82" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D83" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D84" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D85" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D86" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D87" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D88" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D89" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D90" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D91" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D92" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D93" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D94" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D95" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D96" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D97" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D98" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D99" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D100" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D101" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D102" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D103" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D104" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D105" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D106" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D107" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D108" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D109" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D110" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D111" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D112" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D113" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D114" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D115" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D116" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D117" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D118" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D119" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D120" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D121" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D122" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D123" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D124" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D125" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D126" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D127" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D128" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D129" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D130" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D131" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D132" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D133" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D134" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D135" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D136" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D137" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D138" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D139" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D140" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D141" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D142" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D143" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D144" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D145" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D146" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D147" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D148" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D149" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D150" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D151" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D152" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D153" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D154" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D155" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D156" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D157" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D158" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D159" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D160" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D161" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D162" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D163" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D164" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D165" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D166" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D167" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D168" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D169" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D170" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D171" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D172" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D173" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D174" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D175" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D176" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D177" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D178" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D179" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D180" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D181" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D182" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D183" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D184" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D185" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D186" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D187" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D188" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D189" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D190" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D191" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D192" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D193" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D194" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D195" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D196" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D197" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D198" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D199" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D200" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D201" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D202" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D203" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D204" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D205" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D206" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D207" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D208" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D209" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D210" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D211" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D212" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D213" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D214" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D215" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D216" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D217" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D218" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D219" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D220" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D221" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D222" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D223" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D224" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D225" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D226" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D227" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D228" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D229" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D230" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D231" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D232" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D233" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D234" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D235" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D236" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D237" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D238" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D239" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D240" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D241" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D242" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D243" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D244" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D245" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D246" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D247" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D248" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D249" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D250" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D251" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D252" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D253" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D254" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D255" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D256" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D257" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D258" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D259" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D260" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D261" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D262" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D263" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D264" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D265" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D266" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D267" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D268" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D269" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D270" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D271" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D272" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D273" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D274" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D275" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D276" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D277" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D278" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D279" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D280" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D281" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D282" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D283" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D284" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D285" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D286" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D287" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D288" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D289" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D290" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D291" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D292" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D293" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D294" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D295" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D296" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D297" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D298" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D299" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D300" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D301" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D302" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D303" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D304" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D305" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D306" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D307" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D308" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D309" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D310" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D311" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D312" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D313" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D314" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D315" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D316" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D317" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D318" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D319" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D320" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D321" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D322" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D323" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D324" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D325" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D326" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D327" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D328" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D329" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D330" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D331" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D332" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D333" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D334" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D335" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D336" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D337" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D338" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D339" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D340" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D341" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D342" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D343" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D344" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D345" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D346" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D347" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D348" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D349" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D350" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D351" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D352" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D353" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D354" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D355" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D356" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D357" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D358" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D359" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D360" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D361" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D362" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D363" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D364" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D365" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D366" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D367" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D368" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D369" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D370" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D371" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D372" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D373" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D374" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D375" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D376" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D377" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D378" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D379" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D380" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D381" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D382" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D383" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D384" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D385" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D386" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D387" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D388" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D389" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D390" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D391" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D392" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D393" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D394" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D395" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D396" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D397" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D398" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D399" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D400" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D401" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D402" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D403" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D404" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D405" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D406" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D407" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D408" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D409" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D410" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D411" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D412" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D413" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D414" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D415" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D416" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D417" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D418" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D419" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D420" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D421" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D422" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D423" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D424" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D425" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D426" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D427" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D428" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D429" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D430" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D431" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D432" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D433" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D434" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D435" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D436" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D437" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D438" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D439" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D440" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D441" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D442" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D443" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D444" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D445" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D446" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D447" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D448" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D449" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D450" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D451" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D452" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D453" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D454" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D455" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D456" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D457" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D458" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D459" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D460" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D461" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D462" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D463" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D464" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D465" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D466" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D467" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D468" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D469" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D470" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D471" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D472" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D473" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D474" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D475" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D476" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D477" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D478" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D479" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D480" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D481" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D482" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D483" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D484" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D485" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D486" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D487" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D488" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D489" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D490" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D491" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D492" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D493" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D494" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D495" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D496" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D497" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D498" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D499" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D500" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D501" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D502" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D503" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D504" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D505" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D506" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D507" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D508" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D509" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D510" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D511" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D512" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D513" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D514" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D515" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D516" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D517" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D518" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D519" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D520" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D521" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D522" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D523" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D524" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D525" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D526" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D527" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D528" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D529" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D530" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D531" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D532" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D533" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D534" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D535" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D536" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D537" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D538" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D539" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D540" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D541" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D542" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D543" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D544" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D545" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D546" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D547" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D548" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D549" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D550" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D551" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D552" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D553" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D554" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D555" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D556" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D557" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D558" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D559" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D560" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D561" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D562" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D563" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D564" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D565" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D566" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D567" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D568" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D569" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D570" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D571" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D572" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D573" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D574" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D575" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D576" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D577" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D578" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D579" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D580" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D581" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D582" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D583" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D584" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D585" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D586" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D587" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D588" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D589" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D590" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D591" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D592" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D593" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D594" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D595" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D596" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D597" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D598" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D599" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D600" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D601" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D602" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D603" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D604" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D605" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D606" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D607" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D608" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D609" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D610" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D611" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D612" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D613" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D614" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D615" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D616" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D617" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D618" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D619" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D620" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D621" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D622" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D623" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D624" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D625" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D626" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D627" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D628" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D629" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D630" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D631" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D632" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D633" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D634" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D635" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D636" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D637" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D638" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D639" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D640" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D641" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D642" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D643" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D644" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D645" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D646" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D647" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D648" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D649" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D650" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D651" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D652" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D653" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D654" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D655" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D656" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D657" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D658" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D659" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D660" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D661" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D662" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D663" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D664" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D665" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D666" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D667" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D668" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D669" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D670" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D671" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D672" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D673" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D674" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D675" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D676" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D677" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D678" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D679" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D680" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D681" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D682" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D683" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D684" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D685" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D686" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D687" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D688" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D689" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D690" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D691" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D692" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D693" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D694" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D695" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D696" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D697" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D698" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D699" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D700" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D701" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D702" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D703" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D704" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D705" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D706" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D707" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D708" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D709" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D710" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D711" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D712" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D713" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D714" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D715" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D716" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D717" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D718" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D719" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D720" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D721" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D722" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D723" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D724" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D725" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D726" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D727" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D728" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D729" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D730" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D731" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D732" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D733" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D734" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D735" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D736" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D737" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D738" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D739" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D740" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D741" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D742" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D743" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D744" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D745" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D746" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D747" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D748" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D749" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D750" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D751" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D752" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D753" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D754" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D755" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D756" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D757" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D758" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D759" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D760" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D761" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D762" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D763" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D764" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D765" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D766" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D767" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D768" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D769" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D770" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D771" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D772" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D773" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D774" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D775" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D776" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D777" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D778" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D779" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D780" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D781" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D782" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D783" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D784" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D785" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D786" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D787" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D788" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D789" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D790" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D791" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D792" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D793" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D794" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D795" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D796" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D797" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D798" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D799" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D800" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D801" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D802" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D803" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D804" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D805" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D806" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D807" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D808" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D809" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D810" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D811" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D812" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D813" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D814" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D815" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D816" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D817" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D818" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D819" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D820" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D821" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D822" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D823" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D824" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D825" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D826" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D827" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D828" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D829" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D830" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D831" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D832" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D833" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D834" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D835" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D836" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D837" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D838" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D839" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D840" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D841" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D842" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D843" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D844" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D845" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D846" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D847" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D848" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D849" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D850" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D851" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D852" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D853" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D854" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D855" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D856" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D857" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D858" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D859" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D860" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D861" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D862" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D863" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D864" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D865" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D866" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D867" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D868" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D869" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D870" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D871" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D872" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D873" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D874" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D875" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D876" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D877" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D878" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D879" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D880" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D881" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D882" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D883" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D884" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D885" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D886" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D887" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D888" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D889" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D890" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D891" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D892" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D893" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D894" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D895" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D896" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D897" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D898" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D899" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D900" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D901" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D902" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D903" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D904" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D905" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D906" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D907" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D908" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D909" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D910" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D911" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D912" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D913" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D914" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D915" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D916" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D917" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D918" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D919" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D920" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D921" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D922" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D923" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D924" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D925" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D926" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D927" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D928" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D929" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D930" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D931" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D932" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D933" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D934" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D935" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D936" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D937" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D938" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D939" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D940" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D941" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D942" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D943" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D944" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D945" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D946" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D947" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D948" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D949" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D950" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D951" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D952" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D953" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D954" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D955" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D956" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D957" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D958" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D959" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D960" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D961" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D962" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D963" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D964" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D965" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D966" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D967" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D968" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D969" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D970" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D971" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D972" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D973" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D974" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D975" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D976" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D977" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D978" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D979" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D980" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D981" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D982" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D983" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D984" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D985" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D986" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D987" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D988" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D989" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D990" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D991" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D992" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D993" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D994" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D995" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D996" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D997" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D998" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D999" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1000" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1001" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1002" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1003" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1004" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1005" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1006" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1007" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1008" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1009" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1010" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1011" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1012" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1013" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1014" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1015" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1016" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1017" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1018" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1019" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1020" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1021" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1022" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1023" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1024" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1025" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1026" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1027" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1028" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1029" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1030" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1031" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1032" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1033" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1034" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1035" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1036" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1037" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1038" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1039" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1040" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1041" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1042" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1043" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1044" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1045" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1046" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1047" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1048" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1049" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1050" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1051" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1052" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1053" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1054" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1055" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1056" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1057" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1058" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1059" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1060" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1061" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1062" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1063" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1064" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1065" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1066" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1067" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1068" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1069" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1070" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1071" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1072" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1073" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1074" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1075" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1076" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1077" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1078" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1079" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1080" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1081" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1082" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1083" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1084" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1085" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1086" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1087" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1088" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1089" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1090" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1091" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1092" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1093" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1094" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1095" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1096" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1097" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1098" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1099" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1100" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1101" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1102" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1103" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1104" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1105" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1106" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1107" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1108" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1109" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1110" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1111" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1112" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1113" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1114" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1115" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1116" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1117" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1118" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1119" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1120" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1121" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1122" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1123" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1124" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1125" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1126" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1127" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1128" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1129" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1130" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1131" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1132" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1133" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1134" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1135" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1136" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1137" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1138" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1139" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1140" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1141" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1142" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1143" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1144" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1145" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1146" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1147" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1148" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1149" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1150" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1151" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1152" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1153" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1154" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1155" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1156" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1157" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1158" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1159" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1160" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1161" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1162" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1163" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1164" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1165" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1166" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1167" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1168" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1169" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1170" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1171" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1172" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1173" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1174" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1175" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1176" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1177" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1178" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1179" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1180" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1181" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1182" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1183" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1184" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1185" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1186" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1187" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1188" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1189" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1190" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1191" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1192" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1193" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1194" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1195" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1196" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1197" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1198" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1199" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1200" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1201" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1202" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1203" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1204" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1205" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1206" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1207" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1208" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1209" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1210" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1211" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1212" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1213" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1214" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1215" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1216" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1217" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1218" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1219" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1220" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1221" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1222" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1223" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1224" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1225" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1226" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1227" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1228" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1229" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1230" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1231" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1232" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1233" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1234" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1235" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1236" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1237" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1238" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1239" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1240" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1241" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1242" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1243" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1244" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1245" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1246" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1247" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1248" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1249" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1250" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1251" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1252" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1253" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1254" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1255" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1256" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1257" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1258" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1259" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1260" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1261" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1262" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1263" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1264" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1265" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1266" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1267" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1268" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1269" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1270" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1271" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1272" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1273" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1274" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1275" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1276" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1277" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1278" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1279" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") - -[node name="MeshInstance3D1280" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.810536, 0) -material_override = SubResource("StandardMaterial3D_mg84x") -mesh = SubResource("QuadMesh_0d8tl") diff --git a/source/maps/_dynamic_load_test/hallway_1.tscn b/source/maps/_dynamic_load_test/hallway_1.tscn deleted file mode 100644 index c83b89c..0000000 --- a/source/maps/_dynamic_load_test/hallway_1.tscn +++ /dev/null @@ -1,56 +0,0 @@ -[gd_scene format=3 uid="uid://dr0gtcel5qdqg"] - -[node name="Hallway1" type="CSGCombiner3D"] -use_collision = true - -[node name="Floor" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 1) -size = Vector3(8, 1, 3) - -[node name="Floor2" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0, 7.5) -size = Vector3(3, 1, 10) - -[node name="Floor3" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.5, 0, 10.5) -size = Vector3(21, 1, 4) - -[node name="Ceiling" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 5, 1) -size = Vector3(8, 1, 3) - -[node name="Ceiling2" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 5, 7.5) -size = Vector3(3, 1, 10) - -[node name="Ceiling3" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.5, 5, 10.5) -size = Vector3(21, 1, 4) - -[node name="Wall" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4, 2.5, 13) -size = Vector3(24, 6, 1) - -[node name="Wall2" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 2.5, -1) -size = Vector3(8, 6, 1) - -[node name="Wall3" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 2.5, 8) -size = Vector3(17, 6, 1) - -[node name="Wall4" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 2.5, 3) -size = Vector3(5, 6, 1) - -[node name="Wall5" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.5, 2.5, 6) -size = Vector3(1, 6, 15) - -[node name="Wall6" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 2.5, 5.5) -size = Vector3(1, 6, 4) - -[node name="Wall7" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 2.5, 11) -size = Vector3(1, 6, 5) diff --git a/source/maps/_dynamic_load_test/hallway_2.tscn b/source/maps/_dynamic_load_test/hallway_2.tscn deleted file mode 100644 index 8dfb45d..0000000 --- a/source/maps/_dynamic_load_test/hallway_2.tscn +++ /dev/null @@ -1,68 +0,0 @@ -[gd_scene format=3 uid="uid://loo81pvlxlhh"] - -[node name="Hallway2" type="CSGCombiner3D"] -use_collision = true - -[node name="Floor" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 0, 1.5) -size = Vector3(3, 1, 14) - -[node name="Floor2" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 0, -7) -size = Vector3(7, 1, 3) - -[node name="Floor3" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.5, 0, -12) -size = Vector3(3, 1, 7) - -[node name="Floor4" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 0, -14) -size = Vector3(9, 1, 3) - -[node name="Wall" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14, 2.5, -16) -size = Vector3(12, 6, 1) - -[node name="Wall2" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 2.5, -12) -size = Vector3(9, 6, 1) - -[node name="Wall3" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 2.5, -9) -size = Vector3(5, 6, 1) - -[node name="Wall4" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.5, 2.5, -5) -size = Vector3(5, 6, 1) - -[node name="Wall5" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20.5, 2.5, -11) -size = Vector3(1, 6, 11) - -[node name="Wall6" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 2.5, -10.5) -size = Vector3(1, 6, 2) - -[node name="Wall7" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 2.5, 0) -size = Vector3(1, 6, 17) - -[node name="Wall8" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 2.5, 2) -size = Vector3(1, 6, 13) - -[node name="Ceiling" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.5, 5, 1.5) -size = Vector3(3, 1, 14) - -[node name="Ceiling2" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.5, 5, -7) -size = Vector3(7, 1, 3) - -[node name="Ceiling3" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.5, 5, -12) -size = Vector3(3, 1, 7) - -[node name="Ceiling4" type="CSGBox3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 5, -14) -size = Vector3(9, 1, 3) diff --git a/source/project.godot b/source/project.godot index 27d7dae..20dd17e 100644 --- a/source/project.godot +++ b/source/project.godot @@ -12,35 +12,52 @@ config_version=5 config/name="MagicNStuff" run/main_scene="uid://coga3ke4xw3a0" -config/features=PackedStringArray("4.4", "Forward Plus") +config/features=PackedStringArray("4.5", "Forward Plus") config/icon="uid://bovb32x4x3ps5" [autoload] -SettingsManager="*res://globals/autoloads/settings/settings_manager.gd" -SceneFader="*res://globals/autoloads/scene_fader/scene_fader.tscn" -GameGlobals="*res://globals/autoloads/game_globals.gd" -InputManager="*res://globals/autoloads/input_manager.gd" -SaveManager="*res://globals/autoloads/save_manager.gd" -AudioManager="*res://globals/autoloads/audio/audio_manager.tscn" +SettingsManager="*res://src/globals/autoloads/settings/settings_manager.gd" +SceneFader="*res://src/globals/autoloads/scene_fader/scene_fader.tscn" +GameGlobals="*res://src/globals/autoloads/game_globals.gd" +InputManager="*res://src/globals/autoloads/input_manager.gd" +SaveManager="*res://src/globals/autoloads/save_manager.gd" +AudioManager="*res://src/globals/autoloads/audio/audio_manager.tscn" Logger="*res://addons/logger/logger.tscn" -RunConfigManager="*res://addons/run-configs/run-config-manager.gd" VersionDisplay="*res://addons/version_display/version_display.tscn" Panku="*res://addons/panku_console/console.tscn" +ControllerIcons="*res://addons/controller_icons/ControllerIcons.gd" +SPrint="*res://addons/logger/logger.tscn" +RunConfigManager="*res://addons/run-configs/run-config-manager.gd" + +[debug] + +gdscript/warnings/untyped_declaration=2 + +[debug_draw_3d] + +settings/3d/volumetric_defaults/thickness=0.0 [editor_plugins] -enabled=PackedStringArray("res://addons/bbcode_edit.editor/plugin.cfg", "res://addons/logger/plugin.cfg", "res://addons/panku_console/plugin.cfg", "res://addons/run-configs/plugin.cfg", "res://addons/version_display/plugin.cfg") +enabled=PackedStringArray("res://addons/bbcode_edit.editor/plugin.cfg", "res://addons/boxconstructor/plugin.cfg", "res://addons/controller_icons/plugin.cfg", "res://addons/logger/plugin.cfg", "res://addons/panku_console/plugin.cfg", "res://addons/run-configs/plugin.cfg", "res://addons/version_display/plugin.cfg") [file_customization] folder_colors={ "res://addons/": "gray", -"res://components/": "green", -"res://globals/": "orange", +"res://assets/": "pink", "res://localization/": "teal", -"res://maps/": "yellow", -"res://resources/": "purple" +"res://resources/": "purple", +"res://src/": "green", +"res://src/core/": "gray", +"res://src/dialogue/": "yellow", +"res://src/gameplay/": "orange", +"res://src/gameplay/hazards/": "red", +"res://src/globals/": "orange", +"res://src/levels/": "yellow", +"res://src/ui/": "blue", +"res://src/vfx/": "pink" } [input] @@ -142,8 +159,30 @@ bbcode_edit/editor/open_current_file_documentation={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":4194332,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } +crouch={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) +] +} [internationalization] locale/translations=PackedStringArray("res://localization/de.mo", "res://localization/de.po", "res://localization/en.mo", "res://localization/en.po") -locale/translations_pot_files=PackedStringArray("res://components/ui/menus/main_menu/main_menu.tscn") +locale/translations_pot_files=PackedStringArray("res://src/ui/menus/main_menu/main_menu.tscn", "res://src/ui/menus/pause_menu/pause_menu.tscn", "res://src/ui/menus/options_menu/options_menu.tscn", "res://src/ui/menus/death_screen/death_screen.tscn") + +[layer_names] + +3d_render/layer_1="Static" +3d_render/layer_2="Dynamic" +3d_physics/layer_2="Characters" +3d_physics/layer_11="World" + +[rendering] + +anti_aliasing/quality/screen_space_aa=2 + +[run_configs] + +data/configs=["{\"custom_scene\":\"uid://s7cw6ulb7kh7\",\"environment_variables\":{},\"name\":\"Game\",\"play_mode\":2}"] +data/current=0 diff --git a/source/src/core/camera/camera_trauma_causer.gd b/source/src/core/camera/camera_trauma_causer.gd new file mode 100644 index 0000000..fb583aa --- /dev/null +++ b/source/src/core/camera/camera_trauma_causer.gd @@ -0,0 +1,61 @@ +@tool +class_name CameraTraumaCauser +extends Marker3D + +@export var continues_shake: bool = false +@export var shake_type := ShakingCamera.ShakeType.POSITIONAL +@export_exp_easing("attenuation") var distance_falloff: float = 1.0 +@export_range(0.0, 10.0, 0.001, "or_greater", "suffix:m") var min_radius: float = 2.5 +@export_range(0.0, 10.0, 0.001, "or_greater", "suffix:m") var max_radius: float = 10.0 +@export_group("Inner(Min) Radius", "min_") +@export_range(0.0, 1.0, 0.001, "or_greater") var min_shake_intensity: float = 0.5 +@export_range(0.0, 10.0, 0.001, "or_greater", "suffix:s") var min_shake_duration: float = 0.5 +@export_group("Outer(Max) Radius", "max_") +@export_range(0.0, 1.0, 0.001, "or_greater") var max_shake_intensity: float = 0.5 +@export_range(0.0, 10.0, 0.001, "or_greater", "suffix:s") var max_shake_duration: float = 0.5 + + +#func _init() -> void: + #if Engine.is_editor_hint(): + ## Setup hint. + #var sprite := Sprite3D.new() + #sprite.billboard = BaseMaterial3D.BILLBOARD_ENABLED + #sprite.shaded = false + #sprite.texture = preload("res://src/general/shaking_camera.svg") + #add_child(sprite) + + +func _process(_delta: float) -> void: + if Engine.is_editor_hint(): + # For some reason, Godot doesn't like this when exporting the game... + #var editor_selection: EditorSelection = EditorInterface.get_selection() + # + #if editor_selection.get_selected_nodes().has(self): + DebugDraw3D.draw_sphere(global_position, min_radius, Color.RED) + DebugDraw3D.draw_sphere(global_position, max_radius, Color.SKY_BLUE) + elif continues_shake: + cause_trauma() + + +func cause_trauma() -> void: + var cameras: Array[ShakingCamera] = ShakingCamera.cameras + + for camera: ShakingCamera in cameras: + var distance: float = Utils.node_distance( + self, + camera.origin if is_instance_valid(camera.origin) else camera + ) + + if distance > max_radius: + continue + + var distance_ratio: float = remap(distance, min_radius, max_radius, 0.0, 1.0) + distance_ratio = clampf(ease(distance_ratio, distance_falloff), 0.0, 1.0) + + var intensity: float = remap(distance_ratio, 0.0, 1.0, min_shake_intensity, max_shake_intensity) + var duration: float = remap(distance_ratio, 0.0, 1.0, min_shake_duration, max_shake_duration) + + if continues_shake: + camera.apply_constant_shake(intensity, shake_type) + else: + camera.shake(intensity, duration, shake_type) diff --git a/source/src/core/camera/camera_trauma_causer.gd.uid b/source/src/core/camera/camera_trauma_causer.gd.uid new file mode 100644 index 0000000..23c52a2 --- /dev/null +++ b/source/src/core/camera/camera_trauma_causer.gd.uid @@ -0,0 +1 @@ +uid://dk4pqgs08xphi diff --git a/source/src/core/camera/shaking_camera.gd b/source/src/core/camera/shaking_camera.gd new file mode 100644 index 0000000..00577a5 --- /dev/null +++ b/source/src/core/camera/shaking_camera.gd @@ -0,0 +1,144 @@ +class_name ShakingCamera +extends Camera3D + +enum ShakeType { POSITIONAL, ROTATIONAL, BOTH } +#enum ShakeType { OFFSET, POSITIONAL, ROTATIONAL, BOTH } + +## A list containing all [ShakingCamera]'s.[br] +## Used by the [code]static[/code] [method shake_all_cameras] +## and [method constant_shake_all_cameras] functions. +static var cameras: Array[ShakingCamera] + +@export var shake_intensity_multiplier: float = 1.0 +@export var origin: Node3D = self + +## The overall constant [b]positional[/b] intensity that is being +## added up by [method apply_constant_shake]. +var constant_positional_intensity: float = 0.0 +# The overall constant [b]offset[/b] intensity that is being +# added up by [method apply_constant_shake]. +#var constant_offset_intensity: float = 0.0 +## The overall constant [b]rotational[/b] intensity that is being +## added up by [method apply_constant_shake]. +var constant_rotational_intensity: float = 0.0 +## The local origin at which we offset our positional shake from. +var shake_origin: Vector3 = position +## The local rotation at which we offset our rotational shake from. +var shake_rotation_origin: Vector3 = rotation +#var _offset_intensity: float = 0.0 +var _positional_intensity: float = 0.0 +var _rotational_intensity: float = 0.0 +var _duration: float = 0.001 +var _time_left: float = 0.0 + + +## Calls [method shake] on all cameras contained in [member cameras]. +static func shake_all_cameras(intensity: float, duration: float, shake_type := ShakeType.POSITIONAL) -> void: + for camera: ShakingCamera in cameras: + camera.shake(intensity, duration, shake_type) + + +## Calls [method apply_constant_shake] on all cameras contained in [member cameras]. +static func constant_shake_all_cameras(intensity: float, shake_type := ShakeType.POSITIONAL) -> void: + for camera: ShakingCamera in cameras: + camera.apply_constant_shake(intensity, shake_type) + + +func _enter_tree() -> void: + if not cameras.has(self): + cameras.append(self) + + +func _exit_tree() -> void: + cameras.erase(self) + + +func _process(delta: float) -> void: + var time_ratio: float = clampf(_time_left / _duration, 0.0, 1.0) + + #var offset_intensity: float = maxf(_offset_intensity * time_ratio, constant_offset_intensity) + #var _offset := Vector3( + #randf_range(-1.0, 1.0) * offset_intensity, + #randf_range(-1.0, 1.0) * offset_intensity, + #randf_range(-1.0, 1.0) * offset_intensity + #) + + var positional_intensity: float = maxf(_positional_intensity * time_ratio, constant_positional_intensity) + var position_offset := Vector3( + randf_range(-1.0, 1.0) * positional_intensity, + randf_range(-1.0, 1.0) * positional_intensity, + randf_range(-1.0, 1.0) * positional_intensity + ) + + var rotational_intensity: float = maxf(_rotational_intensity * time_ratio, constant_rotational_intensity) + var rotation_offset := Vector3( + # TAU is keeping the shake intensity similar with the position counterpart. + deg_to_rad(randf_range(-1.0, 1.0) * rotational_intensity) * TAU, + deg_to_rad(randf_range(-1.0, 1.0) * rotational_intensity) * TAU, + deg_to_rad(randf_range(-1.0, 1.0) * rotational_intensity) * TAU + ) + + #h_offset = _offset.x + #v_offset = _offset.y + position = shake_origin + (position_offset * shake_intensity_multiplier) + rotation = shake_rotation_origin + (rotation_offset * shake_intensity_multiplier) + _time_left = maxf(_time_left - delta, 0.0) + + if is_zero_approx(_time_left): + #_offset_intensity = 0.0 + _positional_intensity = 0.0 + _rotational_intensity = 0.0 + _duration = 0.001 + + #constant_offset_intensity = 0.0 + constant_positional_intensity = 0.0 + constant_rotational_intensity = 0.0 + + +# TODO: Document this better. +## Shakes the camera using [param intensity] and [param duration]. +func shake(intensity: float, duration: float, shake_type := ShakeType.POSITIONAL) -> void: + if shake_type == ShakeType.POSITIONAL or shake_type == ShakeType.BOTH: + _add_positional_shake(intensity, duration) + + if shake_type == ShakeType.ROTATIONAL or shake_type == ShakeType.BOTH: + _add_rotational_shake(intensity, duration) + + +## Adds a constant shake to the camera which [b]needs to be called every [method Node._process] frame[/b]. +func apply_constant_shake(intensity: float, shake_type: ShakeType) -> void: + #if shake_type == ShakeType.OFFSET: + #constant_offset_intensity += intensity + + if shake_type == ShakeType.POSITIONAL or shake_type == ShakeType.BOTH: + constant_positional_intensity += intensity + + if shake_type == ShakeType.ROTATIONAL or shake_type == ShakeType.BOTH: + constant_rotational_intensity += intensity + + +#func _add_offset_shake(intensity: float, duration: float) -> void: + #if intensity < _offset_intensity and duration < _time_left: + #return +# + #_duration = maxf(maxf(_duration, duration), 0.001) # Should always be above 0 due to division. + #_time_left = duration + #_offset_intensity = maxf(intensity, _offset_intensity) + + +func _add_positional_shake(intensity: float, duration: float) -> void: + if intensity < _positional_intensity and duration < _time_left: + return + + _duration = maxf(maxf(_duration, duration), 0.001) # Should always be above 0 due to division. + _time_left = duration + _positional_intensity = maxf(intensity, _positional_intensity) + + +func _add_rotational_shake(intensity: float, duration: float) -> void: + if intensity < _rotational_intensity and duration < _time_left: + return + + _duration = maxf(maxf(_duration, duration), 0.001) # Should always be above 0 due to division. + _time_left = duration + _rotational_intensity = maxf(intensity, _rotational_intensity) diff --git a/source/src/core/camera/shaking_camera.gd.uid b/source/src/core/camera/shaking_camera.gd.uid new file mode 100644 index 0000000..355e486 --- /dev/null +++ b/source/src/core/camera/shaking_camera.gd.uid @@ -0,0 +1 @@ +uid://44s0v8mukxk4 diff --git a/source/src/core/chapter/chapter_area.gd b/source/src/core/chapter/chapter_area.gd new file mode 100644 index 0000000..12db9f0 --- /dev/null +++ b/source/src/core/chapter/chapter_area.gd @@ -0,0 +1,30 @@ +class_name ChapterArea +extends Area3D + + +@export var chapter_index: int = 0 +@export var override_spawn_id: bool = true +@export var spawn_id: StringName = &"" +@export var display_chapter: bool = true +@export var do_save: bool = true + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + body_entered.connect(_on_body_entered) + + +func set_chapter() -> void: + if chapter_index > GameGlobals.chapter_index: + GameGlobals.set_chapter_index(chapter_index) + + if override_spawn_id: + GameGlobals.set_spawn_id(spawn_id) + + if do_save: + SaveManager.save_game() + + +func _on_body_entered(body: Node3D) -> void: + if body == GameGlobals.get_player(): + set_chapter() diff --git a/source/src/core/chapter/chapter_area.gd.uid b/source/src/core/chapter/chapter_area.gd.uid new file mode 100644 index 0000000..04eb1de --- /dev/null +++ b/source/src/core/chapter/chapter_area.gd.uid @@ -0,0 +1 @@ +uid://dgsfc4i6bovwa diff --git a/source/src/core/chapter/chapter_area.tscn b/source/src/core/chapter/chapter_area.tscn new file mode 100644 index 0000000..92fd643 --- /dev/null +++ b/source/src/core/chapter/chapter_area.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://bcu5jlicrvor3"] + +[ext_resource type="Script" uid="uid://dgsfc4i6bovwa" path="res://src/core/chapter/chapter_area.gd" id="1_0d8c8"] + +[node name="ChapterArea" type="Area3D"] +collision_layer = 0 +collision_mask = 2 +script = ExtResource("1_0d8c8") +metadata/_custom_type_script = "uid://dgsfc4i6bovwa" diff --git a/source/src/core/chapter/chapter_info.gd b/source/src/core/chapter/chapter_info.gd new file mode 100644 index 0000000..2a2759a --- /dev/null +++ b/source/src/core/chapter/chapter_info.gd @@ -0,0 +1,5 @@ +class_name ChapterInfo +extends Resource + +@export_multiline var chapter_name: String +@export var chapter_index: int = 0 diff --git a/source/src/core/chapter/chapter_info.gd.uid b/source/src/core/chapter/chapter_info.gd.uid new file mode 100644 index 0000000..66bcff5 --- /dev/null +++ b/source/src/core/chapter/chapter_info.gd.uid @@ -0,0 +1 @@ +uid://c44lgfadvcshb diff --git a/source/src/core/chapter/chapter_list.gd b/source/src/core/chapter/chapter_list.gd new file mode 100644 index 0000000..2c60f10 --- /dev/null +++ b/source/src/core/chapter/chapter_list.gd @@ -0,0 +1,12 @@ +class_name ChapterList +extends Resource + +@export var chapters: Array[ChapterInfo] = [] + + +func get_chapter_by_index(index: int) -> ChapterInfo: + for chapter: ChapterInfo in chapters: + if chapter.chapter_index == index: + return chapter + + return null diff --git a/source/src/core/chapter/chapter_list.gd.uid b/source/src/core/chapter/chapter_list.gd.uid new file mode 100644 index 0000000..40fb20b --- /dev/null +++ b/source/src/core/chapter/chapter_list.gd.uid @@ -0,0 +1 @@ +uid://cqja8sanwo0u6 diff --git a/source/src/core/chapter/chapter_list.tres b/source/src/core/chapter/chapter_list.tres new file mode 100644 index 0000000..f896b66 --- /dev/null +++ b/source/src/core/chapter/chapter_list.tres @@ -0,0 +1,20 @@ +[gd_resource type="Resource" script_class="ChapterList" load_steps=5 format=3 uid="uid://d2mcwotliowv7"] + +[ext_resource type="Script" uid="uid://c44lgfadvcshb" path="res://src/core/chapter/chapter_info.gd" id="1_cnrwn"] +[ext_resource type="Script" uid="uid://cqja8sanwo0u6" path="res://src/core/chapter/chapter_list.gd" id="2_oadm2"] + +[sub_resource type="Resource" id="Resource_v2h50"] +script = ExtResource("1_cnrwn") +chapter_name = "Chapter 1: The Beginning" +metadata/_custom_type_script = "uid://c44lgfadvcshb" + +[sub_resource type="Resource" id="Resource_wiqag"] +script = ExtResource("1_cnrwn") +chapter_name = "Chapter 2: Another Life" +chapter_index = 1 +metadata/_custom_type_script = "uid://c44lgfadvcshb" + +[resource] +script = ExtResource("2_oadm2") +chapters = Array[ExtResource("1_cnrwn")]([SubResource("Resource_v2h50"), SubResource("Resource_wiqag")]) +metadata/_custom_type_script = "uid://cqja8sanwo0u6" diff --git a/source/src/core/damage/death_area.gd b/source/src/core/damage/death_area.gd new file mode 100644 index 0000000..b628919 --- /dev/null +++ b/source/src/core/damage/death_area.gd @@ -0,0 +1,13 @@ +class_name DeathArea +extends Area3D + +@export var death_type := GameGlobals.DeathTypes.SAW + + +func _ready() -> void: + body_entered.connect(_on_body_entered) + + +func _on_body_entered(body: Node3D) -> void: + if body == GameGlobals.get_player(): + GameGlobals.kill_player(death_type) \ No newline at end of file diff --git a/source/src/core/damage/death_area.gd.uid b/source/src/core/damage/death_area.gd.uid new file mode 100644 index 0000000..a1c247b --- /dev/null +++ b/source/src/core/damage/death_area.gd.uid @@ -0,0 +1 @@ +uid://bfv3de7iqflhv diff --git a/source/components/collision/areas/dynamic_area_loader.gd b/source/src/core/dynamic_area_loader/dynamic_area_loader.gd similarity index 98% rename from source/components/collision/areas/dynamic_area_loader.gd rename to source/src/core/dynamic_area_loader/dynamic_area_loader.gd index 8229bfa..cabe065 100644 --- a/source/components/collision/areas/dynamic_area_loader.gd +++ b/source/src/core/dynamic_area_loader/dynamic_area_loader.gd @@ -3,6 +3,7 @@ class_name DynamicAreaLoader3D extends Area3D +## @deprecated: Replaced by LevelArea ## An [Area3D] that dynamicly load a scene based on proximity. ## ## [b]Note:[/b] By default the [signal body_entered] and [signal body_exited] signals are linked @@ -40,10 +41,10 @@ var loaded_node: Node func _ready() -> void: if Engine.is_editor_hint(): return - + if loaded_if_spawnpoint.has(GameGlobals.spawn_index): load_area(null, true) - + body_entered.connect(_on_body_entered) body_exited.connect(_on_body_exited) @@ -55,10 +56,10 @@ func _ready() -> void: func load_area(custom_scene: PackedScene = null, forced: bool = false) -> void: assert(is_instance_valid(placeholder_node), "[placeholder_node] needs to be set.") assert(placeholder_node is InstancePlaceholder, "[placeholder_node] needs to be marked as 'Load As Placeholder'.") - + if is_instance_valid(loaded_node) or (not forced and not overlaps_body(GameGlobals.get_player())): return - + loaded_node = placeholder_node.create_instance(false, custom_scene) load_finished.emit(loaded_node) @@ -70,20 +71,19 @@ func load_area(custom_scene: PackedScene = null, forced: bool = false) -> void: func load_area_threaded(forced: bool = false) -> void: assert(is_instance_valid(placeholder_node), "[placeholder_node] needs to be set.") assert(placeholder_node is InstancePlaceholder, "[placeholder_node] needs to be marked as 'Load As Placeholder'.") - + placeholder_node = placeholder_node as InstancePlaceholder - + var path: String = placeholder_node.get_instance_path() ResourceLoader.load_threaded_request(path, "", true) - + while ResourceLoader.load_threaded_get_status(path) == ResourceLoader.THREAD_LOAD_IN_PROGRESS: if not is_inside_tree(): return - + await get_tree().process_frame - + var scene: PackedScene = ResourceLoader.load_threaded_get(path) - load_area(scene, forced) @@ -93,17 +93,17 @@ func load_area_threaded(forced: bool = false) -> void: func unload_area(instantly_unload: bool = false) -> void: if not is_instance_valid(loaded_node): return - + if not instantly_unload and keep_loaded_duration > 0.0: var duration: float = keep_loaded_duration - + while is_inside_tree() and duration > 0.0: if overlaps_body(GameGlobals.get_player()): return - + duration -= get_process_delta_time() await get_tree().process_frame - + loaded_node.queue_free() @@ -123,9 +123,9 @@ func _on_body_exited(body: Node3D) -> void: func _get_configuration_warnings() -> PackedStringArray: if not is_instance_valid(placeholder_node): return ["'placeholder_node' is not set."] - + # TODO: Find a way to detect that in the editor. if placeholder_node is not InstancePlaceholder and false: return ["'placeholder_node' needs to be marked as 'Load As Placeholder'"] - + return [] diff --git a/source/components/collision/areas/dynamic_area_loader.gd.uid b/source/src/core/dynamic_area_loader/dynamic_area_loader.gd.uid similarity index 100% rename from source/components/collision/areas/dynamic_area_loader.gd.uid rename to source/src/core/dynamic_area_loader/dynamic_area_loader.gd.uid diff --git a/source/components/collision/areas/dynamic_area_loader.svg b/source/src/core/dynamic_area_loader/dynamic_area_loader.svg similarity index 100% rename from source/components/collision/areas/dynamic_area_loader.svg rename to source/src/core/dynamic_area_loader/dynamic_area_loader.svg diff --git a/source/src/core/dynamic_area_loader/dynamic_area_loader.svg.import b/source/src/core/dynamic_area_loader/dynamic_area_loader.svg.import new file mode 100644 index 0000000..e979f30 --- /dev/null +++ b/source/src/core/dynamic_area_loader/dynamic_area_loader.svg.import @@ -0,0 +1,44 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4qsmkgrm8frw" +path="res://.godot/imported/dynamic_area_loader.svg-bb5edbb9d069c941e62133cf9dbec682.ctex" +metadata={ +"has_editor_variant": true, +"vram_texture": false +} + +[deps] + +source_file="res://src/core/dynamic_area_loader/dynamic_area_loader.svg" +dest_files=["res://.godot/imported/dynamic_area_loader.svg-bb5edbb9d069c941e62133cf9dbec682.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=true +editor/convert_colors_with_editor_theme=true diff --git a/source/src/core/dynamic_area_loader/dynamic_area_loader.tscn b/source/src/core/dynamic_area_loader/dynamic_area_loader.tscn new file mode 100644 index 0000000..bacb15d --- /dev/null +++ b/source/src/core/dynamic_area_loader/dynamic_area_loader.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://hrdl2qmxv3ve"] + +[ext_resource type="Script" uid="uid://bj2bhtdul8xct" path="res://src/core/dynamic_area_loader/dynamic_area_loader.gd" id="1_gcydo"] + +[node name="DynamicAreaLoader" type="Area3D"] +collision_layer = 0 +collision_mask = 2 +script = ExtResource("1_gcydo") +metadata/_custom_type_script = "uid://bj2bhtdul8xct" diff --git a/source/components/general/interactive_loader.gd b/source/src/core/interactive_loader.gd similarity index 62% rename from source/components/general/interactive_loader.gd rename to source/src/core/interactive_loader.gd index 5ce4559..2efb730 100644 --- a/source/components/general/interactive_loader.gd +++ b/source/src/core/interactive_loader.gd @@ -6,24 +6,24 @@ var load_progress: Array = [] func load_threaded(path: String) -> Resource: if not is_inside_tree(): - Logger.print_msg("[Interactive Loader] needs to be added to the scene tree.", -1.0, Logger.ErrTypes.WARNING) + SPrint.print_msg("[Interactive Loader] needs to be added to the scene tree.", -1.0, SPrint.WARNING) return null - + if not ResourceLoader.exists(path): - Logger.print_msg("[Interactive Loader] the given path (%s) doesn't exist." %path, -1.0, Logger.ErrTypes.WARNING) + SPrint.print_msg("[Interactive Loader] the given path (%s) doesn't exist." % path, -1.0, SPrint.WARNING) return null - + ResourceLoader.load_threaded_request(path, "", false, ResourceLoader.CACHE_MODE_REUSE) - + while ResourceLoader.load_threaded_get_status(path) != ResourceLoader.THREAD_LOAD_LOADED: match ResourceLoader.load_threaded_get_status(path, load_progress): ResourceLoader.THREAD_LOAD_FAILED || ResourceLoader.THREAD_LOAD_INVALID_RESOURCE: - Logger.print_msg("[Interactive Loader] load failed.", -1.0, Logger.ErrTypes.WARNING) + SPrint.print_msg("[Interactive Loader] load failed.", -1.0, SPrint.WARNING) return null - + if is_inside_tree(): await get_tree().process_frame else: - Logger.print_msg("[Interactive Loader] is no longer in the scene tree. We can't wait for a process frame anymore, resulting in a freeze.", -1.0, Logger.ErrTypes.WARNING) - + SPrint.print_msg("[Interactive Loader] is no longer in the scene tree. We can't wait for a process frame anymore, resulting in a freeze.", -1.0, SPrint.WARNING) + return ResourceLoader.load_threaded_get(path) diff --git a/source/components/general/interactive_loader.gd.uid b/source/src/core/interactive_loader.gd.uid similarity index 100% rename from source/components/general/interactive_loader.gd.uid rename to source/src/core/interactive_loader.gd.uid diff --git a/source/src/core/level/level.gd b/source/src/core/level/level.gd new file mode 100644 index 0000000..d458ccb --- /dev/null +++ b/source/src/core/level/level.gd @@ -0,0 +1,8 @@ +class_name Level +extends Node3D + + +#func _enter_tree() -> void: + #if not is_instance_valid(GameGlobals.game): + #print("Game not ready, spawning player.") + #GameGlobals diff --git a/source/src/core/level/level.gd.uid b/source/src/core/level/level.gd.uid new file mode 100644 index 0000000..60448d8 --- /dev/null +++ b/source/src/core/level/level.gd.uid @@ -0,0 +1 @@ +uid://cigop0ivp5vvu diff --git a/source/src/core/level/level_area.gd b/source/src/core/level/level_area.gd new file mode 100644 index 0000000..3620185 --- /dev/null +++ b/source/src/core/level/level_area.gd @@ -0,0 +1,47 @@ +class_name LevelArea +extends Area3D + +@export var level_loader: LevelLoader +@export var loaded_if_spawnpoint: Array[PlayerSpawnPoint] = [] +@export var keep_loaded_duration: float = 3.0 + + +func _enter_tree() -> void: + for spawnpoint: PlayerSpawnPoint in loaded_if_spawnpoint: + if GameGlobals.spawn_id == spawnpoint.spawn_id: + var was_threaded: bool = level_loader.load_threaded + load_level() + level_loader.load_threaded = was_threaded + return + + +func _ready() -> void: + await get_tree().process_frame + await get_tree().process_frame + + body_entered.connect(load_level.unbind(1)) + body_exited.connect(unload_level.unbind(1)) + + +func load_level() -> void: + assert(is_instance_valid(level_loader), "Level loader needs to be set.") + level_loader.load_level() + + +func unload_level() -> void: + assert(is_instance_valid(level_loader), "Level loader needs to be set.") + + if keep_loaded_duration > 0.0: + var duration: float = keep_loaded_duration + + while is_inside_tree() and duration > 0.0: + if has_overlapping_bodies(): + return + + duration -= get_process_delta_time() * float(not get_tree().paused) + await get_tree().process_frame + + if not is_instance_valid(get_tree()): + return + + level_loader.unload_level() diff --git a/source/src/core/level/level_area.gd.uid b/source/src/core/level/level_area.gd.uid new file mode 100644 index 0000000..ae91842 --- /dev/null +++ b/source/src/core/level/level_area.gd.uid @@ -0,0 +1 @@ +uid://b6pf67e8p8ly1 diff --git a/source/src/core/level/level_area.tscn b/source/src/core/level/level_area.tscn new file mode 100644 index 0000000..09ed3b7 --- /dev/null +++ b/source/src/core/level/level_area.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=2 format=3 uid="uid://drr80goa61wrx"] + +[ext_resource type="Script" uid="uid://b6pf67e8p8ly1" path="res://src/core/level/level_area.gd" id="1_b21gt"] + +[node name="LevelArea" type="Area3D"] +collision_layer = 0 +collision_mask = 2 +monitorable = false +script = ExtResource("1_b21gt") +metadata/_custom_type_script = "uid://b6pf67e8p8ly1" diff --git a/source/src/core/level/level_loader.gd b/source/src/core/level/level_loader.gd new file mode 100644 index 0000000..7c5f9fb --- /dev/null +++ b/source/src/core/level/level_loader.gd @@ -0,0 +1,55 @@ +@tool +class_name LevelLoader +extends Marker3D + +signal level_loaded +signal level_unloaded + +@export_file("*.tscn", "*.scn") var scene_path: String +@export var load_threaded: bool = true +@export_tool_button("Load Level", "Slot") var editor_load: Callable = load_level +@export_tool_button("Unload Level", "Clear") var editor_unload: Callable = unload_level + +var level: Node + + +func load_level() -> void: + if is_instance_valid(level): + if level.scene_file_path == scene_path: + push_warning("Level already loaded") + return + + unload_level() + + var scene: PackedScene + + if load_threaded: + scene = await _load_level_threaded() + else: + scene = load(scene_path) + + assert(is_instance_valid(scene), "Scene is not valid.") + + level = scene.instantiate() + add_child(level) + + level_loaded.emit() + + +func unload_level() -> void: + if is_instance_valid(level): + level.queue_free() + + # Remove children that have no owner. Usually happens when duplicating the node (in the editor). + for child: Node in get_children(): + if child.owner == null: + child.queue_free() + + level_unloaded.emit() + + +func _load_level_threaded() -> PackedScene: + var interactive_loader := InteractiveLoader.new() + add_child(interactive_loader) + + return await interactive_loader.load_threaded(scene_path) diff --git a/source/src/core/level/level_loader.gd.uid b/source/src/core/level/level_loader.gd.uid new file mode 100644 index 0000000..5274d96 --- /dev/null +++ b/source/src/core/level/level_loader.gd.uid @@ -0,0 +1 @@ +uid://dfnb036hysorj diff --git a/source/src/core/level/level_manager.gd b/source/src/core/level/level_manager.gd new file mode 100644 index 0000000..2cb9b8c --- /dev/null +++ b/source/src/core/level/level_manager.gd @@ -0,0 +1,8 @@ +class_name LevelManager +extends Node + + +var level_loaders: Array[LevelLoader] + +func _ready() -> void: + pass diff --git a/source/src/core/level/level_manager.gd.uid b/source/src/core/level/level_manager.gd.uid new file mode 100644 index 0000000..f39ad8f --- /dev/null +++ b/source/src/core/level/level_manager.gd.uid @@ -0,0 +1 @@ +uid://c6uuja44ioul4 diff --git a/source/src/core/player_spawn_point.gd b/source/src/core/player_spawn_point.gd new file mode 100644 index 0000000..429ae4c --- /dev/null +++ b/source/src/core/player_spawn_point.gd @@ -0,0 +1,164 @@ +@tool +class_name PlayerSpawnPoint +extends Marker3D + +const _UNIQUE_NAME_GEN_PRE: Array[String] = [ + "Be", + "Finish", + "What", + "Who", + "Slow", + "Come", + "Clean", + "Leave", + "I", + "No", + "Take", + "For", + "Good", + "Look", + "Sit", + "Your", + "Keep", + "Join", + "Dream", + "Stay", + "Inform", + "Eat", +] +const _UNIQUE_NAME_GEN_POST: Array[String] = [ + "Quiet", + "Quit", + "Calm", + "It", + "Move", + "Else", + "Knows", + "Down", + "Along", + "Up", + "Amazing", + "Disagree", + "Problem", + "Happened", + "Care", + "What", + "Impossible", + "Bath", + "Idea", + "Around", + "Upright", + "Doubt", + "Turn", + "Say", + "Fantastic", + "Me", + "Nonsense", + "World", + "Strong", + "Well", + "Slowly", +] + +static var spawn_points: Array[PlayerSpawnPoint] = [] + +@export var spawn_id: StringName = &"": set = set_spawn_id +@export_tool_button("Set unique identifier") var set_unique_identifier: Callable = ( + func() -> void: + set_spawn_id(generate_unique_identifier()) + update_configuration_warnings() +) + +var _idx_label: Label3D +var _config_warnings_hint: Label3D + + +static func get_spawn_point_by_identifier(identifier: StringName) -> PlayerSpawnPoint: + for spawn_point: PlayerSpawnPoint in PlayerSpawnPoint.spawn_points: + if spawn_point.spawn_id == identifier: + return spawn_point + + return null + + +func _init() -> void: + if Engine.is_editor_hint(): + var player_scene: PackedScene = load("uid://clhy3kiceqf2o") + add_child(player_scene.instantiate(), false, Node.INTERNAL_MODE_FRONT) + + # Setup labels. + _idx_label = Label3D.new() + _idx_label.billboard = BaseMaterial3D.BILLBOARD_ENABLED + _idx_label.shaded = false + _idx_label.font_size = 64 + add_child(_idx_label, false, Node.INTERNAL_MODE_FRONT) + _idx_label.position.y = 1.8 + set_spawn_id(spawn_id) + + _config_warnings_hint = Label3D.new() + _config_warnings_hint.billboard = BaseMaterial3D.BILLBOARD_ENABLED + _config_warnings_hint.shaded = false + _config_warnings_hint.no_depth_test = true + _config_warnings_hint.fixed_size = true + _config_warnings_hint.text = "!" + _config_warnings_hint.modulate = Color.RED + add_child(_config_warnings_hint, false, Node.INTERNAL_MODE_FRONT) + _config_warnings_hint.position.y = 1.0 + + var tween: Tween = create_tween().set_loops() + tween.tween_property(_config_warnings_hint, ^"scale", Vector3.ONE * 1.5, 0.075) + tween.tween_property(_config_warnings_hint, ^"scale", Vector3.ONE * 1.0, 0.075) + + update_configuration_warnings() + + +func _enter_tree() -> void: + if not spawn_points.has(self): + spawn_points.append(self) + + +func _exit_tree() -> void: + spawn_points.erase(self) + + +func _get_configuration_warnings() -> PackedStringArray: + var warnings: PackedStringArray = [] + + for spawn_point: PlayerSpawnPoint in spawn_points: + if spawn_point.spawn_id == spawn_id and spawn_point != self: + warnings.append(str(spawn_point, " has the same spawn identifier as us.")) + spawn_point._config_warnings_hint.show() + + spawn_point.update_configuration_warnings() + + if warnings.is_empty(): + _config_warnings_hint.hide() + + return warnings + + +func set_spawn_id(identifier: StringName) -> void: + spawn_id = identifier + update_configuration_warnings() + + if is_instance_valid(_idx_label): + _idx_label.text = str(spawn_id) + + +func make_current(do_autosave: bool = true) -> void: + GameGlobals.spawn_id = spawn_id + + if do_autosave: + SaveManager.save_game() + + +func generate_unique_identifier() -> StringName: + var pre: String = _UNIQUE_NAME_GEN_PRE.pick_random() + var post: String = _UNIQUE_NAME_GEN_POST.pick_random() + var unique_name: StringName = pre + post + + for spawn_point: PlayerSpawnPoint in spawn_points: + if spawn_point.spawn_id == unique_name: + return generate_unique_identifier() + + return unique_name diff --git a/source/components/general/player_spawn_point.gd.uid b/source/src/core/player_spawn_point.gd.uid similarity index 100% rename from source/components/general/player_spawn_point.gd.uid rename to source/src/core/player_spawn_point.gd.uid diff --git a/source/components/general/time/stopwatch.gd b/source/src/core/time/stopwatch.gd similarity index 100% rename from source/components/general/time/stopwatch.gd rename to source/src/core/time/stopwatch.gd diff --git a/source/components/general/time/stopwatch.gd.uid b/source/src/core/time/stopwatch.gd.uid similarity index 100% rename from source/components/general/time/stopwatch.gd.uid rename to source/src/core/time/stopwatch.gd.uid diff --git a/source/components/general/time/stopwatch.svg b/source/src/core/time/stopwatch.svg similarity index 100% rename from source/components/general/time/stopwatch.svg rename to source/src/core/time/stopwatch.svg diff --git a/source/components/general/time/stopwatch.svg.import b/source/src/core/time/stopwatch.svg.import similarity index 62% rename from source/components/general/time/stopwatch.svg.import rename to source/src/core/time/stopwatch.svg.import index b9dcb2a..42ee983 100644 --- a/source/components/general/time/stopwatch.svg.import +++ b/source/src/core/time/stopwatch.svg.import @@ -3,21 +3,23 @@ importer="texture" type="CompressedTexture2D" uid="uid://tp3a265sgd56" -path="res://.godot/imported/stopwatch.svg-08e28e82dba60f19b1db4b5017ec9c2b.ctex" +path="res://.godot/imported/stopwatch.svg-64a23047faca9e271f81f184f25d7e9b.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://components/general/time/stopwatch.svg" -dest_files=["res://.godot/imported/stopwatch.svg-08e28e82dba60f19b1db4b5017ec9c2b.ctex"] +source_file="res://src/core/time/stopwatch.svg" +dest_files=["res://.godot/imported/stopwatch.svg-64a23047faca9e271f81f184f25d7e9b.ctex"] [params] compress/mode=0 compress/high_quality=false compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 compress/hdr_compression=1 compress/normal_map=0 compress/channel_pack=0 @@ -25,6 +27,10 @@ mipmaps/generate=false mipmaps/limit=-1 roughness/mode=0 roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 process/fix_alpha_border=true process/premult_alpha=false process/normal_map_invert_y=false diff --git a/source/components/general/time/timescalable_timer.gd b/source/src/core/time/timescalable_timer.gd similarity index 98% rename from source/components/general/time/timescalable_timer.gd rename to source/src/core/time/timescalable_timer.gd index 2f45800..93fbc78 100644 --- a/source/components/general/time/timescalable_timer.gd +++ b/source/src/core/time/timescalable_timer.gd @@ -1,4 +1,4 @@ -@icon("res://components/ui/hud/timer/stopwatch.svg") +@icon("res://src/ui/hud/timer/stopwatch.svg") class_name TimescalableTimer extends Node diff --git a/source/components/general/time/timescalable_timer.gd.uid b/source/src/core/time/timescalable_timer.gd.uid similarity index 100% rename from source/components/general/time/timescalable_timer.gd.uid rename to source/src/core/time/timescalable_timer.gd.uid diff --git a/source/src/core/world_environment_proxy.gd b/source/src/core/world_environment_proxy.gd new file mode 100644 index 0000000..14b72b9 --- /dev/null +++ b/source/src/core/world_environment_proxy.gd @@ -0,0 +1,20 @@ +class_name WorldEnvironmentProxy +extends Node + +@export var environment: Environment +#@export var camera_attributes: CameraAttributes +#@export var compositor: Compositor + +#var world_environment: WorldEnvironment + + +func _enter_tree() -> void: + if not is_node_ready(): + await ready + + get_viewport().world_3d.environment = environment + + +func _exit_tree() -> void: + if get_viewport().world_3d.environment == environment: + get_viewport().world_3d.environment = null diff --git a/source/src/core/world_environment_proxy.gd.uid b/source/src/core/world_environment_proxy.gd.uid new file mode 100644 index 0000000..f3518bf --- /dev/null +++ b/source/src/core/world_environment_proxy.gd.uid @@ -0,0 +1 @@ +uid://dhchf3gl08sdi diff --git a/source/src/dialogue/voiceline_chain.gd b/source/src/dialogue/voiceline_chain.gd new file mode 100644 index 0000000..bd3bc63 --- /dev/null +++ b/source/src/dialogue/voiceline_chain.gd @@ -0,0 +1,14 @@ +class_name VoicelineChain +extends Resource + +@export var voicelines: Array[VoicelineData] = [] + +#var cached_voicelines: Array[AudioStream] = [] +# +# +#func _precache_voicelines() -> void: + #cached_voicelines.clear() +# + #for data: VoicelineData in voicelines: + #if ResourceLoader.exists(data.voiceline_path): + #cached_voicelines.append(load(data.voiceline_path)) diff --git a/source/src/dialogue/voiceline_chain.gd.uid b/source/src/dialogue/voiceline_chain.gd.uid new file mode 100644 index 0000000..7f6ba29 --- /dev/null +++ b/source/src/dialogue/voiceline_chain.gd.uid @@ -0,0 +1 @@ +uid://ck1o8pl1gqfio diff --git a/source/src/dialogue/voiceline_component.gd b/source/src/dialogue/voiceline_component.gd new file mode 100644 index 0000000..32db091 --- /dev/null +++ b/source/src/dialogue/voiceline_component.gd @@ -0,0 +1,80 @@ +class_name VoicelineComponent +extends Node + +@export_node_path("AudioStreamPlayer", "AudioStreamPlayer2D", "AudioListener3D") +var audio_players: Array[NodePath] = []: + set = set_audio_players +@export var voiceline_chains: Dictionary[StringName, VoicelineChain] = {} +@export var cache_voicelines: bool = false ## TODO: preload all voicelines when they need the be loaded. + +var voiceline_players: Array[Node] = [] +var next_voicelines: Array[VoicelineChain] = [] +var current_voiceline_chain_index: int = 0 +var _reference_player: Node + + +func set_audio_players(players: Array[NodePath]) -> void: + audio_players = players + _update_player_cache() + + +func push_voiceline(voiceline_chain: VoicelineChain) -> void: + next_voicelines.append(voiceline_chain) + + +func push_next_voiceline() -> void: + var voiceline: VoicelineChain = next_voicelines.front() + + if is_instance_valid(voiceline) and current_voiceline_chain_index < voiceline.voicelines.size(): + current_voiceline_chain_index += 1 + _play_voiceline(voiceline.voicelines[current_voiceline_chain_index]) + return + + next_voicelines.remove_at(0) + voiceline = next_voicelines.front() + current_voiceline_chain_index = 0 + + if is_instance_valid(voiceline): + _play_voiceline(voiceline.voicelines.front()) + + +func play_voiceline(vo_name: StringName) -> void: + if voiceline_chains.has(vo_name): + push_voiceline(voiceline_chains[vo_name]) + else: + push_warning("[%s] No voiceline with the name '%s' found." % [self, vo_name]) + + +func is_audio_player(player: Node) -> bool: + return ( + is_instance_valid(player) + and ( + player is AudioStreamPlayer + or player is AudioStreamPlayer2D + or player is AudioStreamPlayer3D + ) + ) + + +func _play_voiceline(voiceline_data: VoicelineData) -> void: + var voice: AudioStream = load(voiceline_data.voiceline_path) + + for player: Node in voiceline_players: + player.play(voice) + + +func _on_voiceline_finished() -> void: + push_next_voiceline() + + +func _update_player_cache() -> void: + voiceline_players.clear() + + for audio_player: NodePath in audio_players: + var player: Node = get_node_or_null(audio_player) + + if is_audio_player(player): + voiceline_players.append(player) + _reference_player = player + + _reference_player.finished.connect(_on_voiceline_finished) diff --git a/source/src/dialogue/voiceline_component.gd.uid b/source/src/dialogue/voiceline_component.gd.uid new file mode 100644 index 0000000..c8908ee --- /dev/null +++ b/source/src/dialogue/voiceline_component.gd.uid @@ -0,0 +1 @@ +uid://chm33pvd77o5e diff --git a/source/src/dialogue/voiceline_data.gd b/source/src/dialogue/voiceline_data.gd new file mode 100644 index 0000000..9a5f19e --- /dev/null +++ b/source/src/dialogue/voiceline_data.gd @@ -0,0 +1,9 @@ +class_name VoicelineData +extends Resource + + +@export_file("*.ogg", "*.wav", "*.mp3") var voiceline_path: String +@export var subtitle: String = "" +@export var volume_override: float = -1.0 + +#var cached_voicelien: AudioStream diff --git a/source/src/dialogue/voiceline_data.gd.uid b/source/src/dialogue/voiceline_data.gd.uid new file mode 100644 index 0000000..44d60e3 --- /dev/null +++ b/source/src/dialogue/voiceline_data.gd.uid @@ -0,0 +1 @@ +uid://drl4bietwsiul diff --git a/source/src/game.gd b/source/src/game.gd new file mode 100644 index 0000000..5cfd3fd --- /dev/null +++ b/source/src/game.gd @@ -0,0 +1,38 @@ +class_name Game +extends Node + +const PLAYER: PackedScene = preload(GameGlobals.PLAYER_PATH) + +@export var debug_spawn_point: StringName = &"" +@export_range(-1, 0, 1, "or_greater") var debug_chapter_idx: int = -1 + +var player_character: PlayerCharacter + + +func _init() -> void: + if OS.has_feature("editor") and not debug_spawn_point.is_empty(): + GameGlobals.set_spawn_id(debug_spawn_point) + + if debug_chapter_idx >= 0: + GameGlobals.set_chapter_index(debug_chapter_idx) + + GameGlobals.game = self + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + spawn_player() + + AudioManager.play_audio(preload("uid://cyxvsy5wjxhl7"), AudioManager.AMBIENCE) + + +func spawn_player() -> void: + player_character = PLAYER.instantiate() + add_child(player_character) + + var spawnpoint := PlayerSpawnPoint.get_spawn_point_by_identifier(GameGlobals.spawn_id) + + if is_instance_valid(spawnpoint): + player_character.global_position = spawnpoint.global_position + player_character.head.global_rotation = spawnpoint.global_rotation diff --git a/source/game.gd.uid b/source/src/game.gd.uid similarity index 100% rename from source/game.gd.uid rename to source/src/game.gd.uid diff --git a/source/src/game.tscn b/source/src/game.tscn new file mode 100644 index 0000000..68d9314 --- /dev/null +++ b/source/src/game.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=5 format=3 uid="uid://s7cw6ulb7kh7"] + +[ext_resource type="Script" uid="uid://dbsjg3o61vuji" path="res://src/game.gd" id="1_fc0e3"] +[ext_resource type="PackedScene" uid="uid://dawmen0hlfaaq" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="3_feb5d"] +[ext_resource type="PackedScene" uid="uid://kne8gkorpuop" path="res://src/ui/menus/death_screen/death_screen.tscn" id="4_j5wjh"] +[ext_resource type="PackedScene" uid="uid://dspysc2bld6eu" path="res://src/levels/expo_combined.tscn" id="6_aikvj"] + +[node name="Game" type="Node"] +script = ExtResource("1_fc0e3") +metadata/_custom_type_script = "uid://dbsjg3o61vuji" + +[node name="Menus" type="CanvasLayer" parent="."] + +[node name="DeathScreen" parent="Menus" instance=ExtResource("4_j5wjh")] + +[node name="PauseMenu" parent="Menus" instance=ExtResource("3_feb5d")] + +[node name="CombinedMaps" parent="." instance=ExtResource("6_aikvj")] diff --git a/source/components/characters/character_base.gd b/source/src/gameplay/characters/character.gd similarity index 83% rename from source/components/characters/character_base.gd rename to source/src/gameplay/characters/character.gd index 03a4170..22f1be3 100644 --- a/source/components/characters/character_base.gd +++ b/source/src/gameplay/characters/character.gd @@ -1,7 +1,8 @@ -class_name CharacterBase3D +class_name Character3D extends CharacterBody3D -@export var movement: CharacterMovementBase +@export var movement: CharacterMovement +@export var speed_scale: float = 1.0 var speed: float = 0.0 var movement_direction: Vector3 @@ -11,76 +12,80 @@ var air_control: float = 1.0 var freeze_air_control: bool = false var last_platform_velocity := Vector3.ZERO var _was_on_floor: bool = false +var _previous_velocity: Vector3 func move(direction: Vector3, delta: float) -> void: - direction *= speed - + direction *= (speed * speed_scale) + var on_floor: bool = is_on_floor() - + if on_floor: last_platform_velocity = get_platform_velocity() - + # Remove platform velocity when landing. if not _was_on_floor: - velocity -= get_platform_velocity() # TODO: Test if last_platform_velocity is desired. + velocity -= get_platform_velocity() # TODO: Test if last_platform_velocity is desired. else: direction += last_platform_velocity - + _was_on_floor = on_floor - + var acceleration: float = movement.max_acceleration if on_floor else movement.max_air_acceleration var deceleration: float = movement.max_friction if on_floor else movement.max_air_friction var turning_speed: float = movement.max_turning_speed if on_floor else movement.max_air_turning_speed - + var speed_change: float = acceleration - + if direction.is_zero_approx(): speed_change = deceleration else: var flat_velocity: Vector3 = velocity * Utils.VEC3_HOR - + if direction.sign() != flat_velocity.sign(): speed_change = turning_speed - + #DebugDraw3D.draw_arrow(global_position, global_position + direction, Color.ORANGE, 0.5, true) direction.y = velocity.y - + speed_change *= ground_control if on_floor else air_control - + if on_floor and not freeze_air_control: air_control = 1.0 - + velocity = velocity.move_toward(direction, speed_change * delta) + + await get_tree().physics_frame + _previous_velocity = velocity #DebugDraw3D.draw_arrow(global_position, global_position + velocity, Color.BLUE, 0.5, true) - #Logger.print_msg("%s Velocity: %s" %[self , velocity], 0.02) + #SPrint.print_msg("%s Velocity: %s" %[self , velocity], 0.02) ## @tutorial: https://gmtk.itch.io/platformer-toolkit/devlog/395523/behind-the-code func apply_gravity(delta: float) -> void: var margin: float = movement.gravity_check_margin var gravity_multiplier: float = 1.0 - + if velocity.y < -margin: - #Logger.print_msg("Falling\n%s" %velocity.y, 0.02) + #SPrint.print_msg("Falling\n%s" %velocity.y, 0.02) gravity_multiplier = movement.fall_gravity_multiplier elif velocity.y > margin: - #Logger.print_msg("Rising\n%s" %velocity.y, 0.02) + #SPrint.print_msg("Rising\n%s" %velocity.y, 0.02) gravity_multiplier = movement.rise_gravity_multiplier else: - #Logger.print_msg("Peaking\n%s" %velocity.y, 0.02) + #SPrint.print_msg("Peaking\n%s" %velocity.y, 0.02) gravity_multiplier = movement.peak_gravity_multiplier - + velocity.y -= (movement.get_gravity() * gravity_multiplier) * delta ## @tutorial: https://gmtk.itch.io/platformer-toolkit/devlog/395523/behind-the-code func jump() -> void: var jump_strength: float = sqrt(-2.0 * -movement.get_gravity() * movement.jump_height) - + if velocity.y > 0.0: jump_strength = maxf(jump_strength - velocity.y, 0.0) elif velocity.y < 0.0: jump_strength += absf(velocity.y) - + velocity.y += jump_strength diff --git a/source/components/characters/character_base.gd.uid b/source/src/gameplay/characters/character.gd.uid similarity index 100% rename from source/components/characters/character_base.gd.uid rename to source/src/gameplay/characters/character.gd.uid diff --git a/source/components/characters/character_movement_base.gd b/source/src/gameplay/characters/character_movement.gd similarity index 97% rename from source/components/characters/character_movement_base.gd rename to source/src/gameplay/characters/character_movement.gd index 2d0b70a..40226c7 100644 --- a/source/components/characters/character_movement_base.gd +++ b/source/src/gameplay/characters/character_movement.gd @@ -1,4 +1,4 @@ -class_name CharacterMovementBase +class_name CharacterMovement extends Resource @export var jump_height: float = 1.25 diff --git a/source/components/characters/character_movement_base.gd.uid b/source/src/gameplay/characters/character_movement.gd.uid similarity index 100% rename from source/components/characters/character_movement_base.gd.uid rename to source/src/gameplay/characters/character_movement.gd.uid diff --git a/source/components/characters/common/footstep_component.gd b/source/src/gameplay/characters/common/footstep_component.gd similarity index 81% rename from source/components/characters/common/footstep_component.gd rename to source/src/gameplay/characters/common/footstep_component.gd index 84e7e80..eaa71cf 100644 --- a/source/components/characters/common/footstep_component.gd +++ b/source/src/gameplay/characters/common/footstep_component.gd @@ -18,42 +18,40 @@ func _ready() -> void: func _physics_process(delta: float) -> void: - # Don't process if it isn't necessary. - if not is_instance_valid(character): + if not is_instance_valid(character) or audio_player.is_empty(): return - - if audio_player.is_empty(): - return - + var on_floor: bool = character.is_on_floor() + if on_floor: if _was_in_air: # We landed. Play a footstep. play_footstep() _distance_traveled = 0.0 - - var velocity: Vector3 = abs(character.velocity) - velocity.y = 0.0 - + + var velocity: Vector3 = character.velocity * Utils.VEC3_HOR + if velocity.is_zero_approx(): _distance_traveled = 0.0 else: _distance_traveled += velocity.length() * delta - + if _distance_traveled >= step_measure: _distance_traveled = 0.0 play_footstep() - + _was_in_air = not on_floor func play_footstep() -> void: footstep_occured.emit() - + if is_instance_valid(_audio_player) and _audio_player.has_method(&"play"): _audio_player.play() func set_audio_player(new_player_path: NodePath) -> void: audio_player = new_player_path - _audio_player = get_node_or_null(new_player_path) + + var player: Node = get_node_or_null(new_player_path) + _audio_player = player if Utils.is_node_audioplayer(player) else null diff --git a/source/components/characters/common/footstep_component.gd.uid b/source/src/gameplay/characters/common/footstep_component.gd.uid similarity index 100% rename from source/components/characters/common/footstep_component.gd.uid rename to source/src/gameplay/characters/common/footstep_component.gd.uid diff --git a/source/components/characters/player/head.gd b/source/src/gameplay/characters/player/head.gd similarity index 80% rename from source/components/characters/player/head.gd rename to source/src/gameplay/characters/player/head.gd index 0429a00..91e5f74 100644 --- a/source/components/characters/player/head.gd +++ b/source/src/gameplay/characters/player/head.gd @@ -13,7 +13,7 @@ const INVERT_Y_PATH: StringName = &"game/input/camera_invert_y" const CONTROLLER_INVERT_X_PATH: StringName = &"game/input/camera_controller_invert_x" const CONTROLLER_INVERT_Y_PATH: StringName = &"game/input/camera_controller_invert_y" -@export var camera: Camera3D +@export var camera: ShakingCamera @export_range(-360, 360, 0.5, "suffix:°") var look_min_vertical_angle: float = -85.0 @export_range(-360, 360, 0.5, "suffix:°") var look_max_vertical_angle: float = 85.0 @@ -33,10 +33,18 @@ const CONTROLLER_INVERT_Y_PATH: StringName = &"game/input/camera_controller_inve @export var controller_invert_x: bool = false @export var controller_invert_y: bool = false +@export_group("Headbobbing", "headbob_") +@export var headbob_range: float = 0.25 +@export var headbob_frequency: float = 0.5 +@export var headbob_multiplier: float = 1.0 +@export var headbob_character: Character3D + var rotational_direction: Vector2 var rotational_velocity: Vector2 var input_event: InputEvent var using_controller: bool = false +var headbob_time: float = 0.0 +var headbob_enabled: bool = true func _ready() -> void: @@ -48,13 +56,17 @@ func _ready() -> void: invert_y = ProjectSettings.get_setting(INVERT_Y_PATH, false) controller_invert_x = ProjectSettings.get_setting(CONTROLLER_INVERT_X_PATH, false) controller_invert_y = ProjectSettings.get_setting(CONTROLLER_INVERT_Y_PATH, false) - + headbob_enabled = SettingsManager.get_setting(&"misc", &"headbobbing") + + SettingsManager.settings_changed.connect(_update_settings) ProjectSettings.settings_changed.connect(_update_settings) _update_settings.call() func _physics_process(delta: float) -> void: - _process_input(delta) + if not GameGlobals.in_cutscene: + _process_input(delta) + _perform_head_bob(delta) func _unhandled_input(event: InputEvent) -> void: @@ -73,29 +85,29 @@ func get_sensitivity() -> float: var frame_rate: float = Engine.get_frames_per_second() / 60.0 sensitivity *= frame_rate #print(frame_rate) - + return sensitivity func _process_input(delta: float) -> void: if Input.mouse_mode != Input.MOUSE_MODE_CAPTURED or not InputManager.window_focused(): return - + if input_event is InputEventMouseMotion: _process_mouse(input_event, delta) using_controller = false rotational_direction = Vector2.ZERO input_event = null - + elif input_event is InputEventJoypadMotion: _process_controller(delta) using_controller = true rotational_direction = Vector2.ZERO - + # Decelerating when nothing is being pressed. elif not rotational_velocity.is_zero_approx() and rotational_direction.is_zero_approx(): input_event = null - + if not using_controller and mouse_acceleration: rotational_velocity = _lerp_rotational_velocity(get_sensitivity() / 10, mouse_friction, delta) elif using_controller and controller_acceleration: @@ -103,7 +115,7 @@ func _process_input(delta: float) -> void: apply_rotation(rotational_velocity) else: rotational_velocity = Vector2.ZERO - + apply_rotation(rotational_velocity) @@ -112,13 +124,13 @@ func _process_mouse(event: InputEventMouseMotion, delta: float) -> void: # https://yosoyfreeman.github.io/godot/achieving-better-mouse-input-in-godot-4-the-perfect-camera-controller-full-project/ var viewport_transform: Transform2D = get_tree().get_root().get_final_transform() rotational_direction = event.xformed_by(viewport_transform).get_relative() - + if invert_x: rotational_direction.x = -rotational_direction.x - + if invert_y: rotational_direction.y = -rotational_direction.y - + if mouse_acceleration: rotational_velocity = _lerp_rotational_velocity(deg_to_rad(get_sensitivity() / 10.0), mouse_friction, delta) apply_rotation(rotational_velocity) @@ -128,13 +140,13 @@ func _process_mouse(event: InputEventMouseMotion, delta: float) -> void: func _process_controller(delta: float) -> void: rotational_direction = Input.get_vector(ACTION_CAMERA_LEFT, ACTION_CAMERA_RIGHT, ACTION_CAMERA_UP, ACTION_CAMERA_DOWN) - + if controller_invert_x: rotational_direction.x = -rotational_direction.x - + if controller_invert_y: rotational_direction.y = -rotational_direction.y - + if controller_acceleration: rotational_velocity = _lerp_rotational_velocity(deg_to_rad(get_sensitivity()), controller_friction, delta) apply_rotation(rotational_velocity) @@ -144,3 +156,23 @@ func _process_controller(delta: float) -> void: func _lerp_rotational_velocity(sensitivity: float, friction: float, delta: float) -> Vector2: return rotational_velocity.lerp(rotational_direction * sensitivity, friction * delta) + + +func _perform_head_bob(delta: float) -> void: + if not headbob_enabled: + camera.position = Vector3.ZERO + camera.rotation.z = 0.0 + headbob_time = 0.0 + return + + var headbob_speed: float = maxf((headbob_character.velocity * Utils.VEC3_HOR).length(), 1.0) + SPrint.print_msgf(str("Headbob-Speed: ", headbob_speed), true) + SPrint.print_msgf(str("Headbob-Clock: ", headbob_time), true) + + headbob_time += delta * headbob_speed * headbob_multiplier + headbob_time = fposmod(headbob_time, TAU) + + camera.position.y = sin(headbob_time * headbob_frequency) * headbob_range + camera.position.x = cos(headbob_time * headbob_frequency / 2) * headbob_range + camera.rotation.z = deg_to_rad(lerp(camera.position.x, camera.position.y, 0.5)) * TAU + SPrint.print_msgf(str("Head Z-Rotation: ", camera.rotation.z), true) diff --git a/source/components/characters/player/head.gd.uid b/source/src/gameplay/characters/player/head.gd.uid similarity index 100% rename from source/components/characters/player/head.gd.uid rename to source/src/gameplay/characters/player/head.gd.uid diff --git a/source/src/gameplay/characters/player/player_character.gd b/source/src/gameplay/characters/player/player_character.gd new file mode 100644 index 0000000..5223730 --- /dev/null +++ b/source/src/gameplay/characters/player/player_character.gd @@ -0,0 +1,122 @@ +class_name PlayerCharacter +extends Character3D + + +const ACTION_RUN: StringName = &"run" +const ACTION_JUMP: StringName = &"jump" +const ACTION_CROUCH: StringName = &"crouch" +const ACTION_MOVE_LEFT: StringName = &"move_left" +const ACTION_MOVE_RIGHT: StringName = &"move_right" +const ACTION_MOVE_FORWARD: StringName = &"move_forward" +const ACTION_MOVE_BACKWARD: StringName = &"move_backward" + +@export_group("Crouching") +@export var crouch_walk_speed_multiplier: float = 0.4 +@export var crouch_speed: float = 7.25 +@export var standup_speed: float = 5.3 +@export var standup_speed_affection: float = 0.5 +@export var standup_speed_affection_speed_multiplier: float = 0.25 +@export var standing_collision_height: float = 1.8 +@export var standing_camera_height: float = 1.6 +@export var crouch_collision_height: float = 0.9 +@export var crouch_camera_height: float = 0.81 + +var has_control: bool = true +var is_crouching: bool = false +var crouch_speed_affection: float = 0.0 + +@onready var head: GameCamera3D = $Head +@onready var collision_shape: CollisionShape3D = $CollisionShape3D +@onready var standup_checker: Area3D = $StandupChecker + + +func _ready() -> void: + GameGlobals.player = self + + #if not get_tree().current_scene.is_node_ready(): + #await get_tree().current_scene.ready +# + #var spawn_point := PlayerSpawnPoint.get_spawn_point_by_identifier(GameGlobals.spawn_id) +# + #if is_instance_valid(spawn_point): + #global_position = spawn_point.global_position + #head.global_rotation = spawn_point.global_rotation + + +func _physics_process(delta: float) -> void: + if GameGlobals.in_cutscene: + return + + # Add the gravity. + if not is_on_floor(): + apply_gravity(delta) + elif not _was_on_floor: + if _previous_velocity.y <= -2.0: + head.camera.shake(0.025, 0.175) + + if not has_control: + move(Vector3.ZERO, delta) + move_and_slide() + return + + # Handle jump. + if Input.is_action_just_pressed(ACTION_JUMP) and is_on_floor() and not is_crouching: + jump() + + handle_crouching(delta) + + var input_dir: Vector3 = get_input_direction() + movement_direction = input_dir.normalized() + + # Rotate the movement direction based on the cameras orientation. + movement_direction = movement_direction.rotated(Vector3.UP, head.global_rotation.y) + + speed = get_desired_speed() * input_dir.length() + speed *= crouch_walk_speed_multiplier if is_crouching else 1.0 + + if not is_crouching: + speed *= remap(crouch_speed_affection, 0.0, 1.0, 1.0, standup_speed_affection) + + move(movement_direction, delta) + + move_and_slide() + + +func apply_gravity(delta: float) -> void: + super(delta) + + +func get_input_direction() -> Vector3: + if not InputManager.window_focused(): + return Vector3.ZERO + + var input_dir := Input.get_vector(ACTION_MOVE_LEFT, ACTION_MOVE_RIGHT, ACTION_MOVE_FORWARD, ACTION_MOVE_BACKWARD) + var direction: Vector3 = (transform.basis * Vector3(input_dir.x, 1, input_dir.y))#.normalized() + direction.y = 0.0 + return direction + + +func get_desired_speed() -> float: + if Input.is_action_pressed(ACTION_RUN) and not is_crouching: + return movement.running_speed if is_on_floor() else movement.air_running_speed + + return movement.walking_speed if is_on_floor() else movement.air_walking_speed + + +func handle_crouching(delta: float) -> void: + var should_crouch: bool = Input.is_action_pressed(ACTION_CROUCH) and (is_on_floor() or is_crouching) + var would_ceiling_collide: bool = standup_checker.has_overlapping_bodies() + + is_crouching = should_crouch or would_ceiling_collide + var crouching_speed: float = crouch_speed if is_crouching else standup_speed + + var target_collision_height: float = crouch_collision_height if is_crouching else standing_collision_height + collision_shape.shape.height = target_collision_height #lerp(collision_shape.shape.height, target_collision_height, crouching_speed * delta * 5.0) + collision_shape.position.y = collision_shape.shape.height / 2.0 + + var target_camera_height: float = crouch_camera_height if is_crouching else standing_camera_height + var weight: float = 1.0 - pow(0.5, delta * crouching_speed) + head.position.y = lerp(head.position.y, target_camera_height, weight) + + crouch_speed_affection = lerp(crouch_speed_affection, float(is_crouching), weight * standup_speed_affection_speed_multiplier if not is_crouching else 1.0) + SPrint.print_msgf("Crouching Speed Affection: %s\n%s" % [crouch_speed_affection, is_crouching], true) diff --git a/source/components/characters/player/player_character.gd.uid b/source/src/gameplay/characters/player/player_character.gd.uid similarity index 100% rename from source/components/characters/player/player_character.gd.uid rename to source/src/gameplay/characters/player/player_character.gd.uid diff --git a/source/src/gameplay/characters/player/player_character.tscn b/source/src/gameplay/characters/player/player_character.tscn new file mode 100644 index 0000000..bb965a5 --- /dev/null +++ b/source/src/gameplay/characters/player/player_character.tscn @@ -0,0 +1,57 @@ +[gd_scene load_steps=9 format=3 uid="uid://clhy3kiceqf2o"] + +[ext_resource type="Script" uid="uid://day6rhxicaxqf" path="res://src/gameplay/characters/player/player_character.gd" id="1_hqu6r"] +[ext_resource type="Script" uid="uid://dsjlv8midt2g2" path="res://src/gameplay/characters/character_movement.gd" id="2_1ixuj"] +[ext_resource type="Script" uid="uid://2y3gnaqtrfnx" path="res://src/gameplay/characters/player/head.gd" id="2_fjt7c"] +[ext_resource type="Script" uid="uid://44s0v8mukxk4" path="res://src/core/camera/shaking_camera.gd" id="4_ci1ud"] +[ext_resource type="Script" uid="uid://nuwb55sbveaf" path="res://src/gameplay/characters/common/footstep_component.gd" id="4_vq0uu"] + +[sub_resource type="Resource" id="Resource_vq0uu"] +script = ExtResource("2_1ixuj") +jump_height = 0.25 +max_turning_speed = 70.0 +peak_gravity_multiplier = 0.3 +metadata/_custom_type_script = "uid://dsjlv8midt2g2" + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_fjt7c"] +height = 1.8 + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_gy1j0"] +height = 1.59 +radius = 0.49 + +[node name="PlayerCharacter" type="CharacterBody3D"] +collision_layer = 2 +script = ExtResource("1_hqu6r") +standup_speed_affection = 0.15 +standup_speed_affection_speed_multiplier = 0.5 +movement = SubResource("Resource_vq0uu") +metadata/_custom_type_script = "uid://day6rhxicaxqf" + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0) +shape = SubResource("CylinderShape3D_fjt7c") + +[node name="Head" type="Node3D" parent="." node_paths=PackedStringArray("camera", "headbob_character")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.6, 0) +script = ExtResource("2_fjt7c") +camera = NodePath("ShakingCamera") +headbob_range = 0.05 +headbob_frequency = 2.0 +headbob_character = NodePath("..") + +[node name="ShakingCamera" type="Camera3D" parent="Head"] +fov = 85.0 +script = ExtResource("4_ci1ud") +metadata/_custom_type_script = "uid://44s0v8mukxk4" + +[node name="FootstepComponent" type="Node" parent="." node_paths=PackedStringArray("character")] +script = ExtResource("4_vq0uu") +character = NodePath("..") + +[node name="StandupChecker" type="Area3D" parent="."] +input_ray_pickable = false + +[node name="CollisionShape3D" type="CollisionShape3D" parent="StandupChecker"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.99, 0) +shape = SubResource("CylinderShape3D_gy1j0") diff --git a/source/components/hazards/saw/saw.blend b/source/src/gameplay/hazards/saw/saw.blend similarity index 100% rename from source/components/hazards/saw/saw.blend rename to source/src/gameplay/hazards/saw/saw.blend diff --git a/source/components/hazards/saw/saw.blend.import b/source/src/gameplay/hazards/saw/saw.blend.import similarity index 73% rename from source/components/hazards/saw/saw.blend.import rename to source/src/gameplay/hazards/saw/saw.blend.import index 4aa0618..dd586a5 100644 --- a/source/components/hazards/saw/saw.blend.import +++ b/source/src/gameplay/hazards/saw/saw.blend.import @@ -4,20 +4,22 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://u56f1ks46ob6" -path="res://.godot/imported/saw.blend-3146841855ef00b916ccba50c122f9a9.scn" +path="res://.godot/imported/saw.blend-4dd5d535df2fead0c723cb77c33c0ad9.scn" [deps] -source_file="res://components/hazards/saw/saw.blend" -dest_files=["res://.godot/imported/saw.blend-3146841855ef00b916ccba50c122f9a9.scn"] +source_file="res://src/gameplay/hazards/saw/saw.blend" +dest_files=["res://.godot/imported/saw.blend-4dd5d535df2fead0c723cb77c33c0ad9.scn"] [params] nodes/root_type="" nodes/root_name="" +nodes/root_script=null nodes/apply_root_scale=true nodes/root_scale=1.0 nodes/import_as_skeleton_bones=false +nodes/use_name_suffixes=true nodes/use_node_type_suffixes=true meshes/ensure_tangents=true meshes/generate_lods=true @@ -32,7 +34,16 @@ animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" -_subresources={} +materials/extract=0 +materials/extract_format=0 +materials/extract_path="" +_subresources={ +"nodes": { +"PATH:Cylinder": { +"mesh_instance/layers": 2 +} +} +} blender/nodes/visible=0 blender/nodes/active_collection_only=false blender/nodes/punctual_lights=true @@ -51,3 +62,4 @@ blender/materials/export_materials=1 blender/animation/limit_playback=true blender/animation/always_sample=true blender/animation/group_tracks=true +gltf/naming_version=0 diff --git a/source/components/hazards/saw/saw.blend1 b/source/src/gameplay/hazards/saw/saw.blend1 similarity index 100% rename from source/components/hazards/saw/saw.blend1 rename to source/src/gameplay/hazards/saw/saw.blend1 diff --git a/source/src/gameplay/hazards/saw/saw.gd b/source/src/gameplay/hazards/saw/saw.gd new file mode 100644 index 0000000..06c79a9 --- /dev/null +++ b/source/src/gameplay/hazards/saw/saw.gd @@ -0,0 +1,29 @@ +@tool +extends Node3D + +@export var spin_speed: float = 7.0 + +var speed: float = 0.0 + +@onready var saw_skin: Node3D = $SawSkin + + +func _ready() -> void: + if Engine.is_editor_hint() and _editor_is_scene_root(): + return + + saw_skin.rotation.z = randf() * TAU + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _physics_process(delta: float) -> void: + if Engine.is_editor_hint() and _editor_is_scene_root(): + return + + speed = move_toward(speed, spin_speed, delta) + saw_skin.rotate_z(speed * delta) + + +func _editor_is_scene_root() -> bool: + var ed_interface: Object = Engine.get_singleton(&"EditorInterface") + return Engine.is_editor_hint() and ed_interface.get_edited_scene_root() == self diff --git a/source/components/hazards/saw/saw.gd.uid b/source/src/gameplay/hazards/saw/saw.gd.uid similarity index 100% rename from source/components/hazards/saw/saw.gd.uid rename to source/src/gameplay/hazards/saw/saw.gd.uid diff --git a/source/src/gameplay/hazards/saw/saw.tscn b/source/src/gameplay/hazards/saw/saw.tscn new file mode 100644 index 0000000..8d54511 --- /dev/null +++ b/source/src/gameplay/hazards/saw/saw.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=5 format=3 uid="uid://c0jearfhlqcvr"] + +[ext_resource type="Script" uid="uid://cd1p1fxbdglwu" path="res://src/gameplay/hazards/saw/saw.gd" id="1_bec0m"] +[ext_resource type="PackedScene" uid="uid://u56f1ks46ob6" path="res://src/gameplay/hazards/saw/saw.blend" id="1_eq5lu"] +[ext_resource type="Script" uid="uid://bfv3de7iqflhv" path="res://src/core/damage/death_area.gd" id="3_mj8ja"] + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_bec0m"] +height = 0.2 +radius = 0.8 + +[node name="Saw" type="Node3D"] +script = ExtResource("1_bec0m") + +[node name="SawSkin" parent="." instance=ExtResource("1_eq5lu")] + +[node name="DeathArea" type="Area3D" parent="."] +collision_layer = 0 +collision_mask = 2 +script = ExtResource("3_mj8ja") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="DeathArea"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0) +shape = SubResource("CylinderShape3D_bec0m") +debug_color = Color(0.999874, 0, 0.0979987, 0.42) diff --git a/source/src/gameplay/illusionary/illusionary_wall.gd b/source/src/gameplay/illusionary/illusionary_wall.gd new file mode 100644 index 0000000..7b7047d --- /dev/null +++ b/source/src/gameplay/illusionary/illusionary_wall.gd @@ -0,0 +1,85 @@ +class_name IllusionaryWall +extends Node3D + + +@export var locked: bool = false: set = set_locked +@export var inverse: bool = false +@export var dissolve_duration: float = 0.45 +@export var static_body: StaticBody3D +@export var mesh: MeshInstance3D +@export_group("Areas") +@export var appear_area: Area3D: + set(value): + if is_instance_valid(appear_area): + appear_area.body_exited.disconnect(_on_appear_area_body_exited) + + appear_area = value + + if not appear_area.is_node_ready(): + await appear_area.ready + + appear_area.body_exited.connect(_on_appear_area_body_exited) +@export var disappear_area: Area3D: + set(value): + if is_instance_valid(disappear_area): + disappear_area.body_entered.disconnect(_on_disappear_area_body_entered) + + disappear_area = value + + if not disappear_area.is_node_ready(): + await disappear_area.ready + + disappear_area.body_entered.connect(_on_disappear_area_body_entered) + + +func _ready() -> void: + force_update() + + +func set_locked(value: bool) -> void: + locked = value + force_update() + + +func unlock() -> void: + locked = false + + +func force_update() -> void: + if disappear_area.overlaps_body(GameGlobals.get_player()): + (disappear if not inverse else appear).call() + elif not appear_area.overlaps_body(GameGlobals.get_player()): + (appear if not inverse else disappear).call() + + +func disappear() -> void: + assert(is_instance_valid(mesh), "'mesh' needs to be set.") + + if locked: + return + + if is_instance_valid(static_body): + static_body.process_mode = Node.PROCESS_MODE_DISABLED + + var tween: Tween = create_tween() + tween.tween_property(mesh, ^"material_override:shader_parameter/alpha_scissor_threshold", 1.0, dissolve_duration) + + +func appear() -> void: + assert(is_instance_valid(mesh), "'mesh' needs to be set.") + + if is_instance_valid(static_body): + static_body.process_mode = Node.PROCESS_MODE_INHERIT + + var tween: Tween = create_tween() + tween.tween_property(mesh, ^"material_override:shader_parameter/alpha_scissor_threshold", 0.0, dissolve_duration) + + +func _on_appear_area_body_exited(body: Node3D) -> void: + if body == GameGlobals.get_player(): + force_update() + + +func _on_disappear_area_body_entered(body: Node3D) -> void: + if body == GameGlobals.get_player(): + force_update() diff --git a/source/src/gameplay/illusionary/illusionary_wall.gd.uid b/source/src/gameplay/illusionary/illusionary_wall.gd.uid new file mode 100644 index 0000000..4aa4a14 --- /dev/null +++ b/source/src/gameplay/illusionary/illusionary_wall.gd.uid @@ -0,0 +1 @@ +uid://cy2248x8tuoj4 diff --git a/source/globals/autoloads/audio/audio_manager.gd b/source/src/globals/autoloads/audio/audio_manager.gd similarity index 68% rename from source/globals/autoloads/audio/audio_manager.gd rename to source/src/globals/autoloads/audio/audio_manager.gd index 95f7963..894d548 100644 --- a/source/globals/autoloads/audio/audio_manager.gd +++ b/source/src/globals/autoloads/audio/audio_manager.gd @@ -12,10 +12,10 @@ func play_audio(stream: AudioStream, bus: StringName, force_restart: bool = fals var existing_player: AudioStreamPlayer = get_audio_player_for_stream(stream, bus) existing_player.stop() existing_player.play() - + return - - var player: AudioStreamPlayer = _create_audio_player(stream, bus) + + var player: AudioStreamPlayer = create_audio_player(stream, bus) player.finished.connect(stop_audio.bind(stream, bus)) add_child(player) @@ -24,27 +24,39 @@ func play_audio(stream: AudioStream, bus: StringName, force_restart: bool = fals func stop_audio(stream: AudioStream, bus: StringName) -> void: var player: AudioStreamPlayer = get_audio_player_for_stream(stream, bus) - + if is_instance_valid(player): player.queue_free() -func fade_audio(stream: AudioStream, volume_db: float, duration: float, bus: StringName, stop_on_finish: bool = false) -> void: +func fade_audio( + stream: AudioStream, + volume_db: float, + duration: float, + bus: StringName, + stop_on_finish: bool = false +) -> void: var player: AudioStreamPlayer = get_audio_player_for_stream(stream, bus) if not is_instance_valid(player): return - var tween: Tween = create_tween() + var tween: Tween = create_tween().bind_node(player) tween.tween_property(player, ^"volume_db", volume_db, duration) - + + if stop_on_finish: + tween.tween_callback(stop_audio.bind(stream, bus)) + await tween.finished - if stop_on_finish and is_instance_valid(player): - stop_audio(stream, bus) - -func fade_audio_linear(stream: AudioStream, volume_linear: float, bus: StringName, duration: float, stop_on_finish: bool = false) -> void: +func fade_audio_linear( + stream: AudioStream, + volume_linear: float, + bus: StringName, + duration: float, + stop_on_finish: bool = false +) -> void: await fade_audio(stream, linear_to_db(volume_linear), duration, bus, stop_on_finish) @@ -52,7 +64,7 @@ func get_audio_player_for_stream(stream: AudioStream, bus: StringName) -> AudioS for player: AudioStreamPlayer in get_children(): if player.stream == stream and player.bus == bus: return player - + return null @@ -60,7 +72,13 @@ func is_playing_audio(stream: AudioStream, bus: StringName) -> bool: return is_instance_valid(get_audio_player_for_stream(stream, bus)) -func _create_audio_player(stream: AudioStream, bus: StringName) -> AudioStreamPlayer: +func flush_audio_by_bus(bus: StringName) -> void: + for player: AudioStreamPlayer in get_children(): + if player.bus == bus: + player.queue_free() + + +func create_audio_player(stream: AudioStream, bus: StringName) -> AudioStreamPlayer: var player := AudioStreamPlayer.new() player.bus = bus player.stream = stream diff --git a/source/globals/autoloads/audio/audio_manager.gd.uid b/source/src/globals/autoloads/audio/audio_manager.gd.uid similarity index 100% rename from source/globals/autoloads/audio/audio_manager.gd.uid rename to source/src/globals/autoloads/audio/audio_manager.gd.uid diff --git a/source/globals/autoloads/audio/audio_manager.tscn b/source/src/globals/autoloads/audio/audio_manager.tscn similarity index 75% rename from source/globals/autoloads/audio/audio_manager.tscn rename to source/src/globals/autoloads/audio/audio_manager.tscn index 78152ce..19770c8 100644 --- a/source/globals/autoloads/audio/audio_manager.tscn +++ b/source/src/globals/autoloads/audio/audio_manager.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://diduaxhewgjwa"] -[ext_resource type="Script" uid="uid://chwfg6slvsay8" path="res://globals/autoloads/audio/audio_manager.gd" id="1_pjc45"] +[ext_resource type="Script" uid="uid://chwfg6slvsay8" path="res://src/globals/autoloads/audio/audio_manager.gd" id="1_pjc45"] [node name="AudioManager" type="Node"] script = ExtResource("1_pjc45") diff --git a/source/src/globals/autoloads/game_globals.gd b/source/src/globals/autoloads/game_globals.gd new file mode 100644 index 0000000..d9a4652 --- /dev/null +++ b/source/src/globals/autoloads/game_globals.gd @@ -0,0 +1,71 @@ +extends Node + +signal player_died(death_type: DeathTypes) + +const MAIN_MENU_PATH: String = "uid://dwd8wf02j2epn" +const GAME_PATH: String = "uid://s7cw6ulb7kh7" +const PLAYER_PATH: String = "uid://clhy3kiceqf2o" +const CHAPTER_LIST: ChapterList = preload("uid://d2mcwotliowv7") + +enum DeathTypes { + SAW, +} + +var game: Game +var player: PlayerCharacter +var player_alive: bool = true +var spawn_id: StringName = &"": set = set_spawn_id +var chapter_index: int = 0: set = set_chapter_index +var in_cutscene: bool = false + + +func get_player() -> PlayerCharacter: + return player + + +func reset_game() -> void: + player_alive = true + spawn_id = &"" + chapter_index = 0 + in_cutscene = false + + +func load_from_save() -> void: + SaveManager.load_game() + + var data: Dictionary[StringName, Variant] = SaveManager.persistent_data + spawn_id = data.get(&"spawn_id") + chapter_index = data.get(&"chapter_index") + + +func set_spawn_id(id: StringName) -> void: + spawn_id = id + + SaveManager.persistent_data[&"spawn_id"] = spawn_id + + +func set_chapter_index(index: int) -> void: + chapter_index = index + + SaveManager.persistent_data[&"chapter_index"] = chapter_index + + +func kill_player(death_type: DeathTypes) -> void: + if not player_alive: + return + + get_tree().paused = true + + SPrint.print_msg( + "Killed player. Death Type: %s" % death_type, -1.0, SPrint.NORMAL_RICH, Color.ORANGE_RED + ) + + if is_instance_valid(player): + player.process_mode = Node.PROCESS_MODE_DISABLED + + AudioManager.flush_audio_by_bus(AudioManager.SFX) + AudioManager.flush_audio_by_bus(AudioManager.MUSIC) + AudioManager.flush_audio_by_bus(AudioManager.AMBIENCE) + + player_alive = false + player_died.emit(death_type) diff --git a/source/globals/autoloads/game_globals.gd.uid b/source/src/globals/autoloads/game_globals.gd.uid similarity index 100% rename from source/globals/autoloads/game_globals.gd.uid rename to source/src/globals/autoloads/game_globals.gd.uid diff --git a/source/globals/autoloads/input_manager.gd b/source/src/globals/autoloads/input_manager.gd similarity index 61% rename from source/globals/autoloads/input_manager.gd rename to source/src/globals/autoloads/input_manager.gd index 671690e..e937eed 100644 --- a/source/globals/autoloads/input_manager.gd +++ b/source/src/globals/autoloads/input_manager.gd @@ -9,14 +9,14 @@ func _input(event: InputEvent) -> void: if not window_focused(): get_viewport().set_input_as_handled() return - + if event is InputEventMouseButton or event is InputEventKey: if using_controller: using_controller = false elif event is InputEventJoypadButton or event is InputEventJoypadMotion: if not using_controller: using_controller = true - + if event.is_action_pressed(TOGGLE_MOUSE_BUTTON): toggle_mouse() @@ -26,4 +26,20 @@ func window_focused() -> bool: func toggle_mouse() -> void: - Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED if Input.mouse_mode == Input.MOUSE_MODE_VISIBLE else Input.MOUSE_MODE_VISIBLE) + Input.set_mouse_mode( + Input.MOUSE_MODE_CAPTURED + if Input.mouse_mode == Input.MOUSE_MODE_VISIBLE + else Input.MOUSE_MODE_VISIBLE + ) + + +func set_mouse_captured(captured: bool) -> void: + (capture_mouse if captured else release_mouse).call() + + +func capture_mouse() -> void: + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + + +func release_mouse() -> void: + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE diff --git a/source/globals/autoloads/input_manager.gd.uid b/source/src/globals/autoloads/input_manager.gd.uid similarity index 100% rename from source/globals/autoloads/input_manager.gd.uid rename to source/src/globals/autoloads/input_manager.gd.uid diff --git a/source/src/globals/autoloads/save_manager.gd b/source/src/globals/autoloads/save_manager.gd new file mode 100644 index 0000000..1b06d7f --- /dev/null +++ b/source/src/globals/autoloads/save_manager.gd @@ -0,0 +1,46 @@ +extends Node + +const SAVE_PATH: String = "user://saves/" +const SAVE_FILENAME: String = "saved_game.dat" +const SAVE_FILE: String = SAVE_PATH + SAVE_FILENAME + +var persistent_data: Dictionary[StringName, Variant] = { + &"spawn_id": &"", + &"sequence_index": 0, + &"chapter_index": 0, + &"level_data": { + + } +} + +func save_game() -> void: + DirAccess.make_dir_recursive_absolute(SAVE_PATH) + + var file := FileAccess.open(SAVE_FILE, FileAccess.WRITE) + + # Store the variables. + file.store_var(persistent_data) + + +func load_game() -> bool: + if not save_exists(): + return false + + var file := FileAccess.open(SAVE_FILE, FileAccess.READ) + + # Load the variables. + var loaded_data: Variant = file.get_var() + + if loaded_data is Dictionary: + persistent_data = loaded_data + return true + + return false + + +func delete_save() -> void: + DirAccess.remove_absolute(SAVE_FILE) + + +func save_exists() -> bool: + return FileAccess.file_exists(SAVE_FILE) diff --git a/source/globals/autoloads/save_manager.gd.uid b/source/src/globals/autoloads/save_manager.gd.uid similarity index 100% rename from source/globals/autoloads/save_manager.gd.uid rename to source/src/globals/autoloads/save_manager.gd.uid diff --git a/source/globals/autoloads/scene_fader/scene_fader.gd b/source/src/globals/autoloads/scene_fader/scene_fader.gd similarity index 62% rename from source/globals/autoloads/scene_fader/scene_fader.gd rename to source/src/globals/autoloads/scene_fader/scene_fader.gd index 70869dc..4eab9d6 100644 --- a/source/globals/autoloads/scene_fader/scene_fader.gd +++ b/source/src/globals/autoloads/scene_fader/scene_fader.gd @@ -1,6 +1,6 @@ extends CanvasLayer - +const _ANIM_LOADING: StringName = &"hover" var fade_in_duration: float = 2.0 var fade_out_duration: float = 2.0 @@ -8,33 +8,33 @@ var is_fading: bool = false var is_loading: bool = false -@onready var interactive_loader: InteractiveLoader = $InteractiveLoader -@onready var color_rect: ColorRect = $ColorRect -@onready var loading_hint_animations: AnimationPlayer = $HintMargin/Control/LoadingHint/LoadingHintAnimations -@onready var loading_hint: TextureRect = $HintMargin/Control/LoadingHint +@onready var interactive_loader: InteractiveLoader = %InteractiveLoader +@onready var color_rect: ColorRect = %ColorRect +@onready var loading_hint_animations: AnimationPlayer = %LoadingHintAnimations +@onready var loading_hint: TextureRect = %LoadingHint func _ready() -> void: color_rect.hide() + color_rect.color.a = 0.0 -func load_to_path(path: String, unpause_game: bool = false) -> void: +func load_to_path(path: String) -> void: if is_loading: return - + is_loading = true await fade_in() - + await get_tree().create_timer(1.0).timeout + var scene: PackedScene = await interactive_loader.load_threaded(path) - - assert(is_instance_valid(scene)) - + + assert(is_instance_valid(scene), "Scene is invalid.") + get_tree().change_scene_to_packed(scene) - - if unpause_game: - get_tree().paused = false - + get_tree().paused = false + fade_out() is_loading = false @@ -42,26 +42,26 @@ func load_to_path(path: String, unpause_game: bool = false) -> void: func fade_in() -> void: color_rect.show() is_fading = true - + var tween: Tween = create_tween() tween.tween_property(color_rect, ^"color:a", 1.0, fade_in_duration) await tween.finished - + is_fading = false - loading_hint_animations.play(&"hover") + loading_hint_animations.play(_ANIM_LOADING) loading_hint.show() func fade_out() -> void: loading_hint_animations.stop() loading_hint.hide() - + is_fading = true - + var tween: Tween = create_tween() tween.tween_property(color_rect, ^"color:a", 0.0, fade_out_duration) await tween.finished - + color_rect.hide() is_fading = false diff --git a/source/globals/autoloads/scene_fader/scene_fader.gd.uid b/source/src/globals/autoloads/scene_fader/scene_fader.gd.uid similarity index 100% rename from source/globals/autoloads/scene_fader/scene_fader.gd.uid rename to source/src/globals/autoloads/scene_fader/scene_fader.gd.uid diff --git a/source/globals/autoloads/scene_fader/scene_fader.tscn b/source/src/globals/autoloads/scene_fader/scene_fader.tscn similarity index 93% rename from source/globals/autoloads/scene_fader/scene_fader.tscn rename to source/src/globals/autoloads/scene_fader/scene_fader.tscn index 5727e28..f624103 100644 --- a/source/globals/autoloads/scene_fader/scene_fader.tscn +++ b/source/src/globals/autoloads/scene_fader/scene_fader.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=7 format=3 uid="uid://dis4efdm5s2fc"] -[ext_resource type="Script" uid="uid://cynllcoh2smgv" path="res://globals/autoloads/scene_fader/scene_fader.gd" id="1_7tt87"] -[ext_resource type="Script" uid="uid://d0k03wk1s7cw0" path="res://components/general/interactive_loader.gd" id="2_dwqb8"] +[ext_resource type="Script" uid="uid://cynllcoh2smgv" path="res://src/globals/autoloads/scene_fader/scene_fader.gd" id="1_7tt87"] +[ext_resource type="Script" uid="uid://d0k03wk1s7cw0" path="res://src/core/interactive_loader.gd" id="2_dwqb8"] [ext_resource type="Texture2D" uid="uid://dhw8y2oqxvgwu" path="res://godot_icon.svg" id="3_dwqb8"] [sub_resource type="Animation" id="Animation_t3447"] @@ -71,10 +71,12 @@ layer = 10 script = ExtResource("1_7tt87") [node name="InteractiveLoader" type="Node" parent="."] +unique_name_in_owner = true script = ExtResource("2_dwqb8") metadata/_custom_type_script = "uid://d0k03wk1s7cw0" [node name="ColorRect" type="ColorRect" parent="."] +unique_name_in_owner = true anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -103,6 +105,7 @@ size_flags_vertical = 8 mouse_filter = 2 [node name="LoadingHint" type="TextureRect" parent="HintMargin/Control"] +unique_name_in_owner = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -120,6 +123,7 @@ texture = ExtResource("3_dwqb8") expand_mode = 5 [node name="LoadingHintAnimations" type="AnimationPlayer" parent="HintMargin/Control/LoadingHint"] +unique_name_in_owner = true libraries = { &"": SubResource("AnimationLibrary_e571n") } diff --git a/source/src/globals/autoloads/settings/graphic_settings_preset.gd b/source/src/globals/autoloads/settings/graphic_settings_preset.gd new file mode 100644 index 0000000..a56e162 --- /dev/null +++ b/source/src/globals/autoloads/settings/graphic_settings_preset.gd @@ -0,0 +1,42 @@ +class_name GraphicSettingPreset +extends Resource + +const PATH_MSAA2D: String = "rendering/anti_aliasing/quality/msaa_2d" +const PATH_MSAA3D: String = "rendering/anti_aliasing/quality/msaa_3d" +const PATH_SSAO_QUALITY: String = "rendering/environment/ssao/quality" +const PATH_SSIL_QUALITY: String = "rendering/environment/ssil/quality" +const PATH_SSR_QUALITY: String = "rendering/environment/screen_space_reflection/roughness_quality" +const PATH_FOG_SIZE: String = "rendering/environment/volumetric_fog/volume_size" +const PATH_FOG_DEPTH: String = "rendering/environment/volumetric_fog/volume_depth" +const PATH_FOG_FILTER: String = "rendering/environment/volumetric_fog/use_filter" + +@export_group("Shadows") +@export_group("Lightning") +@export_group("Textures") +@export_group("Anti-Aliasing") +@export var msaa_2d := Viewport.MSAA.MSAA_DISABLED +@export var msaa_3d := Viewport.MSAA.MSAA_DISABLED +@export_group("Textures") +@export_group("Environment") +@export var ssao := RenderingServer.EnvironmentSSAOQuality.ENV_SSAO_QUALITY_MEDIUM +@export var ssil := RenderingServer.EnvironmentSSILQuality.ENV_SSIL_QUALITY_MEDIUM +@export var ssr := RenderingServer.EnvironmentSSRRoughnessQuality.ENV_SSR_ROUGHNESS_QUALITY_LOW +@export_subgroup("Volumetric Fog") +@export_range(16, 512) var volumetric_fog_size: int = 64 +@export_range(16, 512) var volumetric_fog_depth: int = 64 +@export_enum("No (Faster)", "Yes (Higher Quality)") var volumetric_use_filter: int = 1 + + +func apply_settings() -> void: + # --Anti-Aliasing + ProjectSettings.set_setting(PATH_MSAA2D, msaa_2d) + ProjectSettings.set_setting(PATH_MSAA3D, msaa_3d) + # --Environment-- + # SSAO/SSIL/SSR + ProjectSettings.set_setting(PATH_SSAO_QUALITY, ssao) + ProjectSettings.set_setting(PATH_SSIL_QUALITY, ssil) + ProjectSettings.set_setting(PATH_SSR_QUALITY, ssr) + # Volumetric Fog + ProjectSettings.set_setting(PATH_FOG_SIZE, volumetric_fog_size) + ProjectSettings.set_setting(PATH_FOG_DEPTH, volumetric_fog_depth) + ProjectSettings.set_setting(PATH_FOG_FILTER, volumetric_use_filter) diff --git a/source/src/globals/autoloads/settings/graphic_settings_preset.gd.uid b/source/src/globals/autoloads/settings/graphic_settings_preset.gd.uid new file mode 100644 index 0000000..9a62361 --- /dev/null +++ b/source/src/globals/autoloads/settings/graphic_settings_preset.gd.uid @@ -0,0 +1 @@ +uid://b8i3hscq7hvby diff --git a/source/globals/autoloads/settings/settings_manager.gd b/source/src/globals/autoloads/settings/settings_manager.gd similarity index 81% rename from source/globals/autoloads/settings/settings_manager.gd rename to source/src/globals/autoloads/settings/settings_manager.gd index 206e7fa..cc3d0bc 100644 --- a/source/globals/autoloads/settings/settings_manager.gd +++ b/source/src/globals/autoloads/settings/settings_manager.gd @@ -1,5 +1,7 @@ extends Node +signal settings_changed + const SETTINGS_PATH: String = "user://settings.cfg" var settings: Dictionary[String, Dictionary] = { @@ -14,6 +16,10 @@ var settings: Dictionary[String, Dictionary] = { }, &"video": { &"fullscreen": true + }, + &"misc": { + &"language": -1, + &"headbobbing": true } } @@ -26,10 +32,10 @@ func load_settings() -> void: if not FileAccess.file_exists(SETTINGS_PATH): save_settings() return - + var config := ConfigFile.new() config.load(SETTINGS_PATH) - + for section: String in settings.keys(): for key: String in settings[section].keys(): var default: Variant = get_setting(section, key) @@ -38,17 +44,18 @@ func load_settings() -> void: func save_settings() -> void: var config := ConfigFile.new() - + for section: String in settings.keys(): for key: String in settings[section].keys(): config.set_value(section, key, settings[section][key]) - + config.save(SETTINGS_PATH) func set_setting(section: String, key: String, value: Variant, do_save: bool = true) -> void: settings[section][key] = value - + settings_changed.emit() + if do_save: save_settings() @@ -59,13 +66,14 @@ func get_setting(section: String, key: String) -> Variant: func adjust_volume(bus: StringName, volume: float) -> void: set_setting(&"audio", bus, volume, false) - return - - var fmod_bus: FmodBus = FmodServer.get_bus(str("res://components/fmod/Build/Desktop/", bus, ".bank")) - if is_instance_valid(fmod_bus): - fmod_bus.volume = volume func set_fullscreen(fullscreened: bool) -> void: - DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN if fullscreened else DisplayServer.WINDOW_MODE_WINDOWED) + DisplayServer.window_set_mode( + DisplayServer.WINDOW_MODE_FULLSCREEN if fullscreened else DisplayServer.WINDOW_MODE_WINDOWED + ) set_setting(&"video", &"fullscreen", fullscreened) + + +func set_language(index: int) -> void: + set_setting(&"misc", &"language", index) diff --git a/source/globals/autoloads/settings/settings_manager.gd.uid b/source/src/globals/autoloads/settings/settings_manager.gd.uid similarity index 100% rename from source/globals/autoloads/settings/settings_manager.gd.uid rename to source/src/globals/autoloads/settings/settings_manager.gd.uid diff --git a/source/src/globals/general/utils.gd b/source/src/globals/general/utils.gd new file mode 100644 index 0000000..677dee3 --- /dev/null +++ b/source/src/globals/general/utils.gd @@ -0,0 +1,96 @@ +class_name Utils +extends Object + + +const VEC3_HOR := Vector3(1.0, 0.0, 1.0) + + +static func free_node_safely(node: Node) -> void: + if is_instance_valid(node) and node.is_inside_tree(): + node.queue_free() + + +static func free_nodes(nodes: Array[Node]) -> void: + for node: Variant in nodes: + if is_instance_valid(node) and node is Node: + Utils.free_node_safely(node) + + +static func validate_array(array: Array) -> Array: + return array.filter( + func(element: Variant) -> bool: + if element == null or not is_instance_valid(element): + return false + + if element is Node: + return not element.is_queued_for_deletion() + + return true + ) + + +static func get_all_children(node: Node, internal: bool = false) -> Array[Node]: + if not is_instance_valid(node): + return [] + + var children: Array[Node] = [] + for child: Node in node.get_children(internal): + children.append(child) + if child.get_child_count(internal) > 0: + children.append_array(get_all_children(child, internal)) + + return children + + +static func node_distance( + node_a: Node3D, node_b: Node3D, position_modifier := Vector3.ONE +) -> float: + if not is_instance_valid(node_a) or not is_instance_valid(node_b): + return -1.0 + + return (node_a.global_position * position_modifier).distance_to( + node_b.global_position * position_modifier + ) + + +## Returns [code]true[/code] when [param node_a] is close to the [param from] node than [param node_b].[br] +## [b]Note:[/b] Meant to be used with the [method Array.sort_custom] function. +static func sort_by_distance(from: Node3D, node_a: Node3D, node_b: Node3D) -> bool: + return Utils.node_distance(from, node_a) <= Utils.node_distance(from, node_b) + + +static func center_aabb(point: Vector3, aabb: AABB) -> AABB: + return AABB(point + (aabb.get_center() - aabb.size), aabb.size) + + +## Returns [code]true[/code] if the given [param node] is of type +## [AudioStreamPlayer], [AudioStreamPlayer3D] or [AudioStreamPlayer2D]. +static func is_node_audioplayer(node: Node) -> bool: + return ( + is_instance_valid(node) + and ( + node is AudioStreamPlayer + or node is AudioStreamPlayer2D + or node is AudioStreamPlayer3D + ) + ) + + +static func full_rotation(transform: Transform3D, direction: Vector3, delta: float) -> Transform3D: + var old := Quaternion(transform.basis.orthonormalized()).normalized() + var target := Basis(Vector3.UP, atan2(-direction.x, -direction.z)) + var new := Quaternion(target).normalized() + var c: Quaternion = old.slerp(new, delta) + transform.basis = Basis(c) + return transform + + +static func full_rotation_float( + transform: Transform3D, y_rotation: float, delta: float, rotation_vector := Vector3.UP +) -> Transform3D: + var old := Quaternion(transform.basis).normalized() + var target := Basis(rotation_vector, deg_to_rad(y_rotation)) + var new := Quaternion(target).normalized() + var c: Quaternion = old.slerp(new, delta) + transform.basis = Basis(c) + return transform diff --git a/source/globals/general/utils.gd.uid b/source/src/globals/general/utils.gd.uid similarity index 100% rename from source/globals/general/utils.gd.uid rename to source/src/globals/general/utils.gd.uid diff --git a/source/src/levels/expo_combined.tscn b/source/src/levels/expo_combined.tscn new file mode 100644 index 0000000..07dfbfe --- /dev/null +++ b/source/src/levels/expo_combined.tscn @@ -0,0 +1,78 @@ +[gd_scene load_steps=8 format=3 uid="uid://dspysc2bld6eu"] + +[ext_resource type="Script" uid="uid://dfnb036hysorj" path="res://src/core/level/level_loader.gd" id="1_kntr3"] +[ext_resource type="PackedScene" uid="uid://drr80goa61wrx" path="res://src/core/level/level_area.tscn" id="2_5mqkb"] +[ext_resource type="Script" uid="uid://3hlvt5k34xva" path="res://src/core/player_spawn_point.gd" id="3_aoi14"] +[ext_resource type="Script" uid="uid://dgsfc4i6bovwa" path="res://src/core/chapter/chapter_area.gd" id="4_sujqt"] + +[sub_resource type="BoxShape3D" id="BoxShape3D_aoi14"] +size = Vector3(17, 9, 36) + +[sub_resource type="BoxShape3D" id="BoxShape3D_5mqkb"] +size = Vector3(31, 19, 37) + +[sub_resource type="BoxShape3D" id="BoxShape3D_sujqt"] +size = Vector3(4, 3, 1) + +[node name="ExpoCombined" type="Node"] + +[node name="LevelLoaders" type="Node" parent="."] + +[node name="OutsideArea" type="Marker3D" parent="LevelLoaders"] +script = ExtResource("1_kntr3") +scene_path = "uid://lraild3yetsh" +metadata/_custom_type_script = "uid://dfnb036hysorj" + +[node name="EntranceHall" type="Marker3D" parent="LevelLoaders"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 3.5, 33) +script = ExtResource("1_kntr3") +scene_path = "uid://cmdy6f6kesmbj" +metadata/_custom_type_script = "uid://dfnb036hysorj" + +[node name="LevelAreas" type="Node" parent="."] + +[node name="OutsideArea" parent="LevelAreas" node_paths=PackedStringArray("level_loader", "loaded_if_spawnpoint") instance=ExtResource("2_5mqkb")] +level_loader = NodePath("../../LevelLoaders/OutsideArea") +loaded_if_spawnpoint = [NodePath("../../Spawnpoints/OutsideSpawnPoint")] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="LevelAreas/OutsideArea"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 17.5) +shape = SubResource("BoxShape3D_aoi14") +debug_color = Color(1, 1, 0, 0.41960785) + +[node name="EntranceHall" parent="LevelAreas" node_paths=PackedStringArray("level_loader", "loaded_if_spawnpoint") instance=ExtResource("2_5mqkb")] +level_loader = NodePath("../../LevelLoaders/EntranceHall") +loaded_if_spawnpoint = [NodePath("../../Spawnpoints/EntranceHallSpawnPoint")] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="LevelAreas/EntranceHall"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 9, 53) +shape = SubResource("BoxShape3D_5mqkb") +debug_color = Color(1, 1, 0, 0.41960785) + +[node name="Spawnpoints" type="Node" parent="."] + +[node name="OutsideSpawnPoint" type="Marker3D" parent="Spawnpoints"] +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1, 1, 1) +script = ExtResource("3_aoi14") +metadata/_custom_type_script = "uid://3hlvt5k34xva" + +[node name="EntranceHallSpawnPoint" type="Marker3D" parent="Spawnpoints"] +transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 3.4999995, 44) +script = ExtResource("3_aoi14") +spawn_id = &"NoKnows" +metadata/_custom_type_script = "uid://3hlvt5k34xva" + +[node name="Checkpoints" type="Node" parent="."] + +[node name="CheckpointEntranceHall" type="Area3D" parent="Checkpoints"] +collision_layer = 0 +collision_mask = 2 +script = ExtResource("4_sujqt") +chapter_index = 1 +spawn_id = &"NoKnows" +metadata/_custom_type_script = "uid://dgsfc4i6bovwa" + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Checkpoints/CheckpointEntranceHall"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.8, 5, 37) +shape = SubResource("BoxShape3D_sujqt") +debug_color = Color(0.970704, 0, 0.45613372, 0.41960785) diff --git a/source/src/levels/levels/entrance_hall.tscn b/source/src/levels/levels/entrance_hall.tscn new file mode 100644 index 0000000..3004350 --- /dev/null +++ b/source/src/levels/levels/entrance_hall.tscn @@ -0,0 +1,270 @@ +[gd_scene load_steps=8 format=3 uid="uid://cmdy6f6kesmbj"] + +[ext_resource type="Script" uid="uid://cigop0ivp5vvu" path="res://src/core/level/level.gd" id="1_s41bt"] +[ext_resource type="Script" uid="uid://dk4pqgs08xphi" path="res://src/core/camera/camera_trauma_causer.gd" id="2_ht7mm"] +[ext_resource type="Material" uid="uid://c38215ysnknyk" path="res://assets/materials/dev/dark/dark_01.tres" id="3_8clfj"] +[ext_resource type="PackedScene" uid="uid://c0jearfhlqcvr" path="res://src/gameplay/hazards/saw/saw.tscn" id="4_jdv38"] +[ext_resource type="PackedScene" uid="uid://u56f1ks46ob6" path="res://src/gameplay/hazards/saw/saw.blend" id="5_y0n8k"] + +[sub_resource type="Environment" id="Environment_ht7mm"] +ambient_light_source = 2 +ambient_light_color = Color(0.28118682, 0.28118688, 0.28118682, 1) +tonemap_mode = 2 +glow_enabled = true + +[sub_resource type="CylinderShape3D" id="CylinderShape3D_bsmr2"] +height = 2.75 +radius = 0.8 + +[node name="OutsideArea" type="Node3D"] +script = ExtResource("1_s41bt") +metadata/_custom_type_script = "uid://cigop0ivp5vvu" + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_ht7mm") + +[node name="CameraTraumaCauser" type="Marker3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13, 1, 32) +script = ExtResource("2_ht7mm") +continues_shake = true +distance_falloff = 0.392292 +max_shake_intensity = 0.1 +metadata/_custom_type_script = "uid://dk4pqgs08xphi" + +[node name="OmniLight3D" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, 20) +omni_range = 20.0 + +[node name="Blockout" type="Node3D" parent="."] + +[node name="Outline" type="CSGCombiner3D" parent="Blockout"] +use_collision = true + +[node name="CSGBox3D" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -2, 1.5, 4.75) +size = Vector3(1, 3, 9.5) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D2" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 3, 1.5, 4.75) +size = Vector3(1, 3, 9.5) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D3" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.5000001, 3.5, 4.75) +size = Vector3(6, 1, 9.5) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D4" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.5000001, -0.5, 4.75) +size = Vector3(6, 1, 9.5) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D5" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -15.5, 7, 22.000002) +size = Vector3(1, 14, 27) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D6" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 16.5, 7, 22.000002) +size = Vector3(1, 14, 27) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D7" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.49999896, 7, 9.000001) +size = Vector3(31, 14, 1) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D" type="CSGBox3D" parent="Blockout/Outline/CSGBox3D7"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.6093254e-06, -5.5, -0.09999943) +operation = 2 +size = Vector3(4, 3, 3) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D8" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.49999896, 7, 35) +size = Vector3(31, 14, 1) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D9" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.49999782, -0.5, 22) +size = Vector3(33, 1, 27) +material = ExtResource("3_8clfj") + +[node name="CSGBox3D10" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0.49999782, 14.5, 22) +size = Vector3(33, 1, 27) +material = ExtResource("3_8clfj") + +[node name="TEMPRamps" type="CSGCombiner3D" parent="Blockout"] +use_collision = true + +[node name="Ramp" type="CSGBox3D" parent="Blockout/TEMPRamps"] +transform = Transform3D(-1, -4.371139e-08, -7.571031e-08, 0, 0.8660251, -0.50000006, 8.7422784e-08, -0.50000006, -0.8660251, 12.6, 2.02, 24) +size = Vector3(4, 1, 10) + +[node name="Ramp2" type="CSGBox3D" parent="Blockout/TEMPRamps"] +transform = Transform3D(-1, -2.2626677e-08, -8.444393e-08, 0, 0.96592593, -0.25881898, 8.742277e-08, -0.25881898, -0.96592593, 8.5, 2.02, 24) +size = Vector3(4, 1, 10) + +[node name="Ramp3" type="CSGBox3D" parent="Blockout/TEMPRamps"] +transform = Transform3D(-1, -1.5180792e-08, -8.609465e-08, 0, 0.984808, -0.17364801, 8.742278e-08, -0.17364801, -0.984808, 5.5, 1.72, 24) +size = Vector3(2, 1, 10) + +[node name="Ramp4" type="CSGBox3D" parent="Blockout/TEMPRamps"] +transform = Transform3D(-1, -7.619402e-09, -8.7090136e-08, 0, 0.996195, -0.0871558, 8.742278e-08, -0.0871558, -0.996195, 3.5, 2.32, 24) +size = Vector3(2, 1, 10) + +[node name="CrouchAndStairTest" type="CSGCombiner3D" parent="Blockout"] +use_collision = true + +[node name="CSGBox3D3" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 2.5, 0.92, 15) + +[node name="CSGBox3D4" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 3.5, 1.12, 15) + +[node name="CSGBox3D5" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 4.5, 1.32, 15) + +[node name="CSGBox3D6" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 5.5, 1.52, 15) + +[node name="CSGBox3D7" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 6.5, 1.72, 15) + +[node name="CSGBox3D8" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 7.5, 1.92, 15) + +[node name="CSGBox3D9" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 8.5, 2.12, 15) + +[node name="CSGBox3D10" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 9.5, 2.32, 15) + +[node name="CSGBox3D11" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 10.5, 2.52, 15) + +[node name="CSGBox3D12" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 11.5, 2.72, 15) + +[node name="CSGBox3D13" type="CSGBox3D" parent="Blockout/CrouchAndStairTest"] +transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 12.5, 2.92, 15) + +[node name="Gameplay" type="Node3D" parent="."] + +[node name="Hazards" type="Node3D" parent="Gameplay"] + +[node name="Saw" parent="Gameplay/Hazards" instance=ExtResource("4_jdv38")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -6, 0.5, 23) + +[node name="Saw2" parent="Gameplay/Hazards" instance=ExtResource("4_jdv38")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5.8, 0.5, 23) + +[node name="Saw3" parent="Gameplay/Hazards" instance=ExtResource("4_jdv38")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5.6, 0.5, 23) + +[node name="Saw4" parent="Gameplay/Hazards" instance=ExtResource("4_jdv38")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5.4, 0.5, 23) + +[node name="Saw5" parent="Gameplay/Hazards" instance=ExtResource("4_jdv38")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5.2, 0.5, 23) + +[node name="Saw6" parent="Gameplay/Hazards" instance=ExtResource("4_jdv38")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -5, 0.5, 23) + +[node name="Saw7" parent="Gameplay/Hazards" instance=ExtResource("4_jdv38")] +transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1, 0.5, 23) + +[node name="SawSkin" parent="Gameplay/Hazards/Saw7" index="0"] +transform = Transform3D(-0.83029896, -0.4343731, 0, 0.4343731, -0.83029896, 0, 0, 0, 1, 0, 0, 0) + +[node name="SawSkin2" parent="Gameplay/Hazards/Saw7/SawSkin" index="1" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.907697, -0.41963, -2.22045e-16, 0.41963, 0.907697, 0, -3.55271e-15, -3.55271e-15, 1, 0, 0, 0.0999999) + +[node name="SawSkin3" parent="Gameplay/Hazards/Saw7/SawSkin" index="2" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.438149, 0.898906, -3.55271e-15, -0.898906, 0.438149, 0, 3.55271e-15, 1.77636e-15, 1, 0, 0, 0.2) + +[node name="SawSkin4" parent="Gameplay/Hazards/Saw7/SawSkin" index="3" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.575553, 0.817769, 3.55271e-15, -0.817769, -0.575553, 5.32907e-15, 7.10543e-15, 0, 1, 0, 0, 0.3) + +[node name="SawSkin5" parent="Gameplay/Hazards/Saw7/SawSkin" index="4" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.0698509, 0.997561, 3.55271e-15, -0.997561, 0.0698509, 6.38378e-15, 7.32747e-15, -7.10543e-15, 1, 0, 0, 0.4) + +[node name="SawSkin6" parent="Gameplay/Hazards/Saw7/SawSkin" index="5" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.834063, 0.551677, 0, -0.551677, 0.834063, 7.10543e-15, 1.42109e-14, -6.21725e-15, 1, 0, 0, 0.5) + +[node name="SawSkin7" parent="Gameplay/Hazards/Saw7/SawSkin" index="6" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.187532, -0.982263, -6.21725e-15, 0.982263, 0.187532, -3.55271e-15, 1.06581e-14, -7.77156e-15, 1, 0, 0, 0.599999) + +[node name="SawSkin8" parent="Gameplay/Hazards/Saw7/SawSkin" index="7" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.997299, 0.0735269, 3.55271e-15, -0.0735269, -0.997299, -5.32907e-15, -3.55271e-15, -5.32907e-15, 1, 0, 0, 0.599999) + +[node name="SawSkin9" parent="Gameplay/Hazards/Saw7/SawSkin" index="8" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.861875, -0.507134, -7.10543e-15, 0.507134, 0.861875, 3.55271e-15, -1.06581e-14, 0, 1, 0, 0, 0.699999) + +[node name="SawSkin10" parent="Gameplay/Hazards/Saw7/SawSkin" index="9" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.642194, 0.766551, 7.10543e-15, -0.766551, -0.642194, -8.88178e-16, -7.10543e-15, 0, 1, 0, 0, 0.799999) + +[node name="SawSkin11" parent="Gameplay/Hazards/Saw7/SawSkin" index="10" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.986419, -0.16429, -7.10543e-15, 0.16429, 0.986419, 0, -7.10543e-15, -3.55271e-15, 1, 0, 0, 0.899999) + +[node name="SawSkin12" parent="Gameplay/Hazards/Saw7/SawSkin" index="11" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.962893, 0.269909, 7.10543e-15, -0.269909, -0.962893, 7.77156e-16, -1.06581e-14, -2.66454e-15, 1, 0, 0, 0.999999) + +[node name="SawSkin13" parent="Gameplay/Hazards/Saw7/SawSkin" index="12" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.569512, -0.821991, -3.55271e-15, 0.821991, 0.569512, -7.10543e-15, -1.42109e-14, -4.44089e-15, 1, 0, 0, 1.1) + +[node name="SawSkin14" parent="Gameplay/Hazards/Saw7/SawSkin" index="13" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.620221, 0.784436, -1.06581e-14, -0.784436, 0.620221, 5.32907e-15, -1.42109e-14, -5.32907e-15, 1, 0, 0, 1.2) + +[node name="SawSkin15" parent="Gameplay/Hazards/Saw7/SawSkin" index="14" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.978, -0.208642, 1.06581e-14, 0.208642, -0.978, 3.10862e-15, -1.42109e-14, -3.55271e-15, 1, 0, 0, 1.3) + +[node name="SawSkin16" parent="Gameplay/Hazards/Saw7/SawSkin" index="15" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.801411, 0.598117, 0, -0.598117, -0.801411, 0, -3.55271e-15, -3.55271e-15, 1, 0, 0, 1.4) + +[node name="SawSkin17" parent="Gameplay/Hazards/Saw7/SawSkin" index="16" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.61442, -0.788984, 3.55271e-15, 0.788984, -0.61442, 4.44089e-16, 5.32907e-15, 0, 1, 0, 0, 1.5) + +[node name="SawSkin18" parent="Gameplay/Hazards/Saw7/SawSkin" index="17" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.394174, -0.919041, -3.55271e-15, 0.919041, 0.394174, -5.9952e-15, 3.55271e-15, 0, 1, 0, 0, 1.6) + +[node name="SawSkin19" parent="Gameplay/Hazards/Saw7/SawSkin" index="18" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.274452, -0.961605, -3.55271e-15, 0.961605, -0.274452, -7.10543e-15, 7.99361e-15, -7.10543e-15, 1, 0, 0, 1.7) + +[node name="SawSkin20" parent="Gameplay/Hazards/Saw7/SawSkin" index="19" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.93005, -0.367446, 0, 0.367446, -0.93005, -7.10543e-15, 1.77636e-14, -3.55271e-15, 1, 0, 0, 1.8) + +[node name="SawSkin21" parent="Gameplay/Hazards/Saw7/SawSkin" index="20" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.0194621, 0.999816, 7.10543e-15, -0.999816, 0.0194621, 4.66294e-15, 1.07692e-14, -7.10543e-15, 1, 0, 0, 1.9) + +[node name="SawSkin22" parent="Gameplay/Hazards/Saw7/SawSkin" index="21" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.96059, -0.277995, -3.55271e-15, 0.277995, 0.96059, 4.44089e-15, -7.10543e-15, -5.32907e-15, 1, 0, 0, 1.9) + +[node name="SawSkin23" parent="Gameplay/Hazards/Saw7/SawSkin" index="22" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.738498, 0.674265, 7.10543e-15, -0.674265, -0.738498, -2.22045e-15, -1.06581e-14, 0, 1, 0, 0, 2) + +[node name="SawSkin24" parent="Gameplay/Hazards/Saw7/SawSkin" index="23" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.469959, -0.882696, -7.10543e-15, 0.882696, 0.469959, -6.66134e-16, -5.32907e-15, 3.55271e-15, 1, 0, 0, 2.1) + +[node name="SawSkin25" parent="Gameplay/Hazards/Saw7/SawSkin" index="24" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.931191, 0.364552, 7.10543e-15, -0.364552, -0.931191, 1.33227e-15, -7.10543e-15, -3.55271e-15, 1, 0, 0, 2.2) + +[node name="SawSkin26" parent="Gameplay/Hazards/Saw7/SawSkin" index="25" instance=ExtResource("5_y0n8k")] +transform = Transform3D(0.886351, -0.463031, -7.10543e-15, 0.463031, 0.886351, -2.44249e-15, -1.06581e-14, 0, 1, 0, 0, 2.3) + +[node name="SawSkin27" parent="Gameplay/Hazards/Saw7/SawSkin" index="26" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.38739, 0.921924, 3.55271e-15, -0.921924, -0.38739, 7.54952e-15, -1.24345e-14, -7.10543e-15, 1, 0, 0, 2.4) + +[node name="SawSkin28" parent="Gameplay/Hazards/Saw7/SawSkin" index="27" instance=ExtResource("5_y0n8k")] +transform = Transform3D(-0.768913, -0.639366, 1.06581e-14, 0.639366, -0.768913, -3.33067e-15, -1.06581e-14, 0, 1, 0, 0, 2.5) + +[node name="SawSkin29" parent="Gameplay/Hazards/Saw7/SawSkin" index="28" instance=ExtResource("5_y0n8k")] +transform = Transform3D(1.00001, 0.00207399, -1.06581e-14, -0.00207399, 1.00001, -5.55112e-15, -1.77636e-14, -3.55271e-15, 0.999999, 0, 0, 2.6) + +[node name="CollisionShape3D" parent="Gameplay/Hazards/Saw7/DeathArea" index="0"] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 5.96046e-08, 1.275) +shape = SubResource("CylinderShape3D_bsmr2") + +[editable path="Gameplay/Hazards/Saw7"] diff --git a/source/src/levels/levels/outside_area.tscn b/source/src/levels/levels/outside_area.tscn new file mode 100644 index 0000000..0677ea0 --- /dev/null +++ b/source/src/levels/levels/outside_area.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=7 format=3 uid="uid://lraild3yetsh"] + +[ext_resource type="Script" uid="uid://cigop0ivp5vvu" path="res://src/core/level/level.gd" id="1_f7x8u"] +[ext_resource type="Material" uid="uid://bahys2ntbh2ap" path="res://assets/materials/dev/orange/orange_01.tres" id="2_gpfgd"] +[ext_resource type="Material" uid="uid://c38215ysnknyk" path="res://assets/materials/dev/dark/dark_01.tres" id="3_ccf7j"] + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_f7x8u"] +sky_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1) +ground_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1) + +[sub_resource type="Sky" id="Sky_gpfgd"] +sky_material = SubResource("ProceduralSkyMaterial_f7x8u") + +[sub_resource type="Environment" id="Environment_ccf7j"] +background_mode = 2 +sky = SubResource("Sky_gpfgd") +tonemap_mode = 2 +glow_enabled = true + +[node name="OutsideArea" type="Node3D"] +script = ExtResource("1_f7x8u") +metadata/_custom_type_script = "uid://cigop0ivp5vvu" + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_ccf7j") + +[node name="Blockout" type="Node3D" parent="."] + +[node name="Outline" type="CSGCombiner3D" parent="Blockout"] +use_collision = true + +[node name="CSGBox3D" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.940697e-08, 0, 1, 0, 8.940697e-08, 0, -1, 0.7999968, 0.5, 5.000003) +size = Vector3(4, 1, 10) +material = ExtResource("2_gpfgd") + +[node name="CSGBox3D4" type="CSGBox3D" parent="Blockout/Outline"] +transform = Transform3D(-1, 0, -8.940697e-08, 0, 1, 0, 8.940697e-08, 0, -1, 0.7999999, 3, 24) +size = Vector3(16, 1, 10) +material = ExtResource("2_gpfgd") + +[node name="CSGBox3D3" type="CSGPolygon3D" parent="Blockout/Outline"] +transform = Transform3D(1.1920929e-07, 0, -1, 0, 1, 0, 1, 0, 1.1920929e-07, -1.2000008, 0.5, 15) +polygon = PackedVector2Array(-5, -0.5, -5, 0.5, 4, 3, 4, 2) +depth = 4.0 +material = ExtResource("2_gpfgd") + +[node name="CircusTent" type="CSGCombiner3D" parent="Blockout/Outline"] + +[node name="CSGBox3D2" type="CSGBox3D" parent="Blockout/Outline/CircusTent"] +transform = Transform3D(-1, 0, -8.940697e-08, 0, 1, 0, 8.940697e-08, 0, -1, 0.8000011, 10, 35.999996) +size = Vector3(31, 15, 15) +material = ExtResource("2_gpfgd") + +[node name="CSGBox3D5" type="CSGBox3D" parent="Blockout/Outline/CircusTent"] +transform = Transform3D(-1, 0, -8.940697e-08, 0, 1, 0, 8.940697e-08, 0, -1, 0.8, 5, 35.5) +operation = 2 +size = Vector3(4, 3, 16) +material = ExtResource("3_ccf7j") diff --git a/source/components/ui/menus/boot/boot.gd b/source/src/ui/menus/boot/boot.gd similarity index 93% rename from source/components/ui/menus/boot/boot.gd rename to source/src/ui/menus/boot/boot.gd index f84129b..a7f8efd 100644 --- a/source/components/ui/menus/boot/boot.gd +++ b/source/src/ui/menus/boot/boot.gd @@ -14,4 +14,6 @@ func _ready() -> void: func _on_shader_precompiler_finished_compilation() -> void: SettingsManager.set_setting(&"game", &"has_compiled_shaders", true) + + SceneFader.color_rect.color.a = 1.0 SceneFader.load_to_path(GameGlobals.MAIN_MENU_PATH) diff --git a/source/components/ui/menus/boot/boot.gd.uid b/source/src/ui/menus/boot/boot.gd.uid similarity index 100% rename from source/components/ui/menus/boot/boot.gd.uid rename to source/src/ui/menus/boot/boot.gd.uid diff --git a/source/components/ui/menus/boot/boot.tscn b/source/src/ui/menus/boot/boot.tscn similarity index 80% rename from source/components/ui/menus/boot/boot.tscn rename to source/src/ui/menus/boot/boot.tscn index 8aae3f2..5b5cd99 100644 --- a/source/components/ui/menus/boot/boot.tscn +++ b/source/src/ui/menus/boot/boot.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://coga3ke4xw3a0"] -[ext_resource type="Script" uid="uid://bf1k68a8ky3ps" path="res://components/ui/menus/boot/boot.gd" id="1_yodsw"] -[ext_resource type="PackedScene" uid="uid://b2wlequ3m4trj" path="res://components/ui/menus/boot/shader_precompilation/shader_precompiler.tscn" id="2_fge7m"] +[ext_resource type="Script" uid="uid://bf1k68a8ky3ps" path="res://src/ui/menus/boot/boot.gd" id="1_yodsw"] +[ext_resource type="PackedScene" uid="uid://b2wlequ3m4trj" path="res://src/ui/menus/boot/shader_precompilation/shader_precompiler.tscn" id="2_fge7m"] [node name="Boot" type="Control"] layout_mode = 3 diff --git a/source/components/ui/menus/boot/shader_precompilation/shader_precompiler.gd b/source/src/ui/menus/boot/shader_precompilation/shader_precompiler.gd similarity index 62% rename from source/components/ui/menus/boot/shader_precompilation/shader_precompiler.gd rename to source/src/ui/menus/boot/shader_precompilation/shader_precompiler.gd index 99cd2ac..e3f05bf 100644 --- a/source/components/ui/menus/boot/shader_precompilation/shader_precompiler.gd +++ b/source/src/ui/menus/boot/shader_precompilation/shader_precompiler.gd @@ -5,6 +5,7 @@ signal finished_compilation const EXCLUDED_DIRECTORIES: Array[String] = [ "res://addons", "res://.godot", + "res://localization", ] #const SIMUTANEOUS_SCENES: int = 5 @@ -14,7 +15,7 @@ const EXCLUDED_DIRECTORIES: Array[String] = [ func precompile_shaders() -> void: - var files: PackedStringArray = find_scene_file_paths("res://") + var files: PackedStringArray = find_scenes_in_file_path("res://") var index: int = 0 while index < files.size(): @@ -45,6 +46,24 @@ func compile_scene(scene_path: String) -> void: for child: Node in Utils.get_all_children(node): child.set_script(null) + + # WARNING: Any children of these fmod nodes are also deleted. + # if ( + # child is FmodBankLoader + # or child is FmodEventEmitter2D + # or child is FmodEventEmitter3D + # or child is FmodListener2D + # or child is FmodListener3D + # ): + # child.free() + + if ( + child is GPUParticles2D + or child is GPUParticles3D + or child is CPUParticles2D + or child is CPUParticles3D + ): + child.set_emitting(true) #child.set_process(false) #child.set_process_internal(false) #child.set_physics_process_internal(false) @@ -54,21 +73,22 @@ func compile_scene(scene_path: String) -> void: node.queue_free() -func find_scene_file_paths(path: String, find_recursive: bool = true) -> PackedStringArray: +func find_scenes_in_file_path(path: String, find_recursive: bool = true) -> PackedStringArray: var files: PackedStringArray = [] + path = str(path, "/" if not path.ends_with("/") else "") for file: String in DirAccess.get_files_at(path): if file.get_extension().contains("scn"): #print("Path: '%s' Filename: '%s'" %[path, file]) - files.append(str(path, "/" if not path.ends_with("/") else "", file)) + files.append(str(path, file)) if find_recursive: for folder: String in DirAccess.get_directories_at(path): - var _path: String = str(path, "/" if not path.ends_with("/") else "", folder) + var excluded_path: String = str(path, folder) - if EXCLUDED_DIRECTORIES.has(_path): + if EXCLUDED_DIRECTORIES.has(excluded_path): continue - files.append_array(find_scene_file_paths(_path)) + files.append_array(find_scenes_in_file_path(excluded_path)) return files diff --git a/source/components/ui/menus/boot/shader_precompilation/shader_precompiler.gd.uid b/source/src/ui/menus/boot/shader_precompilation/shader_precompiler.gd.uid similarity index 100% rename from source/components/ui/menus/boot/shader_precompilation/shader_precompiler.gd.uid rename to source/src/ui/menus/boot/shader_precompilation/shader_precompiler.gd.uid diff --git a/source/components/ui/menus/boot/shader_precompilation/shader_precompiler.tscn b/source/src/ui/menus/boot/shader_precompilation/shader_precompiler.tscn similarity index 93% rename from source/components/ui/menus/boot/shader_precompilation/shader_precompiler.tscn rename to source/src/ui/menus/boot/shader_precompilation/shader_precompiler.tscn index 093745a..ef85528 100644 --- a/source/components/ui/menus/boot/shader_precompilation/shader_precompiler.tscn +++ b/source/src/ui/menus/boot/shader_precompilation/shader_precompiler.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://b2wlequ3m4trj"] -[ext_resource type="Script" uid="uid://cpt7foih8y88d" path="res://components/ui/menus/boot/shader_precompilation/shader_precompiler.gd" id="1_ibtyg"] +[ext_resource type="Script" uid="uid://cpt7foih8y88d" path="res://src/ui/menus/boot/shader_precompilation/shader_precompiler.gd" id="1_ibtyg"] [node name="ShaderPrecompiler" type="Node"] script = ExtResource("1_ibtyg") diff --git a/source/src/ui/menus/death_screen/death_screen.gd b/source/src/ui/menus/death_screen/death_screen.gd new file mode 100644 index 0000000..f838f71 --- /dev/null +++ b/source/src/ui/menus/death_screen/death_screen.gd @@ -0,0 +1,51 @@ +extends MenuBase + +var can_close_menu: bool = false + +@onready var idle_timer: Timer = $IdleTimer +@onready var saw_artwork: Control = $Saw + + +func _ready() -> void: + close_menu() + GameGlobals.player_died.connect(_on_player_died) + + +func _input(event: InputEvent) -> void: + if can_close_menu and is_visible_in_tree() and event.is_pressed(): + can_close_menu = false + + await SceneFader.fade_in() + await get_tree().create_timer(0.5).timeout + + close_menu() + + GameGlobals.reset_game() + GameGlobals.load_from_save() + SceneFader.fade_out.call_deferred() + get_tree().paused = false + get_tree().reload_current_scene() + + +func display_death_background(death_type: GameGlobals.DeathTypes) -> void: + match death_type: + GameGlobals.DeathTypes.SAW: + saw_artwork.show() + + +func _on_player_died(death_type: GameGlobals.DeathTypes) -> void: + can_close_menu = false + + for child: Node in get_children(): + if child.has_method(&"hide"): + child.hide() + + display_death_background(death_type) + + open_menu() + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + + idle_timer.start() + await idle_timer.timeout + + can_close_menu = true diff --git a/source/src/ui/menus/death_screen/death_screen.gd.uid b/source/src/ui/menus/death_screen/death_screen.gd.uid new file mode 100644 index 0000000..1d15a9b --- /dev/null +++ b/source/src/ui/menus/death_screen/death_screen.gd.uid @@ -0,0 +1 @@ +uid://cjdd4twf4ju7y diff --git a/source/src/ui/menus/death_screen/death_screen.tscn b/source/src/ui/menus/death_screen/death_screen.tscn new file mode 100644 index 0000000..ae1a23b --- /dev/null +++ b/source/src/ui/menus/death_screen/death_screen.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=2 format=3 uid="uid://kne8gkorpuop"] + +[ext_resource type="Script" uid="uid://cjdd4twf4ju7y" path="res://src/ui/menus/death_screen/death_screen.gd" id="1_d21i8"] + +[node name="DeathScreen" type="Control"] +process_mode = 2 +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 +script = ExtResource("1_d21i8") + +[node name="Saw" type="Control" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[node name="DeathLabel" type="Label" parent="Saw"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -57.0 +offset_top = -11.5 +offset_right = 57.0 +offset_bottom = 11.5 +grow_horizontal = 2 +grow_vertical = 2 +text = "Killed by a saw" + +[node name="IdleTimer" type="Timer" parent="."] +wait_time = 2.5 +one_shot = true diff --git a/source/components/ui/menus/loading_screen/loading_screen.gd b/source/src/ui/menus/loading_screen/loading_screen.gd similarity index 100% rename from source/components/ui/menus/loading_screen/loading_screen.gd rename to source/src/ui/menus/loading_screen/loading_screen.gd diff --git a/source/components/ui/menus/loading_screen/loading_screen.gd.uid b/source/src/ui/menus/loading_screen/loading_screen.gd.uid similarity index 100% rename from source/components/ui/menus/loading_screen/loading_screen.gd.uid rename to source/src/ui/menus/loading_screen/loading_screen.gd.uid diff --git a/source/components/ui/menus/loading_screen/loading_screen.tscn b/source/src/ui/menus/loading_screen/loading_screen.tscn similarity index 91% rename from source/components/ui/menus/loading_screen/loading_screen.tscn rename to source/src/ui/menus/loading_screen/loading_screen.tscn index 82e9da4..03ca418 100644 --- a/source/components/ui/menus/loading_screen/loading_screen.tscn +++ b/source/src/ui/menus/loading_screen/loading_screen.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://buvus4ym83wa8"] -[ext_resource type="Script" uid="uid://tmo4wscguj62" path="res://components/ui/menus/loading_screen/loading_screen.gd" id="1_1gk3q"] +[ext_resource type="Script" uid="uid://tmo4wscguj62" path="res://src/ui/menus/loading_screen/loading_screen.gd" id="1_1gk3q"] [node name="LoadingScreen" type="Control"] layout_mode = 3 diff --git a/source/components/ui/menus/main_menu/main_menu.gd b/source/src/ui/menus/main_menu/main_menu.gd similarity index 77% rename from source/components/ui/menus/main_menu/main_menu.gd rename to source/src/ui/menus/main_menu/main_menu.gd index 687daad..e6cf407 100644 --- a/source/components/ui/menus/main_menu/main_menu.gd +++ b/source/src/ui/menus/main_menu/main_menu.gd @@ -1,7 +1,7 @@ class_name MainMenu extends Node -const AMBIENCE_STREAM: AudioStream = preload("res://Dark House.wav") +const AMBIENCE_STREAM: AudioStream = preload("uid://cyxvsy5wjxhl7") @onready var continue_button: Button = %ContinueButton @onready var new_game_button: Button = %NewGameButton @@ -13,7 +13,7 @@ const AMBIENCE_STREAM: AudioStream = preload("res://Dark House.wav") func _ready() -> void: continue_button.disabled = not SaveManager.save_exists() - AudioManager.play_audio(AMBIENCE_STREAM, AudioManager.MUSIC) + AudioManager.play_audio(AMBIENCE_STREAM, AudioManager.AMBIENCE) func _unhandled_input(event: InputEvent) -> void: @@ -23,14 +23,14 @@ func _unhandled_input(event: InputEvent) -> void: func load_game() -> void: - AudioManager.fade_audio(AMBIENCE_STREAM, -80.0, SceneFader.fade_in_duration, AudioManager.MUSIC, true) + AudioManager.fade_audio(AMBIENCE_STREAM, -80.0, SceneFader.fade_in_duration, AudioManager.AMBIENCE, true) SceneFader.load_to_path(GameGlobals.GAME_PATH) func _on_new_game_button_pressed() -> void: if SceneFader.is_fading: return - + GameGlobals.reset_game() SaveManager.delete_save() SaveManager.save_game() @@ -40,22 +40,25 @@ func _on_new_game_button_pressed() -> void: func _on_continue_button_pressed() -> void: if SceneFader.is_fading: return - + GameGlobals.reset_game() - SaveManager.load_game() + GameGlobals.load_from_save() load_game() func _on_quit_button_pressed() -> void: if SceneFader.is_fading: return - + + AudioManager.fade_audio(AMBIENCE_STREAM, -80.0, SceneFader.fade_out_duration, AudioManager.AMBIENCE) + await SceneFader.fade_in() + get_tree().quit() func _on_settings_button_pressed() -> void: if SceneFader.is_fading: return - + main_menu_ui.hide() options_menu.show() diff --git a/source/components/ui/menus/main_menu/main_menu.gd.uid b/source/src/ui/menus/main_menu/main_menu.gd.uid similarity index 100% rename from source/components/ui/menus/main_menu/main_menu.gd.uid rename to source/src/ui/menus/main_menu/main_menu.gd.uid diff --git a/source/components/ui/menus/main_menu/main_menu.tscn b/source/src/ui/menus/main_menu/main_menu.tscn similarity index 96% rename from source/components/ui/menus/main_menu/main_menu.tscn rename to source/src/ui/menus/main_menu/main_menu.tscn index 8cc550e..43c7ea3 100644 --- a/source/components/ui/menus/main_menu/main_menu.tscn +++ b/source/src/ui/menus/main_menu/main_menu.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://dwd8wf02j2epn"] -[ext_resource type="Script" uid="uid://bmsx3h2kunhb0" path="res://components/ui/menus/main_menu/main_menu.gd" id="1_6xfbl"] -[ext_resource type="PackedScene" uid="uid://4s2nskkco0a2" path="res://components/ui/menus/options_menu/options_menu.tscn" id="2_i2wwg"] +[ext_resource type="Script" uid="uid://bmsx3h2kunhb0" path="res://src/ui/menus/main_menu/main_menu.gd" id="1_6xfbl"] +[ext_resource type="PackedScene" uid="uid://4s2nskkco0a2" path="res://src/ui/menus/options_menu/options_menu.tscn" id="2_i2wwg"] [sub_resource type="Environment" id="Environment_6xfbl"] ambient_light_source = 2 diff --git a/source/components/ui/menus/menu_base.gd b/source/src/ui/menus/menu_base.gd similarity index 81% rename from source/components/ui/menus/menu_base.gd rename to source/src/ui/menus/menu_base.gd index 4431c0b..b9e9120 100644 --- a/source/components/ui/menus/menu_base.gd +++ b/source/src/ui/menus/menu_base.gd @@ -4,21 +4,26 @@ extends Control signal menu_opened signal menu_closed +@export var focus_node: Control + var previous_menu: MenuBase func open_menu(last_menu: MenuBase = previous_menu) -> void: show() - + if is_instance_valid(last_menu): previous_menu = last_menu last_menu.hide() menu_opened.emit() + if is_instance_valid(focus_node): + focus_node.grab_focus() + func close_menu() -> void: hide() - + if is_instance_valid(previous_menu): previous_menu.open_menu() previous_menu = null diff --git a/source/components/ui/menus/menu_base.gd.uid b/source/src/ui/menus/menu_base.gd.uid similarity index 100% rename from source/components/ui/menus/menu_base.gd.uid rename to source/src/ui/menus/menu_base.gd.uid diff --git a/source/components/ui/menus/menu_button_opener.gd b/source/src/ui/menus/menu_button_opener.gd similarity index 100% rename from source/components/ui/menus/menu_button_opener.gd rename to source/src/ui/menus/menu_button_opener.gd diff --git a/source/components/ui/menus/menu_button_opener.gd.uid b/source/src/ui/menus/menu_button_opener.gd.uid similarity index 100% rename from source/components/ui/menus/menu_button_opener.gd.uid rename to source/src/ui/menus/menu_button_opener.gd.uid diff --git a/source/components/ui/menus/options_menu/elements/fullscreen_button.gd b/source/src/ui/menus/options_menu/elements/fullscreen_button.gd similarity index 100% rename from source/components/ui/menus/options_menu/elements/fullscreen_button.gd rename to source/src/ui/menus/options_menu/elements/fullscreen_button.gd diff --git a/source/components/ui/menus/options_menu/elements/fullscreen_button.gd.uid b/source/src/ui/menus/options_menu/elements/fullscreen_button.gd.uid similarity index 100% rename from source/components/ui/menus/options_menu/elements/fullscreen_button.gd.uid rename to source/src/ui/menus/options_menu/elements/fullscreen_button.gd.uid diff --git a/source/src/ui/menus/options_menu/elements/language_selector.gd b/source/src/ui/menus/options_menu/elements/language_selector.gd new file mode 100644 index 0000000..e140755 --- /dev/null +++ b/source/src/ui/menus/options_menu/elements/language_selector.gd @@ -0,0 +1,33 @@ +extends OptionButton + + +@export var languages: Dictionary[String, String] = { + "English (English)": "en", + "Deutsch (German)": "de" +} + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + for i: Variant in languages: + add_item(i as String) + + select(SettingsManager.get_setting(&"misc", &"language")) + + if selected == -1: + match OS.get_locale_language(): + "en": selected = 0 + "de": selected = 1 + + item_selected.connect(option_selected) + option_selected(selected) + + +func option_selected(index: int) -> void: + var index_string: String = get_item_text(index) + + if languages.has(index_string): + if languages[index_string] is not String: + return + + SettingsManager.set_language(index) + TranslationServer.set_locale(languages[index_string]) diff --git a/source/src/ui/menus/options_menu/elements/language_selector.gd.uid b/source/src/ui/menus/options_menu/elements/language_selector.gd.uid new file mode 100644 index 0000000..b88f9aa --- /dev/null +++ b/source/src/ui/menus/options_menu/elements/language_selector.gd.uid @@ -0,0 +1 @@ +uid://cbxoamco3w7vs diff --git a/source/src/ui/menus/options_menu/elements/settings_checkbox.gd b/source/src/ui/menus/options_menu/elements/settings_checkbox.gd new file mode 100644 index 0000000..1d64121 --- /dev/null +++ b/source/src/ui/menus/options_menu/elements/settings_checkbox.gd @@ -0,0 +1,14 @@ +class_name SettingsCheckBox +extends CheckBox + + +@export var section: StringName = &"" +@export var key: StringName = &"" + + +func _ready() -> void: + button_pressed = SettingsManager.get_setting(section, key) + + +func _toggled(toggled_on: bool) -> void: + SettingsManager.set_setting(section, key, toggled_on) diff --git a/source/src/ui/menus/options_menu/elements/settings_checkbox.gd.uid b/source/src/ui/menus/options_menu/elements/settings_checkbox.gd.uid new file mode 100644 index 0000000..d4fc5a1 --- /dev/null +++ b/source/src/ui/menus/options_menu/elements/settings_checkbox.gd.uid @@ -0,0 +1 @@ +uid://c0s18kus3bt2n diff --git a/source/src/ui/menus/options_menu/elements/settings_slider.gd b/source/src/ui/menus/options_menu/elements/settings_slider.gd new file mode 100644 index 0000000..16d7224 --- /dev/null +++ b/source/src/ui/menus/options_menu/elements/settings_slider.gd @@ -0,0 +1,33 @@ +class_name SettingsSlider +extends HSlider + +## A normal slider that changes a float (or int(?)) value in the project settings. +## This slider will automatically load and save it's value when it enters the tree +## or changes it's value.[br] +## INFO: You don't need to change [param min_value] and [param max_value]. It is being saved +## as a ratio towards them. + +## The path towards the setting that get's it's value changed. +@export var section: StringName = &"" +@export var key: StringName = &"" +@export var default_value: float = 1.0 + + +func _ready() -> void: + value_changed.connect(func(_value_changed: bool) -> void: + set_setting(value) + ) + #value_changed.connect(set_setting) + + var err: Variant = SettingsManager.get_setting(section, key) + if not is_nan(err) and err is float: + var new_value: float = remap(err, 0.0, 1.0, min_value, max_value) + set_value_no_signal(new_value) + set_setting(new_value) + drag_ended.emit(value) + + +## Set's the setting in the project setting with a path from [param setting_path].[br] +## Note that this won't change [param value]. +func set_setting(new_value: float) -> void: + SettingsManager.set_setting(section, key, new_value) diff --git a/source/src/ui/menus/options_menu/elements/settings_slider.gd.uid b/source/src/ui/menus/options_menu/elements/settings_slider.gd.uid new file mode 100644 index 0000000..c6b2aa5 --- /dev/null +++ b/source/src/ui/menus/options_menu/elements/settings_slider.gd.uid @@ -0,0 +1 @@ +uid://bsysknjwg6abb diff --git a/source/components/ui/menus/options_menu/elements/slider_label.gd b/source/src/ui/menus/options_menu/elements/slider_label.gd similarity index 99% rename from source/components/ui/menus/options_menu/elements/slider_label.gd rename to source/src/ui/menus/options_menu/elements/slider_label.gd index 2b61cb7..46c18a8 100644 --- a/source/components/ui/menus/options_menu/elements/slider_label.gd +++ b/source/src/ui/menus/options_menu/elements/slider_label.gd @@ -18,16 +18,16 @@ extends Label func set_slider(new_slider: Slider) -> void: if new_slider == slider: return - + if is_instance_valid(slider): slider.value_changed.disconnect(_on_value_changed) - + if is_instance_valid(new_slider): new_slider.value_changed.connect(_on_value_changed) if not new_slider.is_node_ready(): await new_slider.ready _on_value_changed(new_slider.get_value()) # Apply the value of the new slider. - + slider = new_slider @@ -35,6 +35,6 @@ func _on_value_changed(new_value: float) -> void: var value: float = new_value if do_remap: value = remap(value, remap_initial_min, remap_initial_max, remap_output_min, remap_output_max) - + var new_text: String = str(value).pad_zeros(pad_zeros).pad_decimals(pad_decimals) set_text(str(prefix, new_text, suffix)) diff --git a/source/components/ui/menus/options_menu/elements/slider_label.gd.uid b/source/src/ui/menus/options_menu/elements/slider_label.gd.uid similarity index 100% rename from source/components/ui/menus/options_menu/elements/slider_label.gd.uid rename to source/src/ui/menus/options_menu/elements/slider_label.gd.uid diff --git a/source/components/ui/menus/options_menu/elements/volume_slider.gd b/source/src/ui/menus/options_menu/elements/volume_slider.gd similarity index 98% rename from source/components/ui/menus/options_menu/elements/volume_slider.gd rename to source/src/ui/menus/options_menu/elements/volume_slider.gd index dcff3d6..5cd36f8 100644 --- a/source/components/ui/menus/options_menu/elements/volume_slider.gd +++ b/source/src/ui/menus/options_menu/elements/volume_slider.gd @@ -1,4 +1,4 @@ -class_name VolumeSlider +class_name VolumeSlider extends HSlider @@ -23,12 +23,12 @@ func _ready() -> void: value_changed.connect(func(_value_changed: bool) -> void: SettingsManager.set_setting(&"audio", bus, remap(value, min_value, max_value, 0.0, 1.0), true) ) - + if not value_changed.is_connected(set_volume): value_changed.connect(set_volume) - + var err: float = SettingsManager.get_setting(&"audio", bus) - + var new_value: float = remap(err, 0.0, 1.0, min_value, max_value) set_value_no_signal(new_value) set_volume(new_value) @@ -41,7 +41,7 @@ func set_volume(volume_range: float) -> void: volume_range = remap(volume_range, min_value, max_value, min_volume, max_volume) var new_volume: float = linear_to_db(volume_range) var bus_idx: int = AudioServer.get_bus_index(bus) - + AudioServer.set_bus_volume_db(bus_idx, new_volume) if auto_set_muted: AudioServer.set_bus_mute(bus_idx, is_zero_approx(volume_range)) diff --git a/source/components/ui/menus/options_menu/elements/volume_slider.gd.uid b/source/src/ui/menus/options_menu/elements/volume_slider.gd.uid similarity index 100% rename from source/components/ui/menus/options_menu/elements/volume_slider.gd.uid rename to source/src/ui/menus/options_menu/elements/volume_slider.gd.uid diff --git a/source/components/ui/menus/options_menu/options_menu.gd b/source/src/ui/menus/options_menu/options_menu.gd similarity index 100% rename from source/components/ui/menus/options_menu/options_menu.gd rename to source/src/ui/menus/options_menu/options_menu.gd diff --git a/source/components/ui/menus/options_menu/options_menu.gd.uid b/source/src/ui/menus/options_menu/options_menu.gd.uid similarity index 100% rename from source/components/ui/menus/options_menu/options_menu.gd.uid rename to source/src/ui/menus/options_menu/options_menu.gd.uid diff --git a/source/components/ui/menus/options_menu/options_menu.tscn b/source/src/ui/menus/options_menu/options_menu.tscn similarity index 74% rename from source/components/ui/menus/options_menu/options_menu.tscn rename to source/src/ui/menus/options_menu/options_menu.tscn index bbd7d90..31551fc 100644 --- a/source/components/ui/menus/options_menu/options_menu.tscn +++ b/source/src/ui/menus/options_menu/options_menu.tscn @@ -1,16 +1,22 @@ -[gd_scene load_steps=4 format=3 uid="uid://4s2nskkco0a2"] +[gd_scene load_steps=7 format=3 uid="uid://4s2nskkco0a2"] -[ext_resource type="Script" uid="uid://dg2s0gww8q6jh" path="res://components/ui/menus/options_menu/elements/slider_label.gd" id="2_gjkvu"] -[ext_resource type="Script" uid="uid://d2j5jmj08o7f5" path="res://components/ui/menus/options_menu/elements/volume_slider.gd" id="2_hj0r6"] -[ext_resource type="Script" uid="uid://dlkewd0xr6ytq" path="res://components/ui/menus/options_menu/elements/fullscreen_button.gd" id="3_hj0r6"] +[ext_resource type="Script" uid="uid://crdgxvb8i0cif" path="res://src/ui/menus/menu_base.gd" id="1_df6s5"] +[ext_resource type="Script" uid="uid://dg2s0gww8q6jh" path="res://src/ui/menus/options_menu/elements/slider_label.gd" id="2_gjkvu"] +[ext_resource type="Script" uid="uid://d2j5jmj08o7f5" path="res://src/ui/menus/options_menu/elements/volume_slider.gd" id="2_hj0r6"] +[ext_resource type="Script" uid="uid://dlkewd0xr6ytq" path="res://src/ui/menus/options_menu/elements/fullscreen_button.gd" id="3_hj0r6"] +[ext_resource type="Script" uid="uid://cbxoamco3w7vs" path="res://src/ui/menus/options_menu/elements/language_selector.gd" id="4_npml7"] +[ext_resource type="Script" uid="uid://c0s18kus3bt2n" path="res://src/ui/menus/options_menu/elements/settings_checkbox.gd" id="5_basnw"] -[node name="OptionsMenu" type="Control"] +[node name="OptionsMenu" type="Control" node_paths=PackedStringArray("focus_node")] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +script = ExtResource("1_df6s5") +focus_node = NodePath("TabContainer/Misc/MarginContainer/VBoxContainer/LanguageSelector") +metadata/_custom_type_script = "uid://crdgxvb8i0cif" [node name="TabContainer" type="TabContainer" parent="."] custom_minimum_size = Vector2(256, 256) @@ -27,9 +33,10 @@ offset_bottom = 20.0 grow_horizontal = 2 grow_vertical = 2 tab_alignment = 1 -current_tab = 0 +current_tab = 2 [node name="Audio" type="Control" parent="TabContainer"] +visible = false layout_mode = 2 metadata/_tab_index = 0 @@ -175,3 +182,35 @@ layout_mode = 2 layout_mode = 2 text = "Fullscreen" script = ExtResource("3_hj0r6") + +[node name="Misc" type="Control" parent="TabContainer"] +layout_mode = 2 +metadata/_tab_index = 2 + +[node name="MarginContainer" type="MarginContainer" parent="TabContainer/Misc"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/margin_left = 4 +theme_override_constants/margin_top = 4 +theme_override_constants/margin_right = 4 +theme_override_constants/margin_bottom = 4 + +[node name="VBoxContainer" type="VBoxContainer" parent="TabContainer/Misc/MarginContainer"] +layout_mode = 2 + +[node name="LanguageSelector" type="OptionButton" parent="TabContainer/Misc/MarginContainer/VBoxContainer"] +layout_mode = 2 +script = ExtResource("4_npml7") + +[node name="Headbobbing" type="CheckBox" parent="TabContainer/Misc/MarginContainer/VBoxContainer"] +layout_mode = 2 +button_pressed = true +text = "Headbobbing" +script = ExtResource("5_basnw") +section = &"misc" +key = &"headbobbing" +metadata/_custom_type_script = "uid://c0s18kus3bt2n" diff --git a/source/components/ui/menus/pause_menu/pause_menu.gd b/source/src/ui/menus/pause_menu/pause_menu.gd similarity index 56% rename from source/components/ui/menus/pause_menu/pause_menu.gd rename to source/src/ui/menus/pause_menu/pause_menu.gd index 9c6921c..776d585 100644 --- a/source/components/ui/menus/pause_menu/pause_menu.gd +++ b/source/src/ui/menus/pause_menu/pause_menu.gd @@ -6,14 +6,13 @@ const ACTION_PAUSE: StringName = &"pause" var can_pause: bool = true @onready var pause_menu: MenuBase = $PauseMenu -@onready var options_menu: Control = $OptionsMenu +@onready var options_menu: MenuBase = $OptionsMenu func _input(event: InputEvent) -> void: if event.is_action_pressed(ACTION_PAUSE): if options_menu.is_visible_in_tree(): - options_menu.hide() - pause_menu.show() + options_menu.close_menu() else: toggle_pause() @@ -21,18 +20,16 @@ func _input(event: InputEvent) -> void: func set_paused(value: bool) -> void: if SceneFader.is_fading: return - + get_tree().paused = value - pause_menu.visible = value - - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE if value else Input.MOUSE_MODE_CAPTURED + (pause_menu.open_menu if value else pause_menu.close_menu).call() + + InputManager.set_mouse_captured(not value) func toggle_pause() -> void: - if not can_pause or options_menu.is_visible(): - return - - set_paused(not get_tree().paused) + if can_pause and not options_menu.is_visible(): + set_paused(not get_tree().paused) func _on_continue_button_pressed() -> void: @@ -40,10 +37,9 @@ func _on_continue_button_pressed() -> void: func _on_main_menu_button_pressed() -> void: - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE - await SceneFader.load_to_path(GameGlobals.MAIN_MENU_PATH, true) + InputManager.release_mouse() + await SceneFader.load_to_path(GameGlobals.MAIN_MENU_PATH) func _on_settings_button_pressed() -> void: - pause_menu.hide() - options_menu.show() + options_menu.open_menu(pause_menu) diff --git a/source/components/ui/menus/pause_menu/pause_menu.gd.uid b/source/src/ui/menus/pause_menu/pause_menu.gd.uid similarity index 100% rename from source/components/ui/menus/pause_menu/pause_menu.gd.uid rename to source/src/ui/menus/pause_menu/pause_menu.gd.uid diff --git a/source/components/ui/menus/pause_menu/pause_menu.tscn b/source/src/ui/menus/pause_menu/pause_menu.tscn similarity index 85% rename from source/components/ui/menus/pause_menu/pause_menu.tscn rename to source/src/ui/menus/pause_menu/pause_menu.tscn index e49e74e..f70f198 100644 --- a/source/components/ui/menus/pause_menu/pause_menu.tscn +++ b/source/src/ui/menus/pause_menu/pause_menu.tscn @@ -1,14 +1,14 @@ [gd_scene load_steps=4 format=3 uid="uid://dawmen0hlfaaq"] -[ext_resource type="Script" uid="uid://cx3lpgmhrra8v" path="res://components/ui/menus/pause_menu/pause_menu.gd" id="1_43sid"] -[ext_resource type="Script" uid="uid://crdgxvb8i0cif" path="res://components/ui/menus/menu_base.gd" id="1_hcnxh"] -[ext_resource type="PackedScene" uid="uid://4s2nskkco0a2" path="res://components/ui/menus/options_menu/options_menu.tscn" id="3_hcnxh"] +[ext_resource type="Script" uid="uid://cx3lpgmhrra8v" path="res://src/ui/menus/pause_menu/pause_menu.gd" id="1_43sid"] +[ext_resource type="Script" uid="uid://crdgxvb8i0cif" path="res://src/ui/menus/menu_base.gd" id="1_hcnxh"] +[ext_resource type="PackedScene" uid="uid://4s2nskkco0a2" path="res://src/ui/menus/options_menu/options_menu.tscn" id="3_hcnxh"] [node name="PauseMenu" type="Node"] process_mode = 3 script = ExtResource("1_43sid") -[node name="PauseMenu" type="Control" parent="."] +[node name="PauseMenu" type="Control" parent="." node_paths=PackedStringArray("focus_node")] visible = false layout_mode = 3 anchors_preset = 15 @@ -17,6 +17,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_hcnxh") +focus_node = NodePath("VBoxContainer/ContinueButton") metadata/_custom_type_script = "uid://crdgxvb8i0cif" [node name="Label" type="Label" parent="PauseMenu"] diff --git a/source/src/vfx/shaders/dissolving_wall/dissolving_wall.gdshader b/source/src/vfx/shaders/dissolving_wall/dissolving_wall.gdshader new file mode 100644 index 0000000..46cd135 --- /dev/null +++ b/source/src/vfx/shaders/dissolving_wall/dissolving_wall.gdshader @@ -0,0 +1,70 @@ +// NOTE: Shader automatically converted from Godot Engine 4.4.1.stable's StandardMaterial3D. + +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx; + +uniform vec4 albedo : source_color = vec4(1.0, 1.0, 1.0, 1.0); +uniform sampler2D texture_albedo : source_color, filter_linear_mipmap, repeat_enable; +uniform sampler2D texture_dissolve : source_color, filter_linear_mipmap, repeat_enable; +uniform float alpha_scissor_threshold : hint_range(0.0, 1.0, 0.001); + +uniform float roughness : hint_range(0.0, 1.0); +uniform sampler2D texture_metallic : hint_default_white, filter_linear_mipmap, repeat_enable; +uniform vec4 metallic_texture_channel; +uniform sampler2D texture_roughness : hint_roughness_r, filter_linear_mipmap, repeat_enable; + +uniform float specular : hint_range(0.0, 1.0, 0.01); +uniform float metallic : hint_range(0.0, 1.0, 0.01); +varying vec3 uv1_triplanar_pos; + +uniform float uv1_blend_sharpness : hint_range(0.0, 150.0, 0.001) = 1.0; +varying vec3 uv1_power_normal; + +uniform vec3 uv1_scale = vec3(1.0, 1.0, 1.0); +uniform vec3 uv1_offset; +//uniform vec3 uv2_scale; +//uniform vec3 uv2_offset; + +void vertex() { + vec3 normal = NORMAL; + + TANGENT = vec3(0.0, 0.0, -1.0) * abs(normal.x); + TANGENT += vec3(1.0, 0.0, 0.0) * abs(normal.y); + TANGENT += vec3(1.0, 0.0, 0.0) * abs(normal.z); + TANGENT = normalize(TANGENT); + + BINORMAL = vec3(0.0, 1.0, 0.0) * abs(normal.x); + BINORMAL += vec3(0.0, 0.0, -1.0) * abs(normal.y); + BINORMAL += vec3(0.0, 1.0, 0.0) * abs(normal.z); + BINORMAL = normalize(BINORMAL); + + // UV1 Triplanar: Enabled + uv1_power_normal = pow(abs(NORMAL), vec3(uv1_blend_sharpness)); + uv1_triplanar_pos = VERTEX * uv1_scale + uv1_offset; + uv1_power_normal /= dot(uv1_power_normal, vec3(1.0)); + uv1_triplanar_pos *= vec3(1.0, -1.0, 1.0); +} + +vec4 triplanar_texture(sampler2D p_sampler, vec3 p_weights, vec3 p_triplanar_pos) { + vec4 samp = vec4(0.0); + samp += texture(p_sampler, p_triplanar_pos.xy) * p_weights.z; + samp += texture(p_sampler, p_triplanar_pos.xz) * p_weights.y; + samp += texture(p_sampler, p_triplanar_pos.zy * vec2(-1.0, 1.0)) * p_weights.x; + return samp; +} + +void fragment() { + vec4 albedo_tex = triplanar_texture(texture_albedo, uv1_power_normal, uv1_triplanar_pos); + vec4 dissolve_tex = triplanar_texture(texture_dissolve, uv1_power_normal, uv1_triplanar_pos); + ALBEDO = albedo.rgb * albedo_tex.rgb * dissolve_tex.rgb; + + float metallic_tex = dot(triplanar_texture(texture_metallic, uv1_power_normal, uv1_triplanar_pos), metallic_texture_channel); + METALLIC = metallic_tex * metallic; + SPECULAR = specular; + + vec4 roughness_texture_channel = vec4(1.0, 0.0, 0.0, 0.0); + float roughness_tex = dot(triplanar_texture(texture_roughness, uv1_power_normal, uv1_triplanar_pos), roughness_texture_channel); + ROUGHNESS = roughness_tex * roughness; + ALPHA *= albedo.a * dissolve_tex.a; + ALPHA_SCISSOR_THRESHOLD = alpha_scissor_threshold; +} diff --git a/source/src/vfx/shaders/dissolving_wall/dissolving_wall.gdshader.uid b/source/src/vfx/shaders/dissolving_wall/dissolving_wall.gdshader.uid new file mode 100644 index 0000000..b40b24e --- /dev/null +++ b/source/src/vfx/shaders/dissolving_wall/dissolving_wall.gdshader.uid @@ -0,0 +1 @@ +uid://dvpk3m7f8x5pc diff --git a/source/src/vfx/shaders/dissolving_wall/dissolving_wall_noise.tres b/source/src/vfx/shaders/dissolving_wall/dissolving_wall_noise.tres new file mode 100644 index 0000000..2435987 --- /dev/null +++ b/source/src/vfx/shaders/dissolving_wall/dissolving_wall_noise.tres @@ -0,0 +1,16 @@ +[gd_resource type="NoiseTexture2D" load_steps=3 format=3 uid="uid://jpmuawwwmwci"] + +[sub_resource type="Gradient" id="Gradient_mfdv2"] +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_iotsf"] +noise_type = 0 +frequency = 0.0075 +domain_warp_enabled = true +domain_warp_type = 1 +domain_warp_fractal_octaves = 1 + +[resource] +noise = SubResource("FastNoiseLite_iotsf") +color_ramp = SubResource("Gradient_mfdv2") +seamless = true