diff --git a/assets/mesh_libraries/w1/w1_walls.meshlib b/assets/mesh_libraries/w1/w1_walls.meshlib index 8f6b891..0231912 100644 Binary files a/assets/mesh_libraries/w1/w1_walls.meshlib and b/assets/mesh_libraries/w1/w1_walls.meshlib differ diff --git a/assets/models/tiles/w1_walls/grey_block.material b/assets/models/tiles/w1_walls/grey_block.material index 2585b56..57395dc 100644 Binary files a/assets/models/tiles/w1_walls/grey_block.material and b/assets/models/tiles/w1_walls/grey_block.material differ diff --git a/levels/level.gd b/levels/level.gd index 70c84ec..4c882c2 100644 --- a/levels/level.gd +++ b/levels/level.gd @@ -1,2 +1,12 @@ class_name Level extends Node3D + + +@export var info: LevelInfo + + +func _unhandled_input(event: InputEvent) -> void: + if event is InputEventKey: + if event.keycode == KEY_R and event.pressed: + var new_level = load(scene_file_path).instantiate() + SceneManager.change_scene(new_level) diff --git a/levels/level_info.gd b/levels/level_info.gd new file mode 100644 index 0000000..ca8abdb --- /dev/null +++ b/levels/level_info.gd @@ -0,0 +1,6 @@ +class_name LevelInfo +extends Resource + + +@export var title: String +@export_range(1,5,1) var difficulty: int = 1 diff --git a/levels/level_info.gd.uid b/levels/level_info.gd.uid new file mode 100644 index 0000000..e9adca0 --- /dev/null +++ b/levels/level_info.gd.uid @@ -0,0 +1 @@ +uid://hmtamckjm4vm diff --git a/levels/level_set.gd b/levels/level_set.gd index 14d483f..da71414 100644 --- a/levels/level_set.gd +++ b/levels/level_set.gd @@ -1,2 +1,47 @@ +@tool class_name LevelSet extends Resource + + +@export var title: String +@export_tool_button("Update Levels") var _update_action = update_level_info +@export_dir var levels_dir: String: + set(value): + levels_dir = value + if Engine.is_editor_hint(): + update_level_info() +@export var levels: Array[LevelEntry] = [] + + +func update_level_info(): + levels.clear() + if levels_dir.is_empty() or not DirAccess.dir_exists_absolute(levels_dir): + notify_property_list_changed() + return + + var dir = DirAccess.open(levels_dir) + var files = Array(dir.get_files()).filter( + func(path: String): + return path.ends_with(".tscn") or path.ends_with(".scn") + ) as Array[String] + + for file in files: + var packed_scene = load(levels_dir + "/" + file) as PackedScene + if packed_scene: + var level = packed_scene.instantiate() + if level is Level: + var entry = LevelEntry.new() + entry.resource_name = level.info.title + entry.info = level.info + entry.scene = packed_scene + levels.append(entry) + level.free() + + notify_property_list_changed() + if Engine.is_editor_hint(): + ResourceSaver.save(self, resource_path) + + +class LevelEntry extends Resource: + @export var info: LevelInfo + @export var scene: PackedScene diff --git a/levels/w1.tres b/levels/w1.tres new file mode 100644 index 0000000..6ef027b --- /dev/null +++ b/levels/w1.tres @@ -0,0 +1,65 @@ +[gd_resource type="Resource" script_class="LevelSet" load_steps=16 format=3 uid="uid://btw8hqdurtu4l"] + +[ext_resource type="Script" uid="uid://hmtamckjm4vm" path="res://levels/level_info.gd" id="1_aabai"] +[ext_resource type="Script" uid="uid://pgfv21pnsipl" path="res://levels/level_set.gd" id="1_wemf7"] +[ext_resource type="PackedScene" uid="uid://bkas0lj53glkn" path="res://levels/w1/1_01.tscn" id="2_e78ac"] +[ext_resource type="PackedScene" uid="uid://w0nd4xra2jf1" path="res://levels/w1/1_02.tscn" id="3_t0snc"] +[ext_resource type="PackedScene" uid="uid://brskrrxg5v5wq" path="res://levels/w1/1_03.tscn" id="4_argu4"] +[ext_resource type="PackedScene" uid="uid://3ck33ekhtriv" path="res://levels/w1/1_04.scn" id="5_qkhto"] + +[sub_resource type="GDScript" id="GDScript_ue4o7"] + +[sub_resource type="Resource" id="Resource_qskty"] +script = ExtResource("1_aabai") +title = "Welcome To Poo Central!" +difficulty = 1 +metadata/_custom_type_script = "uid://hmtamckjm4vm" + +[sub_resource type="Resource" id="Resource_ymcbg"] +resource_name = "Welcome To Golf Central!" +script = SubResource("GDScript_ue4o7") +info = SubResource("Resource_qskty") +scene = ExtResource("2_e78ac") + +[sub_resource type="Resource" id="Resource_4m1at"] +script = ExtResource("1_aabai") +title = "Oogly Goo" +difficulty = 2 +metadata/_custom_type_script = "uid://hmtamckjm4vm" + +[sub_resource type="Resource" id="Resource_604lb"] +resource_name = "Oogly Goo" +script = SubResource("GDScript_ue4o7") +info = SubResource("Resource_4m1at") +scene = ExtResource("3_t0snc") + +[sub_resource type="Resource" id="Resource_108v6"] +script = ExtResource("1_aabai") +title = "Number Three!" +difficulty = 5 +metadata/_custom_type_script = "uid://hmtamckjm4vm" + +[sub_resource type="Resource" id="Resource_4ntyl"] +resource_name = "Number Three!" +script = SubResource("GDScript_ue4o7") +info = SubResource("Resource_108v6") +scene = ExtResource("4_argu4") + +[sub_resource type="Resource" id="Resource_ra4qo"] +script = ExtResource("1_aabai") +title = "Foursyies" +difficulty = 3 +metadata/_custom_type_script = "uid://hmtamckjm4vm" + +[sub_resource type="Resource" id="Resource_0h8e4"] +resource_name = "Foursyies" +script = SubResource("GDScript_ue4o7") +info = SubResource("Resource_ra4qo") +scene = ExtResource("5_qkhto") + +[resource] +script = ExtResource("1_wemf7") +title = "Golf Central" +levels_dir = "res://levels/w1" +levels = Array[SubResource("GDScript_ue4o7")]([SubResource("Resource_ymcbg"), SubResource("Resource_604lb"), SubResource("Resource_4ntyl"), SubResource("Resource_0h8e4")]) +metadata/_custom_type_script = "uid://pgfv21pnsipl" diff --git a/levels/w1/1_01.tscn b/levels/w1/1_01.tscn index 21c51c1..b1899b1 100644 --- a/levels/w1/1_01.tscn +++ b/levels/w1/1_01.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=14 format=3 uid="uid://bkas0lj53glkn"] +[gd_scene load_steps=16 format=3 uid="uid://bkas0lj53glkn"] [ext_resource type="Script" uid="uid://vydhlp6ju8bw" path="res://levels/level.gd" id="1_r1ilo"] +[ext_resource type="Script" uid="uid://hmtamckjm4vm" path="res://levels/level_info.gd" id="2_61qek"] [ext_resource type="MeshLibrary" uid="uid://bqxgr3arh0i7f" path="res://assets/mesh_libraries/w1/w1_walls.meshlib" id="2_81akk"] [ext_resource type="PackedScene" uid="uid://cybm74xwbsivx" path="res://objects/canny_cat.tscn" id="4_emyyh"] [ext_resource type="PackedScene" uid="uid://cdpgby3r6xe4n" path="res://objects/goal_post.tscn" id="5_oq0l4"] @@ -8,6 +9,12 @@ [ext_resource type="PackedScene" uid="uid://bfic5n608nc5j" path="res://objects/sand_pit.tscn" id="6_rlgmy"] [ext_resource type="Texture2D" uid="uid://cpmi7w2fwm2sf" path="res://assets/textures/world/checker_grass.png" id="7_3jvq7"] +[sub_resource type="Resource" id="Resource_qskty"] +script = ExtResource("2_61qek") +title = "Welcome To Poo Central!" +difficulty = 1 +metadata/_custom_type_script = "uid://hmtamckjm4vm" + [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_oakh3"] sky_top_color = Color(0.270389, 0.858166, 0.929253, 1) sky_horizon_color = Color(0.270588, 0.858824, 0.929412, 1) @@ -33,8 +40,8 @@ resource_local_to_scene = true shading_mode = 0 albedo_color = Color(0.916968, 0.113727, 0, 1) -[sub_resource type="PlaneMesh" id="PlaneMesh_roqf0"] -size = Vector2(32, 32) +[sub_resource type="BoxMesh" id="BoxMesh_25rxq"] +size = Vector3(32, 1, 32) [sub_resource type="ShaderMaterial" id="ShaderMaterial_tpmcl"] render_priority = 0 @@ -45,6 +52,7 @@ shader_parameter/uv_scale = Vector2(0.5, 0.5) [node name="Level" type="Node3D"] script = ExtResource("1_r1ilo") +info = SubResource("Resource_qskty") [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_n6dij") @@ -86,7 +94,8 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -12.54 polygon = PackedVector2Array(2.33224, -4.27959, 0.718879, 0.533604, 2.00957, 6.26103, -3.74475, 6.12658, -3.52964, -4.44092) [node name="CSGMesh3D" type="CSGMesh3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0) use_collision = true collision_mask = 0 -mesh = SubResource("PlaneMesh_roqf0") +mesh = SubResource("BoxMesh_25rxq") material = SubResource("ShaderMaterial_tpmcl") diff --git a/levels/w1/1_02.tscn b/levels/w1/1_02.tscn new file mode 100644 index 0000000..2640db8 --- /dev/null +++ b/levels/w1/1_02.tscn @@ -0,0 +1,101 @@ +[gd_scene load_steps=16 format=3 uid="uid://w0nd4xra2jf1"] + +[ext_resource type="Script" uid="uid://vydhlp6ju8bw" path="res://levels/level.gd" id="1_u02w2"] +[ext_resource type="Script" uid="uid://hmtamckjm4vm" path="res://levels/level_info.gd" id="2_m70t5"] +[ext_resource type="MeshLibrary" uid="uid://bqxgr3arh0i7f" path="res://assets/mesh_libraries/w1/w1_walls.meshlib" id="2_w6c2x"] +[ext_resource type="PackedScene" uid="uid://cybm74xwbsivx" path="res://objects/canny_cat.tscn" id="3_m70t5"] +[ext_resource type="PackedScene" uid="uid://cdpgby3r6xe4n" path="res://objects/goal_post.tscn" id="4_4m1at"] +[ext_resource type="PackedScene" uid="uid://bfic5n608nc5j" path="res://objects/sand_pit.tscn" id="5_hoiq0"] +[ext_resource type="Shader" uid="uid://c3y1ht34ep01k" path="res://assets/shaders/horizontal_world_uv.gdshader" id="6_dech8"] +[ext_resource type="Texture2D" uid="uid://cpmi7w2fwm2sf" path="res://assets/textures/world/checker_grass.png" id="7_x5v8p"] + +[sub_resource type="Resource" id="Resource_4m1at"] +script = ExtResource("2_m70t5") +title = "Oogly Goo" +difficulty = 2 +metadata/_custom_type_script = "uid://hmtamckjm4vm" + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_oakh3"] +sky_top_color = Color(0.270389, 0.858166, 0.929253, 1) +sky_horizon_color = Color(0.270588, 0.858824, 0.929412, 1) +ground_bottom_color = Color(0.089621, 0.176788, 0.342266, 1) +ground_horizon_color = Color(0.270588, 0.858824, 0.929412, 1) +ground_curve = 0.452548 +sun_angle_max = 0.0 +use_debanding = false + +[sub_resource type="Sky" id="Sky_f657k"] +sky_material = SubResource("ProceduralSkyMaterial_oakh3") +radiance_size = 0 + +[sub_resource type="Environment" id="Environment_n6dij"] +background_mode = 2 +sky = SubResource("Sky_f657k") +ambient_light_source = 2 +ambient_light_color = Color(1, 1, 1, 1) +ambient_light_energy = 0.25 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8l41h"] +resource_local_to_scene = true +shading_mode = 0 +albedo_color = Color(0.916968, 0.113727, 0, 1) + +[sub_resource type="BoxMesh" id="BoxMesh_25rxq"] +size = Vector3(32, 1, 32) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_tpmcl"] +render_priority = 0 +shader = ExtResource("6_dech8") +shader_parameter/albedo_texture = ExtResource("7_x5v8p") +shader_parameter/horizontal_uv_offset = Vector2(0, 0) +shader_parameter/uv_scale = Vector2(0.5, 0.5) + +[node name="Level" type="Node3D"] +script = ExtResource("1_u02w2") +info = SubResource("Resource_4m1at") + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_n6dij") + +[node name="Sun" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.893065, 0.251134, -0.373318, 0, 0.82973, 0.558165, 0.449927, -0.498478, 0.741003, 0, 3.18312, 0) +sky_mode = 1 + +[node name="Walls" type="GridMap" parent="."] +mesh_library = ExtResource("2_w6c2x") +cell_size = Vector3(1, 1, 1) +cell_center_y = false +data = { +"cells": PackedInt32Array(0, 65535, 0, 65535, 65535, 0, 65535, 65534, 0, 0, 65534, 0, 0, 65533, 0, 0, 65532, 0, 65535, 65532, 0, 65535, 65533, 0, 65534, 65533, 0, 65534, 65534, 0, 1, 65535, 0, 2, 65535, 0, 3, 65535, 0, 4, 65535, 0, 4, 65534, 0, 4, 65533, 0, 4, 65532, 0, 3, 65532, 0, 2, 65532, 0, 1, 65532, 0, 1, 65533, 0, 1, 65534, 0, 2, 65534, 0, 2, 65533, 0, 3, 65533, 0, 3, 65534, 0, 4, 65531, 0, 3, 65531, 0, 2, 65531, 0, 2, 65530, 1441793, 3, 65530, 0, 4, 65530, 0, 1, 65531, 1441793, 5, 65535, 1048577, 5, 65534, 1048576, 5, 65533, 1048576, 5, 65532, 1048576, 5, 65531, 1048576, 5, 65530, 1048576, 65534, 65532, 1441793, 65534, 65535, 1, 6, 65530, 0, 6, 65531, 0, 7, 65531, 0, 7, 65530, 0, 8, 65530, 0, 8, 65531, 0, 9, 65531, 0, 9, 65530, 0, 10, 65530, 0, 11, 65530, 0, 12, 65530, 0, 13, 65530, 0, 13, 65531, 0, 12, 65531, 0, 11, 65531, 0, 10, 65531, 0, 6, 65532, 1048577, 13, 65532, 1, 13, 65529, 1441793, 14, 65529, 1441792, 14, 65530, 1441792, 14, 65531, 1441792, 14, 65532, 1441792, 14, 65533, 1441792, 14, 65534, 1441792, 14, 65535, 1441792, 15, 65529, 1441792, 16, 65529, 1441792, 16, 65530, 1441792, 16, 65531, 1441792, 16, 65532, 1441792, 15, 65532, 1441792, 15, 65531, 1441792, 15, 65530, 1441792, 14, 65528, 1441792, 14, 65527, 1441792, 14, 65526, 1441792, 14, 65525, 1441792, 14, 65524, 1441792, 14, 65523, 1441792, 14, 65522, 1441792, 13, 65522, 1, 14, 0, 0, 14, 1, 0, 14, 2, 0, 14, 3, 0, 14, 4, 0, 14, 5, 0, 14, 6, 0, 14, 7, 0, 14, 8, 0, 13, 9, 1441793, 12, 10, 1441793, 11, 11, 1441793, 10, 12, 1441793, 9, 13, 1441793, 14, 10, 1441792, 14, 9, 1441792, 14, 11, 1441792, 14, 12, 1441792, 14, 13, 1441792, 13, 13, 1441792, 12, 13, 1441792, 11, 13, 1441792, 10, 13, 1441792, 11, 12, 1441792, 12, 12, 1441792, 12, 11, 1441792, 13, 11, 1441792, 13, 12, 1441792, 13, 10, 1441792, 15, 14, 1441792, 16, 15, 1441792, 16, 14, 1441792, 16, 13, 1441792, 16, 12, 1441792, 16, 11, 1441792, 16, 10, 1441792, 16, 9, 1441792, 16, 8, 1441792, 16, 7, 1441792, 16, 6, 1441792, 16, 5, 1441792, 16, 4, 1441792, 16, 3, 1441792, 16, 2, 1441792, 16, 1, 1441792, 16, 0, 1441792, 15, 0, 1441792, 15, 65535, 1441792, 15, 65534, 1441792, 16, 65534, 1441792, 16, 65533, 1441792, 16, 65535, 1441792, 15, 65533, 1441792, 15, 1, 1441792, 15, 2, 1441792, 15, 3, 1441792, 15, 4, 1441792, 15, 5, 1441792, 15, 6, 1441792, 15, 7, 1441792, 15, 8, 1441792, 15, 9, 1441792, 15, 10, 1441792, 15, 11, 1441792, 15, 12, 1441792, 15, 13, 1441792, 15, 15, 1441792, 14, 15, 1441792, 13, 15, 1441792, 12, 15, 1441792, 11, 15, 1441792, 10, 15, 1441792, 9, 15, 1441792, 9, 14, 1441792, 10, 14, 1441792, 11, 14, 1441792, 12, 14, 1441792, 13, 14, 1441792, 14, 14, 1441792, 8, 14, 1441792, 8, 15, 1441792, 16, 16, 1441792, 15, 16, 1441792, 10, 16, 1441792, 11, 16, 1441792, 12, 16, 1441792, 13, 16, 1441792, 14, 16, 1441792, 9, 16, 1441792, 8, 16, 1441792, 7, 16, 1441792, 6, 16, 1441792, 6, 15, 1441792, 5, 15, 1441792, 7, 15, 1441792, 7, 14, 1441792, 6, 14, 1441792, 5, 14, 1441792, 5, 16, 1441792, 65525, 65533, 1441792, 65525, 65534, 1441792, 65525, 65532, 1441792, 65525, 65531, 655361, 65524, 65530, 655361, 65523, 65529, 655361, 65522, 65528, 655361, 65521, 65527, 655360, 65521, 65526, 655360, 65521, 65525, 655360, 65521, 65524, 655360, 65522, 65523, 1048577, 65523, 65522, 1048577, 14, 65521, 1048576, 13, 65521, 1048576, 12, 65521, 1048576, 11, 65521, 1048576, 10, 65521, 1048576, 9, 65521, 1048576, 8, 65521, 1048576, 7, 65521, 1048576, 6, 65521, 1048576, 5, 65521, 1048576, 4, 65521, 1048576, 3, 65521, 1048576, 2, 65521, 1048576, 1, 65521, 1048576, 0, 65521, 1048576, 65535, 65521, 1048576, 65534, 65521, 1048576, 65533, 65521, 1048576, 65532, 65521, 1048576, 65531, 65521, 1048576, 65530, 65521, 1048576, 65529, 65521, 1048576, 65528, 65521, 1048576, 65527, 65521, 1048576, 65526, 65521, 1048576, 65525, 65521, 1048576, 65524, 65521, 1048576, 65523, 65521, 1048576, 65522, 65521, 1048576, 65521, 65521, 1048576, 65521, 65522, 1048576, 65521, 65523, 1048576, 65522, 65522, 1048576, 16, 65528, 1048576, 16, 65527, 1048576, 16, 65526, 1048576, 15, 65526, 1048576, 15, 65527, 1048576, 15, 65528, 1048576, 15, 65525, 1048576, 15, 65524, 1048576, 15, 65523, 1048576, 15, 65522, 1048576, 15, 65521, 1048576, 15, 65520, 1048576, 15, 65519, 1048576, 16, 65519, 1048576, 16, 65520, 1048576, 16, 65521, 1048576, 16, 65525, 1048576, 16, 65524, 1048576, 16, 65523, 1048576, 16, 65522, 1048576, 14, 65519, 1048576, 13, 65519, 1048576, 12, 65519, 1048576, 11, 65519, 1048576, 10, 65519, 1048576, 9, 65519, 1048576, 8, 65519, 1048576, 7, 65519, 1048576, 6, 65519, 1048576, 5, 65519, 1048576, 4, 65519, 1048576, 3, 65519, 1048576, 2, 65519, 1048576, 1, 65519, 1048576, 0, 65519, 1048576, 65535, 65519, 1048576, 65534, 65519, 1048576, 65533, 65519, 1048576, 65532, 65519, 1048576, 65531, 65519, 1048576, 65530, 65519, 1048576, 65529, 65519, 1048576, 65528, 65519, 1048576, 65527, 65519, 1048576, 65526, 65519, 1048576, 65525, 65519, 1048576, 65524, 65519, 1048576, 65523, 65519, 1048576, 65522, 65519, 1048576, 65522, 65520, 1048576, 65521, 65520, 1048576, 65521, 65519, 1048576, 65523, 65520, 1048576, 65524, 65520, 1048576, 65525, 65520, 1048576, 65526, 65520, 1048576, 65527, 65520, 1048576, 65528, 65520, 1048576, 65529, 65520, 1048576, 65533, 65520, 1048576, 65532, 65520, 1048576, 65531, 65520, 1048576, 65530, 65520, 1048576, 65534, 65520, 1048576, 65535, 65520, 1048576, 0, 65520, 1048576, 1, 65520, 1048576, 2, 65520, 1048576, 3, 65520, 1048576, 4, 65520, 1048576, 5, 65520, 1048576, 6, 65520, 1048576, 7, 65520, 1048576, 8, 65520, 1048576, 9, 65520, 1048576, 10, 65520, 1048576, 11, 65520, 1048576, 12, 65520, 1048576, 13, 65520, 1048576, 14, 65520, 1048576, 65520, 65519, 1048576, 65519, 65519, 1048576, 65519, 65520, 1048576, 65520, 65520, 1048576, 65520, 65521, 1048576, 65520, 65522, 1048576, 65520, 65523, 1048576, 65520, 65524, 1048576, 65520, 65525, 1048576, 65520, 65526, 1048576, 65520, 65527, 1048576, 65519, 65527, 1048576, 65519, 65526, 1048576, 65519, 65525, 1048576, 65519, 65524, 1048576, 65519, 65523, 1048576, 65519, 65522, 1048576, 65519, 65521, 1048576, 65521, 65528, 1048576, 65520, 65528, 1048576, 65519, 65528, 1048576, 65519, 65529, 1048576, 65520, 65529, 1048576, 65520, 65530, 1048576, 65520, 65531, 1048576, 65520, 65532, 1048576, 65519, 65532, 1048576, 65519, 65531, 1048576, 65519, 65530, 1048576, 65519, 65533, 1048576, 65519, 65534, 1048576, 65519, 65535, 1048576, 65519, 0, 1048576, 65519, 1, 1048576, 65519, 2, 1048576, 65519, 3, 1048576, 65519, 4, 1048576, 65519, 5, 1048576, 65519, 6, 1048576, 65519, 7, 1048576, 65519, 8, 1048576, 65519, 9, 1048576, 65519, 10, 1048576, 65520, 10, 1048576, 65520, 11, 1048576, 65520, 12, 1048576, 65520, 13, 1048576, 65519, 15, 1048576, 65519, 14, 1048576, 65519, 13, 1048576, 65519, 12, 1048576, 65519, 11, 1048576, 65519, 16, 1048576, 65520, 16, 1048576, 65520, 15, 1048576, 65520, 14, 1048576, 65520, 9, 1048576, 65520, 8, 1048576, 65520, 7, 1048576, 65520, 6, 1048576, 65520, 5, 1048576, 65520, 4, 1048576, 65520, 3, 1048576, 65520, 2, 1048576, 65520, 1, 1048576, 65520, 0, 1048576, 65520, 65535, 1048576, 65520, 65534, 1048576, 65520, 65533, 1048576, 65525, 65535, 1048576, 65525, 0, 1048576, 65525, 1, 1048576, 65525, 2, 1048576, 65525, 3, 1048576, 65525, 4, 1048576, 65525, 5, 1048576, 65525, 6, 1048576, 65525, 7, 1048576, 65525, 8, 1048576, 65525, 9, 1048576, 65525, 10, 1048576, 65525, 11, 1048576, 65525, 12, 1048576, 65525, 13, 1048576, 65525, 14, 1048576, 65525, 15, 1048576, 65525, 16, 1048576, 65524, 15, 1048576, 65524, 16, 1048576, 65523, 16, 1048576, 65522, 16, 1048576, 65521, 16, 1048576, 65521, 15, 1048576, 65522, 15, 1048576, 65523, 14, 1048576, 65524, 14, 1048576, 65523, 15, 1048576, 65522, 14, 1048576, 65521, 14, 1048576, 65522, 13, 1048576, 65523, 13, 1048576, 65524, 13, 1048576, 65521, 13, 1048576, 65521, 12, 1048576, 65521, 11, 1048576, 65521, 10, 1048576, 65521, 9, 1048576, 65521, 7, 1048576, 65521, 6, 1048576, 65521, 5, 1048576, 65521, 4, 1048576, 65521, 3, 1048576, 65521, 2, 1048576, 65521, 65535, 1048576, 65521, 0, 1048576, 65521, 1, 1048576, 65521, 8, 1048576, 65522, 65535, 1048576, 65522, 65533, 1048576, 65522, 65532, 1048576, 65521, 65531, 1048576, 65521, 65530, 1048576, 65521, 65529, 1048576, 65522, 65529, 1048576, 65522, 65530, 1048576, 65522, 65531, 1048576, 65521, 65532, 1048576, 65521, 65533, 1048576, 65521, 65534, 1048576, 65523, 65532, 1048576, 65523, 65531, 1048576, 65523, 65530, 1048576, 65524, 65532, 1048576, 65524, 65531, 1048576, 65524, 65533, 1048576, 65524, 65534, 1048576, 65524, 65535, 1048576, 65524, 0, 1048576, 65524, 1, 1048576, 65524, 2, 1048576, 65524, 3, 1048576, 65524, 4, 1048576, 65524, 5, 1048576, 65524, 6, 1048576, 65524, 7, 1048576, 65524, 8, 1048576, 65524, 9, 1048576, 65524, 10, 1048576, 65524, 11, 1048576, 65524, 12, 1048576, 65523, 12, 1048576, 65522, 12, 1048576, 65522, 11, 1048576, 65522, 10, 1048576, 65522, 9, 1048576, 65522, 8, 1048576, 65522, 7, 1048576, 65522, 6, 1048576, 65522, 5, 1048576, 65522, 4, 1048576, 65522, 3, 1048576, 65522, 2, 1048576, 65522, 1, 1048576, 65522, 0, 1048576, 65522, 65534, 1048576, 65523, 65534, 1048576, 65523, 65535, 1048576, 65523, 65533, 1048576, 65523, 0, 1048576, 65523, 1, 1048576, 65523, 2, 1048576, 65523, 3, 1048576, 65523, 4, 1048576, 65523, 5, 1048576, 65523, 6, 1048576, 65523, 10, 1048576, 65523, 9, 1048576, 65523, 8, 1048576, 65523, 7, 1048576, 65523, 11, 1048576, 4, 14, 1048576, 3, 14, 1048576, 2, 14, 1048576, 1, 14, 1048576, 0, 14, 1048576, 65535, 14, 1048576, 65534, 14, 1048576, 65533, 14, 1048576, 65532, 14, 1048576, 65531, 14, 1048576, 65530, 14, 1048576, 65529, 14, 1048576, 65528, 14, 1048576, 65527, 14, 1048576, 65527, 15, 1048576, 65526, 15, 1048576, 65526, 16, 1048576, 65526, 14, 1048576, 65527, 16, 1048576, 65528, 16, 1048576, 65529, 16, 1048576, 65530, 16, 1048576, 65531, 16, 1048576, 65532, 16, 1048576, 65533, 16, 1048576, 65534, 16, 1048576, 65535, 16, 1048576, 0, 16, 1048576, 1, 16, 1048576, 2, 16, 1048576, 3, 16, 1048576, 4, 16, 1048576, 4, 15, 1048576, 3, 15, 1048576, 2, 15, 1048576, 1, 15, 1048576, 0, 15, 1048576, 65535, 15, 1048576, 65534, 15, 1048576, 65533, 15, 1048576, 65532, 15, 1048576, 65531, 15, 1048576, 65530, 15, 1048576, 65529, 15, 1048576, 65528, 15, 1048576, 65526, 9, 655361, 65527, 10, 655361, 65528, 11, 655361, 65529, 12, 655361, 65530, 13, 655361, 65529, 13, 655360, 65528, 13, 655360, 65527, 13, 655360, 65526, 13, 655360, 65526, 12, 655360, 65526, 11, 655360, 65526, 10, 655360, 65527, 11, 655360, 65527, 12, 655360, 65528, 12, 655360) +} + +[node name="CannyCat" parent="." instance=ExtResource("3_m70t5")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 1, -2) +power_line_material = SubResource("StandardMaterial3D_8l41h") +power_scale = 40.0 + +[node name="Objects" type="Node3D" parent="."] + +[node name="GoalPost" parent="Objects" instance=ExtResource("4_4m1at")] +transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 10, 0, -10) + +[node name="SandPits" type="Node3D" parent="Objects"] + +[node name="SandPit" parent="Objects/SandPits" instance=ExtResource("5_hoiq0")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -7, 0, 8) +polygon = PackedVector2Array(-3, -2, 1, 0, 5, 6, -3, 6) + +[node name="SandPit2" parent="Objects/SandPits" instance=ExtResource("5_hoiq0")] +transform = Transform3D(-1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 11, 0, 8) +polygon = PackedVector2Array(-3, -2, 1, 0, 5, 6, -3, 6) + +[node name="SandPit3" parent="Objects/SandPits" instance=ExtResource("5_hoiq0")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -12.5406, 0, -10.5995) +polygon = PackedVector2Array(2.33224, -4.27959, 0.718879, 0.533604, 2.00957, 6.26103, -3.74475, 6.12658, -3.52964, -4.44092) + +[node name="CSGMesh3D" type="CSGMesh3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0) +use_collision = true +collision_mask = 0 +mesh = SubResource("BoxMesh_25rxq") +material = SubResource("ShaderMaterial_tpmcl") diff --git a/levels/w1/1_03.tscn b/levels/w1/1_03.tscn new file mode 100644 index 0000000..310b943 --- /dev/null +++ b/levels/w1/1_03.tscn @@ -0,0 +1,101 @@ +[gd_scene load_steps=16 format=3 uid="uid://brskrrxg5v5wq"] + +[ext_resource type="Script" uid="uid://vydhlp6ju8bw" path="res://levels/level.gd" id="1_750nu"] +[ext_resource type="Script" uid="uid://hmtamckjm4vm" path="res://levels/level_info.gd" id="2_1802c"] +[ext_resource type="MeshLibrary" uid="uid://bqxgr3arh0i7f" path="res://assets/mesh_libraries/w1/w1_walls.meshlib" id="2_qejmv"] +[ext_resource type="PackedScene" uid="uid://cybm74xwbsivx" path="res://objects/canny_cat.tscn" id="3_1802c"] +[ext_resource type="PackedScene" uid="uid://cdpgby3r6xe4n" path="res://objects/goal_post.tscn" id="4_108v6"] +[ext_resource type="PackedScene" uid="uid://bfic5n608nc5j" path="res://objects/sand_pit.tscn" id="5_0oe1q"] +[ext_resource type="Shader" uid="uid://c3y1ht34ep01k" path="res://assets/shaders/horizontal_world_uv.gdshader" id="6_w88by"] +[ext_resource type="Texture2D" uid="uid://cpmi7w2fwm2sf" path="res://assets/textures/world/checker_grass.png" id="7_f61du"] + +[sub_resource type="Resource" id="Resource_108v6"] +script = ExtResource("2_1802c") +title = "Number Three!" +difficulty = 5 +metadata/_custom_type_script = "uid://hmtamckjm4vm" + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_oakh3"] +sky_top_color = Color(0.270389, 0.858166, 0.929253, 1) +sky_horizon_color = Color(0.270588, 0.858824, 0.929412, 1) +ground_bottom_color = Color(0.089621, 0.176788, 0.342266, 1) +ground_horizon_color = Color(0.270588, 0.858824, 0.929412, 1) +ground_curve = 0.452548 +sun_angle_max = 0.0 +use_debanding = false + +[sub_resource type="Sky" id="Sky_f657k"] +sky_material = SubResource("ProceduralSkyMaterial_oakh3") +radiance_size = 0 + +[sub_resource type="Environment" id="Environment_n6dij"] +background_mode = 2 +sky = SubResource("Sky_f657k") +ambient_light_source = 2 +ambient_light_color = Color(1, 1, 1, 1) +ambient_light_energy = 0.25 + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8l41h"] +resource_local_to_scene = true +shading_mode = 0 +albedo_color = Color(0.916968, 0.113727, 0, 1) + +[sub_resource type="BoxMesh" id="BoxMesh_25rxq"] +size = Vector3(32, 1, 32) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_tpmcl"] +render_priority = 0 +shader = ExtResource("6_w88by") +shader_parameter/albedo_texture = ExtResource("7_f61du") +shader_parameter/horizontal_uv_offset = Vector2(0, 0) +shader_parameter/uv_scale = Vector2(0.5, 0.5) + +[node name="Level" type="Node3D"] +script = ExtResource("1_750nu") +info = SubResource("Resource_108v6") + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_n6dij") + +[node name="Sun" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.893065, 0.251134, -0.373318, 0, 0.82973, 0.558165, 0.449927, -0.498478, 0.741003, 0, 3.18312, 0) +sky_mode = 1 + +[node name="Walls" type="GridMap" parent="."] +mesh_library = ExtResource("2_qejmv") +cell_size = Vector3(1, 1, 1) +cell_center_y = false +data = { +"cells": PackedInt32Array(0, 65535, 0, 65535, 65535, 0, 65535, 65534, 0, 0, 65534, 0, 0, 65533, 0, 0, 65532, 0, 65535, 65532, 0, 65535, 65533, 0, 65534, 65533, 0, 65534, 65534, 0, 1, 65535, 0, 2, 65535, 0, 3, 65535, 0, 4, 65535, 0, 4, 65534, 0, 4, 65533, 0, 4, 65532, 0, 3, 65532, 0, 2, 65532, 0, 1, 65532, 0, 1, 65533, 0, 1, 65534, 0, 2, 65534, 0, 2, 65533, 0, 3, 65533, 0, 3, 65534, 0, 4, 65531, 0, 3, 65531, 0, 2, 65531, 0, 2, 65530, 1441793, 3, 65530, 0, 4, 65530, 0, 1, 65531, 1441793, 5, 65535, 1048577, 5, 65534, 1048576, 5, 65533, 1048576, 5, 65532, 1048576, 5, 65531, 1048576, 5, 65530, 1048576, 65534, 65532, 1441793, 65534, 65535, 1, 6, 65530, 0, 6, 65531, 0, 7, 65531, 0, 7, 65530, 0, 8, 65530, 0, 8, 65531, 0, 9, 65531, 0, 9, 65530, 0, 10, 65530, 0, 11, 65530, 0, 12, 65530, 0, 13, 65530, 0, 13, 65531, 0, 12, 65531, 0, 11, 65531, 0, 10, 65531, 0, 6, 65532, 1048577, 13, 65532, 1, 13, 65529, 1441793, 14, 65529, 1441792, 14, 65530, 1441792, 14, 65531, 1441792, 14, 65532, 1441792, 14, 65533, 1441792, 14, 65534, 1441792, 14, 65535, 1441792, 15, 65529, 1441792, 16, 65529, 1441792, 16, 65530, 1441792, 16, 65531, 1441792, 16, 65532, 1441792, 15, 65532, 1441792, 15, 65531, 1441792, 15, 65530, 1441792, 14, 65528, 1441792, 14, 65527, 1441792, 14, 65526, 1441792, 14, 65525, 1441792, 14, 65524, 1441792, 14, 65523, 1441792, 14, 65522, 1441792, 13, 65522, 1, 14, 0, 0, 14, 1, 0, 14, 2, 0, 14, 3, 0, 14, 4, 0, 14, 5, 0, 14, 6, 0, 14, 7, 0, 14, 8, 0, 13, 9, 1441793, 12, 10, 1441793, 11, 11, 1441793, 10, 12, 1441793, 9, 13, 1441793, 14, 10, 1441792, 14, 9, 1441792, 14, 11, 1441792, 14, 12, 1441792, 14, 13, 1441792, 13, 13, 1441792, 12, 13, 1441792, 11, 13, 1441792, 10, 13, 1441792, 11, 12, 1441792, 12, 12, 1441792, 12, 11, 1441792, 13, 11, 1441792, 13, 12, 1441792, 13, 10, 1441792, 15, 14, 1441792, 16, 15, 1441792, 16, 14, 1441792, 16, 13, 1441792, 16, 12, 1441792, 16, 11, 1441792, 16, 10, 1441792, 16, 9, 1441792, 16, 8, 1441792, 16, 7, 1441792, 16, 6, 1441792, 16, 5, 1441792, 16, 4, 1441792, 16, 3, 1441792, 16, 2, 1441792, 16, 1, 1441792, 16, 0, 1441792, 15, 0, 1441792, 15, 65535, 1441792, 15, 65534, 1441792, 16, 65534, 1441792, 16, 65533, 1441792, 16, 65535, 1441792, 15, 65533, 1441792, 15, 1, 1441792, 15, 2, 1441792, 15, 3, 1441792, 15, 4, 1441792, 15, 5, 1441792, 15, 6, 1441792, 15, 7, 1441792, 15, 8, 1441792, 15, 9, 1441792, 15, 10, 1441792, 15, 11, 1441792, 15, 12, 1441792, 15, 13, 1441792, 15, 15, 1441792, 14, 15, 1441792, 13, 15, 1441792, 12, 15, 1441792, 11, 15, 1441792, 10, 15, 1441792, 9, 15, 1441792, 9, 14, 1441792, 10, 14, 1441792, 11, 14, 1441792, 12, 14, 1441792, 13, 14, 1441792, 14, 14, 1441792, 8, 14, 1441792, 8, 15, 1441792, 16, 16, 1441792, 15, 16, 1441792, 10, 16, 1441792, 11, 16, 1441792, 12, 16, 1441792, 13, 16, 1441792, 14, 16, 1441792, 9, 16, 1441792, 8, 16, 1441792, 7, 16, 1441792, 6, 16, 1441792, 6, 15, 1441792, 5, 15, 1441792, 7, 15, 1441792, 7, 14, 1441792, 6, 14, 1441792, 5, 14, 1441792, 5, 16, 1441792, 65525, 65533, 1441792, 65525, 65534, 1441792, 65525, 65532, 1441792, 65525, 65531, 655361, 65524, 65530, 655361, 65523, 65529, 655361, 65522, 65528, 655361, 65521, 65527, 655360, 65521, 65526, 655360, 65521, 65525, 655360, 65521, 65524, 655360, 65522, 65523, 1048577, 65523, 65522, 1048577, 14, 65521, 1048576, 13, 65521, 1048576, 12, 65521, 1048576, 11, 65521, 1048576, 10, 65521, 1048576, 9, 65521, 1048576, 8, 65521, 1048576, 7, 65521, 1048576, 6, 65521, 1048576, 5, 65521, 1048576, 4, 65521, 1048576, 3, 65521, 1048576, 2, 65521, 1048576, 1, 65521, 1048576, 0, 65521, 1048576, 65535, 65521, 1048576, 65534, 65521, 1048576, 65533, 65521, 1048576, 65532, 65521, 1048576, 65531, 65521, 1048576, 65530, 65521, 1048576, 65529, 65521, 1048576, 65528, 65521, 1048576, 65527, 65521, 1048576, 65526, 65521, 1048576, 65525, 65521, 1048576, 65524, 65521, 1048576, 65523, 65521, 1048576, 65522, 65521, 1048576, 65521, 65521, 1048576, 65521, 65522, 1048576, 65521, 65523, 1048576, 65522, 65522, 1048576, 16, 65528, 1048576, 16, 65527, 1048576, 16, 65526, 1048576, 15, 65526, 1048576, 15, 65527, 1048576, 15, 65528, 1048576, 15, 65525, 1048576, 15, 65524, 1048576, 15, 65523, 1048576, 15, 65522, 1048576, 15, 65521, 1048576, 15, 65520, 1048576, 15, 65519, 1048576, 16, 65519, 1048576, 16, 65520, 1048576, 16, 65521, 1048576, 16, 65525, 1048576, 16, 65524, 1048576, 16, 65523, 1048576, 16, 65522, 1048576, 14, 65519, 1048576, 13, 65519, 1048576, 12, 65519, 1048576, 11, 65519, 1048576, 10, 65519, 1048576, 9, 65519, 1048576, 8, 65519, 1048576, 7, 65519, 1048576, 6, 65519, 1048576, 5, 65519, 1048576, 4, 65519, 1048576, 3, 65519, 1048576, 2, 65519, 1048576, 1, 65519, 1048576, 0, 65519, 1048576, 65535, 65519, 1048576, 65534, 65519, 1048576, 65533, 65519, 1048576, 65532, 65519, 1048576, 65531, 65519, 1048576, 65530, 65519, 1048576, 65529, 65519, 1048576, 65528, 65519, 1048576, 65527, 65519, 1048576, 65526, 65519, 1048576, 65525, 65519, 1048576, 65524, 65519, 1048576, 65523, 65519, 1048576, 65522, 65519, 1048576, 65522, 65520, 1048576, 65521, 65520, 1048576, 65521, 65519, 1048576, 65523, 65520, 1048576, 65524, 65520, 1048576, 65525, 65520, 1048576, 65526, 65520, 1048576, 65527, 65520, 1048576, 65528, 65520, 1048576, 65529, 65520, 1048576, 65533, 65520, 1048576, 65532, 65520, 1048576, 65531, 65520, 1048576, 65530, 65520, 1048576, 65534, 65520, 1048576, 65535, 65520, 1048576, 0, 65520, 1048576, 1, 65520, 1048576, 2, 65520, 1048576, 3, 65520, 1048576, 4, 65520, 1048576, 5, 65520, 1048576, 6, 65520, 1048576, 7, 65520, 1048576, 8, 65520, 1048576, 9, 65520, 1048576, 10, 65520, 1048576, 11, 65520, 1048576, 12, 65520, 1048576, 13, 65520, 1048576, 14, 65520, 1048576, 65520, 65519, 1048576, 65519, 65519, 1048576, 65519, 65520, 1048576, 65520, 65520, 1048576, 65520, 65521, 1048576, 65520, 65522, 1048576, 65520, 65523, 1048576, 65520, 65524, 1048576, 65520, 65525, 1048576, 65520, 65526, 1048576, 65520, 65527, 1048576, 65519, 65527, 1048576, 65519, 65526, 1048576, 65519, 65525, 1048576, 65519, 65524, 1048576, 65519, 65523, 1048576, 65519, 65522, 1048576, 65519, 65521, 1048576, 65521, 65528, 1048576, 65520, 65528, 1048576, 65519, 65528, 1048576, 65519, 65529, 1048576, 65520, 65529, 1048576, 65520, 65530, 1048576, 65520, 65531, 1048576, 65520, 65532, 1048576, 65519, 65532, 1048576, 65519, 65531, 1048576, 65519, 65530, 1048576, 65519, 65533, 1048576, 65519, 65534, 1048576, 65519, 65535, 1048576, 65519, 0, 1048576, 65519, 1, 1048576, 65519, 2, 1048576, 65519, 3, 1048576, 65519, 4, 1048576, 65519, 5, 1048576, 65519, 6, 1048576, 65519, 7, 1048576, 65519, 8, 1048576, 65519, 9, 1048576, 65519, 10, 1048576, 65520, 10, 1048576, 65520, 11, 1048576, 65520, 12, 1048576, 65520, 13, 1048576, 65519, 15, 1048576, 65519, 14, 1048576, 65519, 13, 1048576, 65519, 12, 1048576, 65519, 11, 1048576, 65519, 16, 1048576, 65520, 16, 1048576, 65520, 15, 1048576, 65520, 14, 1048576, 65520, 9, 1048576, 65520, 8, 1048576, 65520, 7, 1048576, 65520, 6, 1048576, 65520, 5, 1048576, 65520, 4, 1048576, 65520, 3, 1048576, 65520, 2, 1048576, 65520, 1, 1048576, 65520, 0, 1048576, 65520, 65535, 1048576, 65520, 65534, 1048576, 65520, 65533, 1048576, 65525, 65535, 1048576, 65525, 0, 1048576, 65525, 1, 1048576, 65525, 2, 1048576, 65525, 3, 1048576, 65525, 4, 1048576, 65525, 5, 1048576, 65525, 6, 1048576, 65525, 7, 1048576, 65525, 8, 1048576, 65525, 9, 1048576, 65525, 10, 1048576, 65525, 11, 1048576, 65525, 12, 1048576, 65525, 13, 1048576, 65525, 14, 1048576, 65525, 15, 1048576, 65525, 16, 1048576, 65524, 15, 1048576, 65524, 16, 1048576, 65523, 16, 1048576, 65522, 16, 1048576, 65521, 16, 1048576, 65521, 15, 1048576, 65522, 15, 1048576, 65523, 14, 1048576, 65524, 14, 1048576, 65523, 15, 1048576, 65522, 14, 1048576, 65521, 14, 1048576, 65522, 13, 1048576, 65523, 13, 1048576, 65524, 13, 1048576, 65521, 13, 1048576, 65521, 12, 1048576, 65521, 11, 1048576, 65521, 10, 1048576, 65521, 9, 1048576, 65521, 7, 1048576, 65521, 6, 1048576, 65521, 5, 1048576, 65521, 4, 1048576, 65521, 3, 1048576, 65521, 2, 1048576, 65521, 65535, 1048576, 65521, 0, 1048576, 65521, 1, 1048576, 65521, 8, 1048576, 65522, 65535, 1048576, 65522, 65533, 1048576, 65522, 65532, 1048576, 65521, 65531, 1048576, 65521, 65530, 1048576, 65521, 65529, 1048576, 65522, 65529, 1048576, 65522, 65530, 1048576, 65522, 65531, 1048576, 65521, 65532, 1048576, 65521, 65533, 1048576, 65521, 65534, 1048576, 65523, 65532, 1048576, 65523, 65531, 1048576, 65523, 65530, 1048576, 65524, 65532, 1048576, 65524, 65531, 1048576, 65524, 65533, 1048576, 65524, 65534, 1048576, 65524, 65535, 1048576, 65524, 0, 1048576, 65524, 1, 1048576, 65524, 2, 1048576, 65524, 3, 1048576, 65524, 4, 1048576, 65524, 5, 1048576, 65524, 6, 1048576, 65524, 7, 1048576, 65524, 8, 1048576, 65524, 9, 1048576, 65524, 10, 1048576, 65524, 11, 1048576, 65524, 12, 1048576, 65523, 12, 1048576, 65522, 12, 1048576, 65522, 11, 1048576, 65522, 10, 1048576, 65522, 9, 1048576, 65522, 8, 1048576, 65522, 7, 1048576, 65522, 6, 1048576, 65522, 5, 1048576, 65522, 4, 1048576, 65522, 3, 1048576, 65522, 2, 1048576, 65522, 1, 1048576, 65522, 0, 1048576, 65522, 65534, 1048576, 65523, 65534, 1048576, 65523, 65535, 1048576, 65523, 65533, 1048576, 65523, 0, 1048576, 65523, 1, 1048576, 65523, 2, 1048576, 65523, 3, 1048576, 65523, 4, 1048576, 65523, 5, 1048576, 65523, 6, 1048576, 65523, 10, 1048576, 65523, 9, 1048576, 65523, 8, 1048576, 65523, 7, 1048576, 65523, 11, 1048576, 4, 14, 1048576, 3, 14, 1048576, 2, 14, 1048576, 1, 14, 1048576, 0, 14, 1048576, 65535, 14, 1048576, 65534, 14, 1048576, 65533, 14, 1048576, 65532, 14, 1048576, 65531, 14, 1048576, 65530, 14, 1048576, 65529, 14, 1048576, 65528, 14, 1048576, 65527, 14, 1048576, 65527, 15, 1048576, 65526, 15, 1048576, 65526, 16, 1048576, 65526, 14, 1048576, 65527, 16, 1048576, 65528, 16, 1048576, 65529, 16, 1048576, 65530, 16, 1048576, 65531, 16, 1048576, 65532, 16, 1048576, 65533, 16, 1048576, 65534, 16, 1048576, 65535, 16, 1048576, 0, 16, 1048576, 1, 16, 1048576, 2, 16, 1048576, 3, 16, 1048576, 4, 16, 1048576, 4, 15, 1048576, 3, 15, 1048576, 2, 15, 1048576, 1, 15, 1048576, 0, 15, 1048576, 65535, 15, 1048576, 65534, 15, 1048576, 65533, 15, 1048576, 65532, 15, 1048576, 65531, 15, 1048576, 65530, 15, 1048576, 65529, 15, 1048576, 65528, 15, 1048576, 65526, 9, 655361, 65527, 10, 655361, 65528, 11, 655361, 65529, 12, 655361, 65530, 13, 655361, 65529, 13, 655360, 65528, 13, 655360, 65527, 13, 655360, 65526, 13, 655360, 65526, 12, 655360, 65526, 11, 655360, 65526, 10, 655360, 65527, 11, 655360, 65527, 12, 655360, 65528, 12, 655360) +} + +[node name="CannyCat" parent="." instance=ExtResource("3_1802c")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10, 1, -2) +power_line_material = SubResource("StandardMaterial3D_8l41h") +power_scale = 40.0 + +[node name="Objects" type="Node3D" parent="."] + +[node name="GoalPost" parent="Objects" instance=ExtResource("4_108v6")] +transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 10, 0, -10) + +[node name="SandPits" type="Node3D" parent="Objects"] + +[node name="SandPit" parent="Objects/SandPits" instance=ExtResource("5_0oe1q")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -7, 0, 8) +polygon = PackedVector2Array(-3, -2, 1, 0, 5, 6, -3, 6) + +[node name="SandPit2" parent="Objects/SandPits" instance=ExtResource("5_0oe1q")] +transform = Transform3D(-1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 11, 0, 8) +polygon = PackedVector2Array(-3, -2, 1, 0, 5, 6, -3, 6) + +[node name="SandPit3" parent="Objects/SandPits" instance=ExtResource("5_0oe1q")] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -12.5406, 0, -10.5995) +polygon = PackedVector2Array(2.33224, -4.27959, 0.718879, 0.533604, 2.00957, 6.26103, -3.74475, 6.12658, -3.52964, -4.44092) + +[node name="CSGMesh3D" type="CSGMesh3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0) +use_collision = true +collision_mask = 0 +mesh = SubResource("BoxMesh_25rxq") +material = SubResource("ShaderMaterial_tpmcl") diff --git a/levels/w1/1_04.scn b/levels/w1/1_04.scn new file mode 100644 index 0000000..7343900 Binary files /dev/null and b/levels/w1/1_04.scn differ