diff --git a/assets/LD-0001.png.import b/assets/LD-0001.png.import index b0a2b30..ce50793 100644 --- a/assets/LD-0001.png.import +++ b/assets/LD-0001.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://7kcmi16gedd0" +path.s3tc="res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.s3tc.ctex" path.etc2="res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://assets/LD-0001.png" -dest_files=["res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.etc2.ctex"] +dest_files=["res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.s3tc.ctex", "res://.godot/imported/LD-0001.png-8ea76b93d77f913f68e02a6259c9b6cc.etc2.ctex"] [params] diff --git a/assets/greybox/greybox.png.import b/assets/greybox/greybox.png.import index 802413c..5bd0d87 100644 --- a/assets/greybox/greybox.png.import +++ b/assets/greybox/greybox.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://hf6y7ws45y8p" +path.s3tc="res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.s3tc.ctex" path.etc2="res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://assets/greybox/greybox.png" -dest_files=["res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.etc2.ctex"] +dest_files=["res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.s3tc.ctex", "res://.godot/imported/greybox.png-ff2e1ff515631e83618eb1350d29d6ec.etc2.ctex"] [params] diff --git a/assets/ladder/Textures/colormap.png b/assets/ladder/Textures/colormap.png new file mode 100644 index 0000000..3e53f78 --- /dev/null +++ b/assets/ladder/Textures/colormap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d4947d34ff32acf4a359c7f22ca784e057e7e72f622170a9a77b6fc88fdb70e +size 8706 diff --git a/assets/ladder/Textures/colormap.png.import b/assets/ladder/Textures/colormap.png.import new file mode 100644 index 0000000..8093234 --- /dev/null +++ b/assets/ladder/Textures/colormap.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kyoessd1518w" +path.s3tc="res://.godot/imported/colormap.png-0164da4e3e43f54bbcc6c773ee30521d.s3tc.ctex" +path.etc2="res://.godot/imported/colormap.png-0164da4e3e43f54bbcc6c773ee30521d.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/ladder/Textures/colormap.png" +dest_files=["res://.godot/imported/colormap.png-0164da4e3e43f54bbcc6c773ee30521d.s3tc.ctex", "res://.godot/imported/colormap.png-0164da4e3e43f54bbcc6c773ee30521d.etc2.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/assets/ladder/ladder-top.fbx b/assets/ladder/ladder-top.fbx new file mode 100644 index 0000000..2f16763 --- /dev/null +++ b/assets/ladder/ladder-top.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:741bf628aba3d64330104fee634bd7463fa108824ff237673b8984d60d6e5496 +size 37088 diff --git a/assets/ladder/ladder-top.fbx.import b/assets/ladder/ladder-top.fbx.import new file mode 100644 index 0000000..a55f663 --- /dev/null +++ b/assets/ladder/ladder-top.fbx.import @@ -0,0 +1,38 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://bod7boex72igr" +path="res://.godot/imported/ladder-top.fbx-3af719d67bc92743407297e84a0e273a.scn" + +[deps] + +source_file="res://assets/ladder/ladder-top.fbx" +dest_files=["res://.godot/imported/ladder-top.fbx-3af719d67bc92743407297e84a0e273a.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=true +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +fbx/importer=0 +fbx/allow_geometry_helper_nodes=false +fbx/embedded_image_handling=1 diff --git a/assets/ladder/ladder.fbx b/assets/ladder/ladder.fbx new file mode 100644 index 0000000..ef6a596 --- /dev/null +++ b/assets/ladder/ladder.fbx @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:184a6607a01500f5d6aadbcb39e9234498b06896c030b3616b7e7ab7e2959dfb +size 29600 diff --git a/assets/ladder/ladder.fbx.import b/assets/ladder/ladder.fbx.import new file mode 100644 index 0000000..a2acdd0 --- /dev/null +++ b/assets/ladder/ladder.fbx.import @@ -0,0 +1,38 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://cmfagvnymc2yr" +path="res://.godot/imported/ladder.fbx-fde4412b36d0b69e88ef176d131d5cbb.scn" + +[deps] + +source_file="res://assets/ladder/ladder.fbx" +dest_files=["res://.godot/imported/ladder.fbx-fde4412b36d0b69e88ef176d131d5cbb.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=true +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +fbx/importer=0 +fbx/allow_geometry_helper_nodes=false +fbx/embedded_image_handling=1 diff --git a/assets/stairs/Textures/colormap.png b/assets/stairs/Textures/colormap.png new file mode 100644 index 0000000..3e53f78 --- /dev/null +++ b/assets/stairs/Textures/colormap.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0d4947d34ff32acf4a359c7f22ca784e057e7e72f622170a9a77b6fc88fdb70e +size 8706 diff --git a/assets/stairs/Textures/colormap.png.import b/assets/stairs/Textures/colormap.png.import new file mode 100644 index 0000000..4e39373 --- /dev/null +++ b/assets/stairs/Textures/colormap.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bu1pl3y7v25g2" +path.s3tc="res://.godot/imported/colormap.png-e3b1f476363d5485f6d3fb73d08e41e5.s3tc.ctex" +path.etc2="res://.godot/imported/colormap.png-e3b1f476363d5485f6d3fb73d08e41e5.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/stairs/Textures/colormap.png" +dest_files=["res://.godot/imported/colormap.png-e3b1f476363d5485f6d3fb73d08e41e5.s3tc.ctex", "res://.godot/imported/colormap.png-e3b1f476363d5485f6d3fb73d08e41e5.etc2.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/maps/GYMs/metrics.tscn b/maps/GYMs/metrics.tscn index 137d12f..dccc971 100644 --- a/maps/GYMs/metrics.tscn +++ b/maps/GYMs/metrics.tscn @@ -29,7 +29,7 @@ glow_enabled = true [node name="Main" type="Node3D"] [node name="Player" parent="." instance=ExtResource("1_1s2y7")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10, 6, -31) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1.5) [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_1bvp3") @@ -286,6 +286,24 @@ use_collision = true size = Vector3(5, 10, 5) material = ExtResource("3_vvhq3") +[node name="CSGBox3D30" type="CSGBox3D" parent="Greybox/JumpHeights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 9.5, -50) +use_collision = true +size = Vector3(5, 1, 5) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D31" type="CSGBox3D" parent="Greybox/JumpHeights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 9.75, -50) +use_collision = true +size = Vector3(5, 0.5, 5) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D32" type="CSGBox3D" parent="Greybox/JumpHeights"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11, 9.875, -50) +use_collision = true +size = Vector3(5, 0.25, 5) +material = ExtResource("3_vvhq3") + [node name="CSGBox3D26" type="CSGBox3D" parent="Greybox/JumpHeights"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 6.25, -61.5) use_collision = true @@ -309,3 +327,75 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.5, 10, -76.5) use_collision = true size = Vector3(5, 20, 5) material = ExtResource("3_vvhq3") + +[node name="Passageways" type="CSGCombiner3D" parent="Greybox"] + +[node name="CSGBox3D30" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.25, -6.5) +use_collision = true +size = Vector3(5, 5, 5) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D34" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 1.5, -6.5) +operation = 2 +use_collision = true +size = Vector3(5, 3, 3) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D31" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.25, -16.5) +use_collision = true +size = Vector3(5, 5, 5) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D35" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0.5, -16.5) +operation = 2 +use_collision = true +size = Vector3(5, 3, 2) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D32" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.25, -26.5) +use_collision = true +size = Vector3(5, 5, 5) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D36" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0.5, -26.5) +operation = 2 +use_collision = true +size = Vector3(5, 3, 1) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D33" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2.25, -36.5) +use_collision = true +size = Vector3(5, 5, 5) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D37" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, -0.5, -36.5) +operation = 2 +use_collision = true +size = Vector3(5, 3, 1) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D14" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 4.5, -21.5) +use_collision = true +size = Vector3(0.5, 0.5, 5) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D16" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 4.5, -31.5) +use_collision = true +size = Vector3(0.25, 0.5, 5) +material = ExtResource("3_vvhq3") + +[node name="CSGBox3D15" type="CSGBox3D" parent="Greybox/Passageways"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 4.5, -11.5) +use_collision = true +size = Vector3(1, 0.5, 5) +material = ExtResource("3_vvhq3") diff --git a/maps/city.tscn b/maps/city.tscn index 3d8e7a6..952f2c5 100644 --- a/maps/city.tscn +++ b/maps/city.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://dmkw8cmalm5k"] +[gd_scene load_steps=14 format=3 uid="uid://dmkw8cmalm5k"] [ext_resource type="PackedScene" uid="uid://bei4nhkf8lwdo" path="res://player_controller/PlayerController.tscn" id="1_2vsi6"] [ext_resource type="PackedScene" uid="uid://dkr80d2pi0d41" path="res://addons/guide/debugger/guide_debugger.tscn" id="2_uet8a"] @@ -8,6 +8,8 @@ [ext_resource type="PackedScene" uid="uid://fxj0a6p5h6lm" path="res://maps/Components/small_square_tower.tscn" id="5_ruo5i"] [ext_resource type="PackedScene" uid="uid://bfriujv0l1yjy" path="res://assets/greybox/human_scale.tscn" id="5_wxle6"] [ext_resource type="PackedScene" uid="uid://482s38k0yv35" path="res://maps/Components/stairs.tscn" id="8_pxgdh"] +[ext_resource type="PackedScene" uid="uid://cmfagvnymc2yr" path="res://assets/ladder/ladder.fbx" id="9_ukfuy"] +[ext_resource type="PackedScene" uid="uid://bod7boex72igr" path="res://assets/ladder/ladder-top.fbx" id="10_wctvs"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_0xm2m"] sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1) @@ -23,6 +25,8 @@ ambient_light_source = 2 ambient_light_color = Color(0.576076, 0.459788, 0.652401, 1) tonemap_mode = 4 tonemap_exposure = 2.0 +ssao_enabled = true +ssil_enabled = true [node name="Main" type="Node3D"] @@ -392,7 +396,7 @@ size = Vector3(0.205633, 5, 0.347168) material = ExtResource("3_cieeo") [node name="CSGBox3D14" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"] -transform = Transform3D(-0.984808, 0, -0.173648, 0, 1, 0, 0.173648, 0, -0.984808, 34.4436, 40.5, -35.0107) +transform = Transform3D(-0.984808, 0, -0.173648, 0, 1, 0, 0.173648, 0, -0.984808, 34.3949, 40.5, -35.0151) use_collision = true size = Vector3(0.5, 1, 6.37109) material = ExtResource("3_cieeo") @@ -416,21 +420,21 @@ size = Vector3(0.5, 1, 9.66968) material = ExtResource("3_cieeo") [node name="CSGBox3D26" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"] -transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 31.0881, 27.1581, -48.3002) +transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 31.0881, 27.0217, -48.3002) use_collision = true -size = Vector3(3, 0.226074, 14) +size = Vector3(3, 0.5, 14) material = ExtResource("3_cieeo") [node name="CSGBox3D27" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"] -transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 31.7109, 27.1581, -28.6518) +transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 31.7109, 27.0208, -28.6518) use_collision = true -size = Vector3(2.22906, 0.226074, 13.1252) +size = Vector3(2.229, 0.5, 13.125) material = ExtResource("3_cieeo") [node name="CSGBox3D28" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Base"] -transform = Transform3D(-1.19209e-07, 0, 1, 0, 1, 0, -1, 0, -1.19209e-07, 35.6407, 27.1581, -38.6995) +transform = Transform3D(-8.9407e-08, 0, 1, 0, 1, 0, -1, 0, -8.9407e-08, 35.6407, 27.0232, -38.6995) use_collision = true -size = Vector3(15.4346, 0.226074, 4.55566) +size = Vector3(15.435, 0.5, 4.556) material = ExtResource("3_cieeo") [node name="Carvings" type="CSGCombiner3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks"] @@ -491,7 +495,7 @@ size = Vector3(3.8652, 6.35828, 5.64597) material = ExtResource("3_cieeo") [node name="CSGBox3D94" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Carvings"] -transform = Transform3D(-0.866027, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866027, 32.4164, 39.6069, -32.814) +transform = Transform3D(-0.866027, 0, -0.5, 0, 1, 0, 0.5, 0, -0.866027, 31.422, 39.6069, -32.1784) use_collision = true size = Vector3(2.2, 2.78613, 2.2) material = ExtResource("3_cieeo") @@ -570,15 +574,15 @@ transform = Transform3D(0.34202, 0, -2.25526, 0, 1, 0, 0.939692, 0, 0.820848, 25 transform = Transform3D(0.34202, 0, -2.25526, 0, 1, 0, 0.939692, 0, 0.820848, 24.7285, 27.2573, -34.9229) [node name="CSGBox3D19" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] -transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.056, 35.1581, -41.6004) +transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.056, 35.0183, -41.6004) use_collision = true -size = Vector3(0.672852, 0.226074, 9.74835) +size = Vector3(0.673, 0.5, 9.748) material = ExtResource("3_cieeo") [node name="CSGBox3D33" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] -transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.3443, 35.1581, -43.8862) +transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.3443, 35.0247, -43.8862) use_collision = true -size = Vector3(5.27722, 0.226074, 0.72884) +size = Vector3(5.277, 0.5, 0.729) material = ExtResource("3_cieeo") [node name="CSGBox3D34" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] @@ -590,7 +594,7 @@ material = ExtResource("3_cieeo") [node name="CSGBox3D35" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] transform = Transform3D(0.0871558, 0, 0.996195, 0, 1, 0, -0.996195, 0, 0.0871558, 29.1641, 33.4089, -41.5785) use_collision = true -size = Vector3(1.67001, 0.164001, 1.91308) +size = Vector3(2, 0.1, 2) material = ExtResource("3_cieeo") [node name="CSGBox3D36" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] @@ -641,12 +645,45 @@ use_collision = true size = Vector3(0.5, 1, 7.00781) material = ExtResource("3_cieeo") +[node name="CSGBox3D26" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] +transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 33.4444, 35.6629, -33.3736) +use_collision = true +size = Vector3(2.50293, 7.32574, 2.17114) +material = ExtResource("3_cieeo") + [node name="CSGBox3D18" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture"] transform = Transform3D(-0.5, 0, 0.866026, 0, 1, 0, -0.866026, 0, -0.5, 30.0125, 32.113, -31.4695) use_collision = true size = Vector3(2.34326, 0.226074, 9.09705) material = ExtResource("3_cieeo") +[node name="ladder" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 31.9913, -32.4904) + +[node name="ladder2" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 32.9913, -32.4904) + +[node name="ladder3" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 33.9913, -32.4904) + +[node name="ladder4" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 34.9913, -32.4904) + +[node name="ladder5" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 35.9913, -32.4904) + +[node name="ladder6" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 36.9913, -32.4904) + +[node name="ladder7" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 37.9913, -32.4904) + +[node name="ladder8" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("9_ukfuy")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.2879, 38.9913, -32.4904) + +[node name="ladder-top" parent="Greybox/LowWageResidentialBulk1/GuardBarracks/Furniture" instance=ExtResource("10_wctvs")] +transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 32.4123, 39.9775, -32.5648) + [node name="CSGBox3D72" type="CSGBox3D" parent="Greybox/LowWageResidentialBulk1"] transform = Transform3D(0.0923823, 0.257713, 0.961797, 1.91013e-08, 0.965926, -0.258819, -0.995726, 0.0239104, 0.0892344, 14.5298, 25.9843, -31.2152) use_collision = true diff --git a/player_controller/Assets/Textures/GridTexture/Dark/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Dark/texture_01.png.import index 97b37c2..824bacb 100644 --- a/player_controller/Assets/Textures/GridTexture/Dark/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Dark/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://boasm0g587eov" +path.s3tc="res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Dark/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.s3tc.ctex", "res://.godot/imported/texture_01.png-9deee4bf2e81814eb5c9325f2657f8c8.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/GridTexture/Green/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Green/texture_01.png.import index bb1f6a3..c0756a2 100644 --- a/player_controller/Assets/Textures/GridTexture/Green/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Green/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://3e1klega6uye" +path.s3tc="res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Green/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.s3tc.ctex", "res://.godot/imported/texture_01.png-ae5afc2ae737d1e792f0b8a0a5af4d3f.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/GridTexture/Light/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Light/texture_01.png.import index cad96a2..681440f 100644 --- a/player_controller/Assets/Textures/GridTexture/Light/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Light/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://0t6ie0fkv2op" +path.s3tc="res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Light/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.s3tc.ctex", "res://.godot/imported/texture_01.png-1dcf4b27bd12b1fd18e6c870b30bb902.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/GridTexture/Orange/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Orange/texture_01.png.import index 5ac5649..832a0d2 100644 --- a/player_controller/Assets/Textures/GridTexture/Orange/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Orange/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://t10lfkxrg7ay" +path.s3tc="res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Orange/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.s3tc.ctex", "res://.godot/imported/texture_01.png-2d26b48d2dec4e4e9eea4b1c047417c0.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/GridTexture/Red/texture_01.png.import b/player_controller/Assets/Textures/GridTexture/Red/texture_01.png.import index bf717ef..3d26250 100644 --- a/player_controller/Assets/Textures/GridTexture/Red/texture_01.png.import +++ b/player_controller/Assets/Textures/GridTexture/Red/texture_01.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://dgix86l87u86s" +path.s3tc="res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.s3tc.ctex" path.etc2="res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/GridTexture/Red/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex"] +dest_files=["res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.s3tc.ctex", "res://.godot/imported/texture_01.png-a7949be0e945f82b88e838fe48a6f350.etc2.ctex"] [params] diff --git a/player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png.import b/player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png.import index 794c94c..9da5157 100644 --- a/player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png.import +++ b/player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://woq2hudxhckr" +path.s3tc="res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.s3tc.ctex" path.etc2="res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Assets/Textures/PerlinNoise/Gabor 1 - 512x512.png" -dest_files=["res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex"] +dest_files=["res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.s3tc.ctex", "res://.godot/imported/Gabor 1 - 512x512.png-35241d8f4670c338b8c89a271f5b5891.etc2.ctex"] [params] diff --git a/player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png.import b/player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png.import index 0baa577..e9c1f25 100644 --- a/player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png.import +++ b/player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png.import @@ -3,16 +3,17 @@ importer="texture" type="CompressedTexture2D" uid="uid://lp2pt8mtj7ty" +path.s3tc="res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.s3tc.ctex" path.etc2="res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex" metadata={ -"imported_formats": ["etc2_astc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://player_controller/Examples/MovementTestbed/Hills/kenney-green-checkerboar-cc0.png" -dest_files=["res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex"] +dest_files=["res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.s3tc.ctex", "res://.godot/imported/kenney-green-checkerboar-cc0.png-2ce8609a39a655125c8e037014f6f2db.etc2.ctex"] [params] diff --git a/player_controller/PlayerController.tscn b/player_controller/PlayerController.tscn index b9772e4..0aa5baa 100644 --- a/player_controller/PlayerController.tscn +++ b/player_controller/PlayerController.tscn @@ -288,26 +288,57 @@ event = &"dash_to_planted" delay_in_seconds = "0.0" [node name="Grounded" type="Node" parent="StateChart/Root/Movement"] +script = ExtResource("26_infe6") +initial_state = NodePath("Standing") + +[node name="Standing" type="Node" parent="StateChart/Root/Movement/Grounded"] script = ExtResource("27_34snm") -[node name="OnJump" type="Node" parent="StateChart/Root/Movement/Grounded"] +[node name="OnJump" type="Node" parent="StateChart/Root/Movement/Grounded/Standing"] script = ExtResource("28_n7qhm") -to = NodePath("../../Airborne/Jump") +to = NodePath("../../../Airborne/Jump") event = &"jump" delay_in_seconds = "0.0" -[node name="OnAirborne" type="Node" parent="StateChart/Root/Movement/Grounded"] +[node name="OnAirborne" type="Node" parent="StateChart/Root/Movement/Grounded/Standing"] script = ExtResource("28_n7qhm") -to = NodePath("../../Airborne/CoyoteEnabled") +to = NodePath("../../../Airborne/CoyoteEnabled") event = &"start_falling" delay_in_seconds = "0.0" +[node name="OnCrouch" type="Node" parent="StateChart/Root/Movement/Grounded/Standing"] +script = ExtResource("28_n7qhm") +to = NodePath("../../Crouch") +event = &"crouch" +delay_in_seconds = "0.0" + +[node name="Crouch" type="Node" parent="StateChart/Root/Movement/Grounded"] +script = ExtResource("27_34snm") + +[node name="OnJump" type="Node" parent="StateChart/Root/Movement/Grounded/Crouch"] +script = ExtResource("28_n7qhm") +to = NodePath("../../../Airborne/Jump") +event = &"jump" +delay_in_seconds = "0.0" + +[node name="OnAirborne" type="Node" parent="StateChart/Root/Movement/Grounded/Crouch"] +script = ExtResource("28_n7qhm") +to = NodePath("../../../Airborne/CoyoteEnabled") +event = &"start_falling" +delay_in_seconds = "0.0" + +[node name="OnStandUp" type="Node" parent="StateChart/Root/Movement/Grounded/Crouch"] +script = ExtResource("28_n7qhm") +to = NodePath("../../Standing") +event = &"stand_up" +delay_in_seconds = "0.0" + [node name="Mantling" type="Node" parent="StateChart/Root/Movement"] script = ExtResource("27_34snm") [node name="ToGrounded" type="Node" parent="StateChart/Root/Movement/Mantling"] script = ExtResource("28_n7qhm") -to = NodePath("../../Grounded") +to = NodePath("../../Grounded/Standing") event = &"to_grounded" delay_in_seconds = "0.0" @@ -323,7 +354,7 @@ delay_in_seconds = "0.0" [node name="OnDrop" type="Node" parent="StateChart/Root/Movement/Hanging"] script = ExtResource("28_n7qhm") to = NodePath("../../Airborne/CoyoteEnabled") -event = &"drop" +event = &"crouch" delay_in_seconds = "0.0" [node name="Airborne" type="Node" parent="StateChart/Root/Movement"] @@ -332,7 +363,7 @@ initial_state = NodePath("CoyoteEnabled") [node name="OnGrounded" type="Node" parent="StateChart/Root/Movement/Airborne"] script = ExtResource("28_n7qhm") -to = NodePath("../../Grounded") +to = NodePath("../../Grounded/Standing") event = &"grounded" delay_in_seconds = "0.0" diff --git a/player_controller/Scripts/PlayerController.cs b/player_controller/Scripts/PlayerController.cs index 97178cd..8a6d846 100644 --- a/player_controller/Scripts/PlayerController.cs +++ b/player_controller/Scripts/PlayerController.cs @@ -256,7 +256,7 @@ public partial class PlayerController : CharacterBody3D } public void OnInputDropPressed() { - _playerState.SendEvent("drop"); + _playerState.SendEvent("crouch"); } /////////////////////////// @@ -391,9 +391,11 @@ public partial class PlayerController : CharacterBody3D return; } + GD.Print(WeaponSystem.GlobalRotation); // Store the weapon state before resetting it - var isPlantedOnWall = WeaponSystem.PlantedState.Active - && (Math.Abs(WeaponSystem.GlobalRotation.X) + Math.Abs(WeaponSystem.GlobalRotation.Z) < 0.3); + var isPlantedOnWall = Math.Abs(WeaponSystem.GlobalRotation.X) + Math.Abs(WeaponSystem.GlobalRotation.Z) < 0.3; + var isPlantedUnderPlatform = WeaponSystem.GlobalRotation.X > 1 && Math.Abs(WeaponSystem.GlobalRotation.Y) > 1; + var shouldDashToPlanted = WeaponSystem.PlantedState.Active && (isPlantedOnWall || isPlantedUnderPlatform); var isFlying = WeaponSystem.FlyingState.Active; // Get the weapon back @@ -410,7 +412,7 @@ public partial class PlayerController : CharacterBody3D return; // In case states aren't exclusives } - if (isPlantedOnWall) + if (shouldDashToPlanted) { _playerState.SendEvent("dash_to_planted"); return; // In case states aren't exclusives diff --git a/systems/dash/DashSystem.cs b/systems/dash/DashSystem.cs index 8750075..309508c 100644 --- a/systems/dash/DashSystem.cs +++ b/systems/dash/DashSystem.cs @@ -54,7 +54,7 @@ public partial class DashSystem: Node3D var collisionPoint = _dashCast3D.GetCollisionPoint(0); var collisionNormal = _dashCast3D.GetCollisionNormal(0); var collisionShape = (SphereShape3D) _dashCast3D.GetShape(); - var centerSphereLocation = collisionPoint + collisionNormal * collisionShape.Radius; + var centerSphereLocation = collisionPoint + collisionNormal * 0.2f; return new DashComputationRecord(true, centerSphereLocation, collisionPoint, collisionNormal); } @@ -72,7 +72,7 @@ public partial class DashSystem: Node3D var shouldMantle = false; var mantleLocation = Vector3.Zero; - if (hasHit && Mathf.Abs(collisionNormal.Y) < 0.01f) + if (hasHit && Mathf.Abs(collisionNormal.Y) < 0.5f) { var mantleResult = _mantleSystem.FindMantleLocationAtPoint(collisionPoint, collisionNormal); shouldMantle = mantleResult.IsSome(out mantleLocation); diff --git a/systems/dash/dash_system.tscn b/systems/dash/dash_system.tscn index 0375ada..84346e7 100644 --- a/systems/dash/dash_system.tscn +++ b/systems/dash/dash_system.tscn @@ -4,7 +4,7 @@ [ext_resource type="PackedScene" uid="uid://wq1okogkhc5l" path="res://systems/mantle/mantle_system.tscn" id="2_pff7b"] [sub_resource type="SphereShape3D" id="SphereShape3D_qu4wy"] -radius = 0.1 +radius = 0.2 [sub_resource type="SphereMesh" id="SphereMesh_qu4wy"] diff --git a/systems/mantle/MantleSystem.cs b/systems/mantle/MantleSystem.cs index f72703c..4cbe14c 100644 --- a/systems/mantle/MantleSystem.cs +++ b/systems/mantle/MantleSystem.cs @@ -57,7 +57,7 @@ public partial class MantleSystem: Node3D var shapeCastStartLocation = horizontalEndLocation + Vector3.Up * MantleHeightCastStart; _mantleCast3D.SetGlobalPosition(shapeCastStartLocation); - var targetLocation = Vector3.Down * MantleHeightCastStart + Vector3.Up * MaxStepHeight; + var targetLocation = Vector3.Down * MantleHeightCastStart; _mantleCast3D.SetTargetPosition(targetLocation); if (_mantleCast3D.IsColliding() && _mantleCast3D.GetCollisionNormal(0).Y > 0.9f) diff --git a/systems/mantle/mantle_system.tscn b/systems/mantle/mantle_system.tscn index d7eb43a..7c9d437 100644 --- a/systems/mantle/mantle_system.tscn +++ b/systems/mantle/mantle_system.tscn @@ -21,7 +21,7 @@ collision_mask = 2 debug_shape_custom_color = Color(1, 0, 0, 1) [node name="WallInFrontCast3D" type="ShapeCast3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.65, 0) shape = SubResource("CapsuleShape3D_qu4wy") target_position = Vector3(0, 0, -1.5) max_results = 1 diff --git a/systems/weapon/WeaponSystem.cs b/systems/weapon/WeaponSystem.cs index 9e9dc49..17cafd2 100644 --- a/systems/weapon/WeaponSystem.cs +++ b/systems/weapon/WeaponSystem.cs @@ -73,7 +73,7 @@ public partial class WeaponSystem : RigidBody3D _weaponState.SendEvent("plant"); Freeze = true; GlobalPosition = _plantLocation; - PlayerDashLocation = _plantLocation + _plantNormal * 0.1f; + PlayerDashLocation = ComputeDashLocation(_plantLocation, _plantNormal); LookAt(GlobalTransform.Origin + _plantNormal, Vector3.Up, true); } @@ -84,6 +84,11 @@ public partial class WeaponSystem : RigidBody3D Freeze = true; } + private Vector3 ComputeDashLocation(Vector3 collisionLocation, Vector3 collisionNormal) + { + return collisionLocation + collisionNormal * 0.2f; + } + public override void _IntegrateForces(PhysicsDirectBodyState3D state) { base._IntegrateForces(state); @@ -92,7 +97,7 @@ public partial class WeaponSystem : RigidBody3D { _plantLocation = state.GetContactLocalPosition(0); _plantNormal = state.GetContactLocalNormal(0); - PlayerDashLocation = _plantLocation + _plantNormal * 0.1f; + PlayerDashLocation = ComputeDashLocation(_plantLocation, _plantNormal); } }