From 2c6b10dd0a952dc506b4aeeb68c90ef36da652ee Mon Sep 17 00:00:00 2001 From: osquallo Date: Mon, 30 Jul 2018 10:48:21 +0200 Subject: [PATCH] test gridmap --- scenes/GUI/GUI.gd | 1 - scenes/GUI/GUI.tscn | 2 +- scenes/GUI/HUD/HUD.gd | 5 +- scenes/Game/Game.tscn | 95 +++++++++--------- scenes/Game/Terrain/gridmaps/GridMaps.tscn | 68 +++++++++++++ scenes/Game/Terrain/gridmaps/ceilling.escn | 27 +++++ scenes/Game/Terrain/gridmaps/ceilling.meshlib | Bin 0 -> 34277 bytes scenes/Game/Terrain/gridmaps/ground.escn | 27 +++++ scenes/Game/Terrain/gridmaps/ground.meshlib | Bin 0 -> 34275 bytes scenes/Game/Terrain/gridmaps/wall.escn | 71 +++++++++++++ scenes/Game/Terrain/gridmaps/wall.meshlib | Bin 0 -> 136253 bytes 11 files changed, 242 insertions(+), 54 deletions(-) create mode 100644 scenes/Game/Terrain/gridmaps/GridMaps.tscn create mode 100644 scenes/Game/Terrain/gridmaps/ceilling.escn create mode 100644 scenes/Game/Terrain/gridmaps/ceilling.meshlib create mode 100644 scenes/Game/Terrain/gridmaps/ground.escn create mode 100644 scenes/Game/Terrain/gridmaps/ground.meshlib create mode 100644 scenes/Game/Terrain/gridmaps/wall.escn create mode 100644 scenes/Game/Terrain/gridmaps/wall.meshlib diff --git a/scenes/GUI/GUI.gd b/scenes/GUI/GUI.gd index 8ca4047..6de5702 100644 --- a/scenes/GUI/GUI.gd +++ b/scenes/GUI/GUI.gd @@ -58,7 +58,6 @@ func recursive_release_focus( control ): if len(control.get_children()) > 0: for child in control.get_children(): recursive_release_focus( child ) -# if control.has_method( "release_focus" ): control.release_focus() func pause(): diff --git a/scenes/GUI/GUI.tscn b/scenes/GUI/GUI.tscn index ef7b0b3..a4c6885 100644 --- a/scenes/GUI/GUI.tscn +++ b/scenes/GUI/GUI.tscn @@ -19,7 +19,7 @@ _sections_unfolded = [ "Font", "Settings" ] default_font = SubResource( 1 ) -[node name="GUI" type="MarginContainer" index="0"] +[node name="GUI" type="MarginContainer"] anchor_left = 0.0 anchor_top = 0.0 diff --git a/scenes/GUI/HUD/HUD.gd b/scenes/GUI/HUD/HUD.gd index 6f1f3d3..e8541b5 100644 --- a/scenes/GUI/HUD/HUD.gd +++ b/scenes/GUI/HUD/HUD.gd @@ -18,7 +18,6 @@ func _input( event ): func _on_SaveHUD_pressed(): - var config_file = ConfigFile.new() var err = config_file.load( HUD_config_file ) if err: @@ -29,15 +28,13 @@ func _on_SaveHUD_pressed(): config_file.save( HUD_config_file ) - func _on_Windows_gui_input( event ): if event is InputEventMouseButton \ and Input.get_mouse_mode() == Input.MOUSE_MODE_VISIBLE \ and event.is_action_pressed( "ui_free_cursor" ): Input.set_mouse_mode( Input.MOUSE_MODE_CAPTURED ) - elif event is InputEventMouseButton \ and Input.get_mouse_mode() == Input.MOUSE_MODE_CAPTURED \ and event.is_action_pressed( "ui_free_cursor" ): - Input.set_mouse_mode( Input.MOUSE_MODE_VISIBLE ) + Input.set_mouse_mode( Input.MOUSE_MODE_VISIBLE ) \ No newline at end of file diff --git a/scenes/Game/Game.tscn b/scenes/Game/Game.tscn index 707b205..18b79a5 100644 --- a/scenes/Game/Game.tscn +++ b/scenes/Game/Game.tscn @@ -1,18 +1,18 @@ [gd_scene load_steps=41 format=2] [ext_resource path="res://scenes/Game/Character/Character.tscn" type="PackedScene" id=1] -[ext_resource path="res://scenes/Game/Terrain/Terrain.tscn" type="PackedScene" id=2] -[ext_resource path="res://assets/Game/Brick08/Bricks08_col.jpg" type="Texture" id=3] -[ext_resource path="res://assets/Game/Brick08/Bricks08_AO.jpg" type="Texture" id=4] -[ext_resource path="res://assets/Game/Brick08/Bricks08_disp.jpg" type="Texture" id=5] -[ext_resource path="res://assets/Game/Brick08/Bricks08_nrm.jpg" type="Texture" id=6] -[ext_resource path="res://assets/Game/Brick08/Bricks08_rgh.jpg" type="Texture" id=7] -[ext_resource path="res://scenes/Game/Box.gd" type="Script" id=8] -[ext_resource path="res://scenes/Game/CubeShaderTest.tscn" type="PackedScene" id=9] -[ext_resource path="res://scenes/Game/firecamp.tscn" type="PackedScene" id=10] -[ext_resource path="res://assets/Game/textures/fire_01.png" type="Texture" id=11] -[ext_resource path="res://assets/Game/textures/fire_02.png" type="Texture" id=12] -[ext_resource path="res://scenes/Game/jukebox/jukebox.tscn" type="PackedScene" id=13] +[ext_resource path="res://assets/Game/Brick08/Bricks08_col.jpg" type="Texture" id=2] +[ext_resource path="res://assets/Game/Brick08/Bricks08_AO.jpg" type="Texture" id=3] +[ext_resource path="res://assets/Game/Brick08/Bricks08_disp.jpg" type="Texture" id=4] +[ext_resource path="res://assets/Game/Brick08/Bricks08_nrm.jpg" type="Texture" id=5] +[ext_resource path="res://assets/Game/Brick08/Bricks08_rgh.jpg" type="Texture" id=6] +[ext_resource path="res://scenes/Game/Box.gd" type="Script" id=7] +[ext_resource path="res://scenes/Game/CubeShaderTest.tscn" type="PackedScene" id=8] +[ext_resource path="res://scenes/Game/firecamp.tscn" type="PackedScene" id=9] +[ext_resource path="res://assets/Game/textures/fire_01.png" type="Texture" id=10] +[ext_resource path="res://assets/Game/textures/fire_02.png" type="Texture" id=11] +[ext_resource path="res://scenes/Game/jukebox/jukebox.tscn" type="PackedScene" id=12] +[ext_resource path="res://scenes/Game/Terrain/gridmaps/GridMaps.tscn" type="PackedScene" id=13] [sub_resource type="GDScript" id=1] @@ -58,23 +58,23 @@ params_billboard_mode = 0 params_grow = false params_use_alpha_scissor = false albedo_color = Color( 1, 1, 1, 1 ) -albedo_texture = ExtResource( 3 ) +albedo_texture = ExtResource( 2 ) metallic = 0.0 metallic_specular = 0.0 metallic_texture_channel = 0 roughness = 1.0 -roughness_texture = ExtResource( 7 ) +roughness_texture = ExtResource( 6 ) roughness_texture_channel = 0 emission_enabled = false normal_enabled = true normal_scale = 1.0 -normal_texture = ExtResource( 6 ) +normal_texture = ExtResource( 5 ) rim_enabled = false clearcoat_enabled = false anisotropy_enabled = false ao_enabled = true ao_light_affect = 0.0 -ao_texture = ExtResource( 4 ) +ao_texture = ExtResource( 3 ) ao_on_uv2 = false ao_texture_channel = 0 depth_enabled = true @@ -82,7 +82,7 @@ depth_scale = 0.05 depth_deep_parallax = true depth_min_layers = 8 depth_max_layers = 32 -depth_texture = ExtResource( 5 ) +depth_texture = ExtResource( 4 ) subsurf_scatter_enabled = false transmission_enabled = false refraction_enabled = false @@ -130,7 +130,7 @@ particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = 0 albedo_color = Color( 0.390625, 0.390625, 0.390625, 1 ) -albedo_texture = ExtResource( 11 ) +albedo_texture = ExtResource( 10 ) metallic = 0.0 metallic_specular = 0.5 metallic_texture_channel = 0 @@ -196,7 +196,7 @@ particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = 0 albedo_color = Color( 0.390625, 0.390625, 0.390625, 1 ) -albedo_texture = ExtResource( 12 ) +albedo_texture = ExtResource( 11 ) metallic = 0.0 metallic_specular = 0.5 metallic_texture_channel = 0 @@ -207,7 +207,7 @@ emission = Color( 1, 0.886353, 0.617188, 1 ) emission_energy = 1.0 emission_operator = 0 emission_on_uv2 = false -emission_texture = ExtResource( 12 ) +emission_texture = ExtResource( 11 ) normal_enabled = false rim_enabled = false clearcoat_enabled = false @@ -326,7 +326,7 @@ particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = 0 albedo_color = Color( 1, 1, 1, 1 ) -albedo_texture = ExtResource( 11 ) +albedo_texture = ExtResource( 10 ) metallic = 0.0 metallic_specular = 0.5 metallic_texture_channel = 0 @@ -392,7 +392,7 @@ particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = 0 albedo_color = Color( 1, 1, 1, 1 ) -albedo_texture = ExtResource( 12 ) +albedo_texture = ExtResource( 11 ) metallic = 0.0 metallic_specular = 0.5 metallic_texture_channel = 0 @@ -403,7 +403,7 @@ emission = Color( 1, 0.886353, 0.617188, 1 ) emission_energy = 1.0 emission_operator = 0 emission_on_uv2 = false -emission_texture = ExtResource( 12 ) +emission_texture = ExtResource( 11 ) normal_enabled = false rim_enabled = false clearcoat_enabled = false @@ -498,7 +498,7 @@ particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = 0 albedo_color = Color( 0.0078125, 0, 1, 1 ) -albedo_texture = ExtResource( 11 ) +albedo_texture = ExtResource( 10 ) metallic = 0.0 metallic_specular = 0.5 metallic_texture_channel = 0 @@ -564,7 +564,7 @@ particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = 0 albedo_color = Color( 0, 0.015625, 1, 1 ) -albedo_texture = ExtResource( 12 ) +albedo_texture = ExtResource( 11 ) metallic = 0.0 metallic_specular = 0.5 metallic_texture_channel = 0 @@ -575,7 +575,7 @@ emission = Color( 1, 0.886353, 0.617188, 1 ) emission_energy = 1.0 emission_operator = 0 emission_on_uv2 = false -emission_texture = ExtResource( 12 ) +emission_texture = ExtResource( 11 ) normal_enabled = false rim_enabled = false clearcoat_enabled = false @@ -670,7 +670,7 @@ particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = 0 albedo_color = Color( 0.125, 1, 0, 1 ) -albedo_texture = ExtResource( 11 ) +albedo_texture = ExtResource( 10 ) metallic = 0.0 metallic_specular = 0.5 metallic_texture_channel = 0 @@ -736,7 +736,7 @@ particles_anim_h_frames = 1 particles_anim_v_frames = 1 particles_anim_loop = 0 albedo_color = Color( 0.078125, 1, 0, 1 ) -albedo_texture = ExtResource( 12 ) +albedo_texture = ExtResource( 11 ) metallic = 0.0 metallic_specular = 0.5 metallic_texture_channel = 0 @@ -747,7 +747,7 @@ emission = Color( 1, 0.886353, 0.617188, 1 ) emission_energy = 1.0 emission_operator = 0 emission_on_uv2 = false -emission_texture = ExtResource( 12 ) +emission_texture = ExtResource( 11 ) normal_enabled = false rim_enabled = false clearcoat_enabled = false @@ -776,7 +776,7 @@ material = SubResource( 26 ) custom_aabb = AABB( 0, 0, 0, 0, 0, 0 ) size = Vector2( 0.4, 0.4 ) -[node name="Game" type="Spatial"] +[node name="Game" type="Spatial" index="0"] _sections_unfolded = [ "Transform" ] @@ -784,14 +784,9 @@ _sections_unfolded = [ "Transform" ] [node name="World" type="Spatial" parent="." index="1"] -editor/display_folded = true _sections_unfolded = [ "Transform", "Visibility" ] -[node name="Terrain" parent="World" index="0" instance=ExtResource( 2 )] - -_sections_unfolded = [ "Transform" ] - -[node name="OmniLight" type="OmniLight" parent="World" index="1"] +[node name="OmniLight" type="OmniLight" parent="World" index="0"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 7.46929, 4.14904, -7.50301 ) layers = 1 @@ -814,7 +809,7 @@ omni_shadow_mode = 1 omni_shadow_detail = 1 _sections_unfolded = [ "Editor", "Light", "Omni", "Shadow", "Visibility" ] -[node name="Box" type="RigidBody" parent="World" index="2"] +[node name="Box" type="RigidBody" parent="World" index="1"] editor/display_folded = true transform = Transform( 0.640199, 0.768209, 0, -0.650662, 0.542239, -0.531616, -0.408393, 0.34034, 0.846985, 1.68693, 3.13013, -6.48976 ) @@ -870,7 +865,7 @@ shape = SubResource( 4 ) disabled = false _sections_unfolded = [ "Transform" ] -[node name="Box3" type="RigidBody" parent="World" index="3"] +[node name="Box3" type="RigidBody" parent="World" index="2"] editor/display_folded = true transform = Transform( 1, 0, -0.00107956, 0, 1, 0, 0.00107956, 0, 0.999999, 8.55614, 1.10185, -4.11165 ) @@ -926,7 +921,7 @@ shape = SubResource( 4 ) disabled = false _sections_unfolded = [ "Transform" ] -[node name="Box5" type="RigidBody" parent="World" index="4"] +[node name="Box5" type="RigidBody" parent="World" index="3"] editor/display_folded = true transform = Transform( 1, 0, -0.00107956, 0, 1, 0, 0.00107956, 0, 0.999999, 6.54047, 1.10185, -4.11382 ) @@ -982,7 +977,7 @@ shape = SubResource( 4 ) disabled = false _sections_unfolded = [ "Transform" ] -[node name="Box4" type="RigidBody" parent="World" index="5"] +[node name="Box4" type="RigidBody" parent="World" index="4"] editor/display_folded = true transform = Transform( 1, 0, -0.00107956, 0, 1, 0, 0.00107956, 0, 0.999999, 8.55614, 3.13749, -4.11165 ) @@ -1038,7 +1033,7 @@ shape = SubResource( 4 ) disabled = false _sections_unfolded = [ "Transform" ] -[node name="Box2" type="RigidBody" parent="World" index="6"] +[node name="Box2" type="RigidBody" parent="World" index="5"] editor/display_folded = true transform = Transform( 0.640199, 0.768209, 0, -0.650662, 0.542239, -0.531616, -0.408393, 0.34034, 0.846985, -3.00203, 8.74323, -4.47902 ) @@ -1067,7 +1062,7 @@ linear_velocity = Vector3( 0, 0, 0 ) linear_damp = -1.0 angular_velocity = Vector3( 0, 0, 0 ) angular_damp = -1.0 -script = ExtResource( 8 ) +script = ExtResource( 7 ) _sections_unfolded = [ "Collision" ] [node name="MeshInstance" type="MeshInstance" parent="World/Box2" index="0"] @@ -1094,14 +1089,14 @@ shape = SubResource( 4 ) disabled = false _sections_unfolded = [ "Transform" ] -[node name="CubeShaderTest" parent="World" index="7" instance=ExtResource( 9 )] +[node name="CubeShaderTest" parent="World" index="6" instance=ExtResource( 8 )] editor/display_folded = true transform = Transform( -0.471909, 0, -0.881647, 0, 1, 0, 0.881647, 0, -0.471909, 4, 2, 3.11353 ) friction = 0.2 bounce = 0.75 -[node name="fire_01" parent="World/CubeShaderTest" index="2" instance=ExtResource( 10 )] +[node name="fire_01" parent="World/CubeShaderTest" index="2" instance=ExtResource( 9 )] transform = Transform( -1.5494, 0, 2.89468, 0, 1, 0, -2.89468, 0, -1.5494, 0, 1.1836, 0 ) visibility_aabb = AABB( -4, -4.04395, -3.96729, 8, 8, 8 ) @@ -1109,7 +1104,7 @@ draw_passes = 2 draw_pass_1 = SubResource( 6 ) draw_pass_2 = SubResource( 8 ) -[node name="fire_02" parent="World/CubeShaderTest" index="3" instance=ExtResource( 10 )] +[node name="fire_02" parent="World/CubeShaderTest" index="3" instance=ExtResource( 9 )] transform = Transform( -1.5494, 0, 2.89468, 0, 1, 0, -2.89468, 0, -1.5494, -0.574282, 0.104018, -1.07291 ) visibility_aabb = AABB( -4, -4.04395, -3.96729, 8, 8, 8 ) @@ -1118,7 +1113,7 @@ draw_passes = 2 draw_pass_1 = SubResource( 15 ) draw_pass_2 = SubResource( 17 ) -[node name="fire_03" parent="World/CubeShaderTest" index="4" instance=ExtResource( 10 )] +[node name="fire_03" parent="World/CubeShaderTest" index="4" instance=ExtResource( 9 )] transform = Transform( -1.5494, 0, 2.89468, 0, 1, 0, -2.89468, 0, -1.5494, 0.573787, 0.104018, 1.07198 ) visibility_aabb = AABB( -4, -4.04395, -3.96729, 8, 8, 8 ) @@ -1127,7 +1122,7 @@ draw_passes = 2 draw_pass_1 = SubResource( 20 ) draw_pass_2 = SubResource( 22 ) -[node name="fire_04" parent="World/CubeShaderTest" index="5" instance=ExtResource( 10 )] +[node name="fire_04" parent="World/CubeShaderTest" index="5" instance=ExtResource( 9 )] transform = Transform( -1.5494, 0, 2.89468, 0, 1, 0, -2.89468, 0, -1.5494, 0.00931859, -1.29484, 0.0174088 ) visibility_aabb = AABB( -4, -4.04395, -3.96729, 8, 8, 8 ) @@ -1136,10 +1131,14 @@ draw_passes = 2 draw_pass_1 = SubResource( 25 ) draw_pass_2 = SubResource( 27 ) -[node name="jukebox" parent="World" index="8" instance=ExtResource( 13 )] +[node name="jukebox" parent="World" index="7" instance=ExtResource( 12 )] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -7.67816, 0, 0 ) +[node name="GridMaps" parent="World" index="8" instance=ExtResource( 13 )] + +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.66248, 0 ) + [connection signal="sleeping_state_changed" from="World/Box" to="World/Box" method="_on_Box_sleeping_state_changed"] [connection signal="sleeping_state_changed" from="World/Box3" to="World/Box3" method="_on_Box_sleeping_state_changed"] diff --git a/scenes/Game/Terrain/gridmaps/GridMaps.tscn b/scenes/Game/Terrain/gridmaps/GridMaps.tscn new file mode 100644 index 0000000..c065816 --- /dev/null +++ b/scenes/Game/Terrain/gridmaps/GridMaps.tscn @@ -0,0 +1,68 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://scenes/Game/Terrain/gridmaps/ceilling.meshlib" type="MeshLibrary" id=1] +[ext_resource path="res://scenes/Game/Terrain/gridmaps/wall.meshlib" type="MeshLibrary" id=2] +[ext_resource path="res://scenes/Game/Terrain/gridmaps/ground.meshlib" type="MeshLibrary" id=3] + +[node name="GridMaps" type="Spatial"] + +[node name="ceilling" type="GridMap" parent="." index="0"] + +theme = ExtResource( 1 ) +cell_size = Vector3( 2, 4, 2 ) +cell_octant_size = 8 +cell_center_x = true +cell_center_y = true +cell_center_z = true +cell_scale = 1.0 +collision_layer = 1 +collision_mask = 1 +data = { +"cells": PoolIntArray( ) +} +_sections_unfolded = [ "Cell" ] +__meta__ = { +"_editor_clip_": 0, +"_editor_floor_": Vector3( 0, 0, 0 ) +} + +[node name="wall" type="GridMap" parent="." index="1"] + +theme = ExtResource( 2 ) +cell_size = Vector3( 2, 4, 2 ) +cell_octant_size = 8 +cell_center_x = true +cell_center_y = true +cell_center_z = true +cell_scale = 1.0 +collision_layer = 1 +collision_mask = 1 +data = { +"cells": PoolIntArray( 7, 0, 1441795, 65528, 0, 1048579, 7, 1, 1441795, 65528, 1, 1048579, 7, 2, 1441795, 65528, 2, 1048579, 7, 3, 1441795, 65528, 3, 1048579, 7, 4, 538312707, 65528, 4, 1048579, 7, 5, 538312707, 65528, 5, 537919491, 7, 6, 538312707, 65528, 6, 1048579, 0, 7, 655363, 1, 7, 1074397187, 2, 7, 655363, 3, 7, 1074397187, 4, 7, 655363, 5, 7, 655363, 6, 7, 655363, 7, 7, 655362, 65528, 7, 1048578, 65529, 7, 655363, 65530, 7, 655363, 65531, 7, 537526275, 65532, 7, 655363, 65533, 7, 537526275, 65534, 7, 1074397187, 65535, 7, 537526275, 0, 65528, 1073741827, 1, 65528, 536870915, 2, 65528, 1073741827, 3, 65528, 3, 4, 65528, 3, 5, 65528, 3, 6, 65528, 3, 7, 65528, 1441794, 65528, 65528, 2, 65529, 65528, 3, 65530, 65528, 3, 65531, 65528, 3, 65532, 65528, 3, 65533, 65528, 3, 65534, 65528, 3, 65535, 65528, 3, 7, 65529, 1441795, 65528, 65529, 1048579, 7, 65530, 1441795, 65528, 65530, 1048579, 7, 65531, 1441795, 65528, 65531, 1048579, 7, 65532, 1441795, 65528, 65532, 1048579, 7, 65533, 1441795, 65528, 65533, 1048579, 7, 65534, 1441795, 65528, 65534, 1048579, 7, 65535, 1441795, 65528, 65535, 1048579 ) +} +_sections_unfolded = [ "Cell", "Transform" ] +__meta__ = { +"_editor_clip_": 0, +"_editor_floor_": Vector3( 0, 0, 0 ) +} + +[node name="Ground" type="GridMap" parent="." index="2"] + +theme = ExtResource( 3 ) +cell_size = Vector3( 2, 4, 2 ) +cell_octant_size = 8 +cell_center_x = true +cell_center_y = true +cell_center_z = true +cell_scale = 1.0 +collision_layer = 1 +collision_mask = 1 +data = { +"cells": PoolIntArray( 0, 0, 655360, 1, 0, 1074397184, 2, 0, 655360, 3, 0, 1074397184, 4, 0, 1074397184, 5, 0, 1074397184, 6, 0, -1609957376, 7, 0, -1609957376, 65528, 0, 1074397184, 65529, 0, 655360, 65530, 0, 1074397184, 65531, 0, 1074397184, 65532, 0, 537526272, 65533, 0, 655360, 65534, 0, -1609957376, 65535, 0, 1074397184, 0, 1, 1074397184, 1, 1, 1074397184, 2, 1, -1609957376, 3, 1, 1074397184, 4, 1, -1609957376, 5, 1, 1074397184, 6, 1, 1074397184, 7, 1, 1074397184, 65528, 1, 1074397184, 65529, 1, 655360, 65530, 1, 655360, 65531, 1, 1074397184, 65532, 1, 537526272, 65533, 1, 1074397184, 65534, 1, 1074397184, 65535, 1, 1074397184, 0, 2, 1074397184, 1, 2, 1074397184, 2, 2, 655360, 3, 2, 655360, 4, 2, 655360, 5, 2, 655360, 6, 2, 655360, 7, 2, 655360, 65528, 2, -1609957376, 65529, 2, 655360, 65530, 2, -1609957376, 65531, 2, 1074397184, 65532, 2, -1609957376, 65533, 2, 655360, 65534, 2, 655360, 65535, 2, 655360, 0, 3, 655360, 1, 3, 655360, 2, 3, 1074397184, 3, 3, 655360, 4, 3, 655360, 5, 3, 655360, 6, 3, 537526272, 7, 3, 655360, 65528, 3, 1074397184, 65529, 3, 655360, 65530, 3, -1609957376, 65531, 3, 655360, 65532, 3, 655360, 65533, 3, -1609957376, 65534, 3, 655360, 65535, 3, 655360, 0, 4, 655360, 1, 4, 655360, 2, 4, 655360, 3, 4, 655360, 4, 4, -1609957376, 5, 4, 655360, 6, 4, 655360, 7, 4, 655360, 65528, 4, 655360, 65529, 4, 655360, 65530, 4, 655360, 65531, 4, 655360, 65532, 4, 655360, 65533, 4, 655360, 65534, 4, 655360, 65535, 4, 655360, 0, 5, 655360, 1, 5, -1609957376, 2, 5, 655360, 3, 5, 655360, 4, 5, 655360, 5, 5, 655360, 6, 5, 655360, 7, 5, 655360, 65528, 5, 655360, 65529, 5, 655360, 65530, 5, 655360, 65531, 5, 655360, 65532, 5, 655360, 65533, 5, 655360, 65534, 5, 655360, 65535, 5, 655360, 0, 6, -1609957376, 1, 6, 655360, 2, 6, 655360, 3, 6, 655360, 4, 6, 655360, 5, 6, 655360, 6, 6, 655360, 7, 6, 655360, 65528, 6, 655360, 65529, 6, 655360, 65530, 6, 655360, 65531, 6, 655360, 65532, 6, 1074397184, 65533, 6, 655360, 65534, 6, 655360, 65535, 6, -1609957376, 0, 7, -1609957376, 1, 7, 655360, 2, 7, 655360, 3, 7, -1609957376, 4, 7, 655360, 5, 7, 655360, 6, 7, 655360, 7, 7, -1609957376, 65528, 7, -1609957376, 65529, 7, 655360, 65530, 7, -1609957376, 65531, 7, 655360, 65532, 7, 655360, 65533, 7, 537526272, 65534, 7, -1609957376, 65535, 7, 1074397184, 0, 65528, 655360, 1, 65528, -1609957376, 2, 65528, 655360, 3, 65528, 1074397184, 4, 65528, 655360, 5, 65528, 655360, 6, 65528, -1609957376, 7, 65528, 655360, 65528, 65528, -1609957376, 65529, 65528, 655360, 65530, 65528, -1609957376, 65531, 65528, 655360, 65532, 65528, -1609957376, 65533, 65528, 1074397184, 65534, 65528, 537526272, 65535, 65528, 1074397184, 0, 65529, 655360, 1, 65529, 1074397184, 2, 65529, 1074397184, 3, 65529, 1074397184, 4, 65529, 655360, 5, 65529, 1074397184, 6, 65529, 1074397184, 7, 65529, 655360, 65528, 65529, 655360, 65529, 65529, 655360, 65530, 65529, 655360, 65531, 65529, 655360, 65532, 65529, 655360, 65533, 65529, 1074397184, 65534, 65529, 655360, 65535, 65529, 1074397184, 0, 65530, 537526272, 1, 65530, 655360, 2, 65530, 655360, 3, 65530, -1609957376, 4, 65530, 655360, 5, 65530, 655360, 6, 65530, 655360, 7, 65530, 655360, 65528, 65530, 655360, 65529, 65530, 1074397184, 65530, 65530, 1074397184, 65531, 65530, 655360, 65532, 65530, 655360, 65533, 65530, 655360, 65534, 65530, 655360, 65535, 65530, 655360, 0, 65531, 655360, 1, 65531, 655360, 2, 65531, 1074397184, 3, 65531, 1074397184, 4, 65531, 655360, 5, 65531, 655360, 6, 65531, 1074397184, 7, 65531, 1074397184, 65528, 65531, 655360, 65529, 65531, 655360, 65530, 65531, 1074397184, 65531, 65531, 1074397184, 65532, 65531, 655360, 65533, 65531, 1074397184, 65534, 65531, 655360, 65535, 65531, 1074397184, 0, 65532, 655360, 1, 65532, 655360, 2, 65532, 655360, 3, 65532, 655360, 4, 65532, 655360, 5, 65532, 655360, 6, 65532, 655360, 7, 65532, 655360, 65528, 65532, 655360, 65529, 65532, 655360, 65530, 65532, 655360, 65531, 65532, 655360, 65532, 65532, 537526272, 65533, 65532, 655360, 65534, 65532, 655360, 65535, 65532, 655360, 0, 65533, 655360, 1, 65533, 655360, 2, 65533, 655360, 3, 65533, 655360, 4, 65533, 655360, 5, 65533, 655360, 6, 65533, 655360, 7, 65533, 655360, 65528, 65533, 655360, 65529, 65533, 655360, 65530, 65533, 655360, 65531, 65533, 655360, 65532, 65533, 537526272, 65533, 65533, 655360, 65534, 65533, 655360, 65535, 65533, 655360, 0, 65534, 655360, 1, 65534, 655360, 2, 65534, 655360, 3, 65534, 655360, 4, 65534, 655360, 5, 65534, 655360, 6, 65534, 655360, 7, 65534, 655360, 65528, 65534, 655360, 65529, 65534, 655360, 65530, 65534, 655360, 65531, 65534, 655360, 65532, 65534, 655360, 65533, 65534, 655360, 65534, 65534, 655360, 65535, 65534, 655360, 0, 65535, 655360, 1, 65535, 655360, 2, 65535, 655360, 3, 65535, 655360, 4, 65535, 655360, 5, 65535, 655360, 6, 65535, 655360, 7, 65535, 655360, 65528, 65535, 655360, 65529, 65535, 655360, 65530, 65535, 655360, 65531, 65535, 655360, 65532, 65535, 655360, 65533, 65535, 655360, 65534, 65535, 655360, 65535, 65535, 655360 ) +} +_sections_unfolded = [ "Cell" ] +__meta__ = { +"_editor_clip_": 0 +} + + diff --git a/scenes/Game/Terrain/gridmaps/ceilling.escn b/scenes/Game/Terrain/gridmaps/ceilling.escn new file mode 100644 index 0000000..8a83b62 --- /dev/null +++ b/scenes/Game/Terrain/gridmaps/ceilling.escn @@ -0,0 +1,27 @@ +[gd_scene load_steps=1 format=2] + +[sub_resource id=1 type="ArrayMesh"] + +surfaces/0 = { + "primitive":4, + "arrays":[ + Vector3Array(1.0, 4.0, -1.0, -1.0, 4.0, 1.0, -1.0, 4.0, -1.0, 1.0, 4.0, 1.0), + Vector3Array(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0), + null, ; No Tangents, + null, ; no Vertex Colors, + null, ; No UV1, + null, ; No UV2, + null, ; No Bones, + null, ; No Weights, + IntArray(0, 2, 1, 0, 1, 3) + ], + "morph_arrays":[] +} +[node type="Spatial" name="Scene"] + + +[node name="Plane" type="MeshInstance" parent="."] + +mesh = SubResource(1) +visible = true +transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) diff --git a/scenes/Game/Terrain/gridmaps/ceilling.meshlib b/scenes/Game/Terrain/gridmaps/ceilling.meshlib new file mode 100644 index 0000000000000000000000000000000000000000..01068c22743c671a80e1efc7d116fd936ce9ef72 GIT binary patch literal 34277 zcmeIx%W4!s6b9gv#27W+-G~caxCt)oXvBaBiHV>Ag)qs!shO$F6!vAT>KQX`96{eo z@Ev>sU&ZrRcPE3lg^tovagqy~MyV%B@<28hV}s1sK9ujxxy{#Z$m27=_I)JZKGn64G|{8bQ6qmy zUMP8TXuUVCNCw{ZRXrp<>$1!hgZo%#=DM=``E=B0+IfmQB3J-oO=F?%AebH-`_lu$ zTN>vzkjIf3jF`qVxueB(4S6ch<%_;QYW|DnpU&mmdh}`PG1MiEiS?B|PJ888?+n(} zaKyQAhw8ap(brxlGvfF}7UL!sbW0d59%<}$Iv8#Y9<+mf?nSUNpd&BwbTQupLW8N^OITA!h`}8 zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFDDa;PT+;pTUD$82Ftbr7B?`Nj4az%6PC<~gus&QKb hqqgor^LvQmk&G zMf)CofIdP1ud>ez^j&%mM`H<&rjaL_8D0*JV{*vDbNPO%ebhc=v$3@>--Pu`kqlnQ zPR!#;?oxXG25#O5i$xNR;;!)gsLOpXjl85QLcwk?o`pOR3~%_dKS%>U^b+}p@CGtW z**)0q_#*6i$$$@q7eqb5u-fh@Nu$8yywhPf;5!+`$Gj_&);7C}pWRpvQ?(pM5GY}n zVYkOq&aS}X*ysI(eT9x`6!U&oksl?=#CtR1zDy^|PX>5~SFt3OSf(OqZMRg>Sjg-< z0D7ve*|#b;VRz;pAs;KJg{@&M#!|cmAEuIAhgp$&(rW$8e%Vw9Y;pGy`*)_>;_eQ6 zeCbo)$L!;u+3q8lKnjSe@F%TjfV}lu#4(p)s~^iAP)}eHjl$kfSfwvJ?BK6?%mZ+p z;0s}x9_=C6M&`gUIkr_a5a739*T8U%f^m%KDMh}6&uuWat8ACOgZaI(`Fa;laUXr& zXKM^~3v4XnRGfHSs6JJ7&0wfp_=2)rGVFoZSw<9(u}#&)2DF6Hl%UFO9t__L4m?Nb z!&n9~m1FTqDtvgyQ5^8Bimi7UAH0aB-fD(vdJ5k#rl&tLw*SwEAAZFdo$!~D{4RWv zMq&24AD|-)JU#z&P|f5H_!Bye!m&7c75S5X6dvJEM)il4eGis_neM?72F~+J7S_0* z`r*CC19Vi<6@Pz|UG3P+wPkQOm3>13evuHnidhi?fkJVL7 z638JwN)RX;dBQXO*mQP66A>T+M1Tko0U|&IhyW2F0z`la5CI}U1c(3;AOb|d0s?5U3K5UmYptnRb9*aISp6i=F93?_MXNloG7iV zZdKiL0=foGR;Ay%;%b1%$`aP4PhD}W6rskZ>e8vMJT;;-I#peIG?m9_aVjXjDIIjl zTLDrdLh8a_mpY6P?F)+3g|jJjd;w~$uA0JI*E+Ql^8&@_%G1=kE`YufS5vu~T6ZHN zFG*@DKU?ZvB1xrNws5nxkE+DCm6xr3t?M1w%Ey(yF8U5!;o@qaMeo5?9z{wS%EOhubDdY6UEyMDpR4NpIX_$Z*xJ|U^elUBD=%C6DywVRd$w>hwU4s8 zt^1y-{7kKT-TJLNo~c}Qt$W@2)D=%xo~G1QmrhmZF@?7-bylrM)A4oTtV(Nwx zUHCUuM^oH&&D)d?b>-ESyKZ&WrAJ+PbmMDUJ$31{t~{pkHKpEl=~Go4Q#hJlXI1)@ zjcYnj)9Wv*TiJW2^Rl)6vU;w1&sJ`>_O+_6MSiw&ajmZ+eT(*8>Y5wM@YEokw1!29C0I7vsbU{_${8rVay zt6(^;gW-2RZouLa*v`(*-g)1fuzw$H6Ko3%6X1QurccrE{G~_+FJvd?@q}H5@7rKF zWA0Zz4+Xmet31jEtnY$70K=&HKCbV9LDW4po&Ed&Z@hysaC{Ax$HR`=NA1J^0Q8Kz AfB*mh literal 0 HcmV?d00001 diff --git a/scenes/Game/Terrain/gridmaps/wall.escn b/scenes/Game/Terrain/gridmaps/wall.escn new file mode 100644 index 0000000..c0cab42 --- /dev/null +++ b/scenes/Game/Terrain/gridmaps/wall.escn @@ -0,0 +1,71 @@ +[gd_scene load_steps=1 format=2] + +[sub_resource id=1 type="ArrayMesh"] + +surfaces/0 = { + "primitive":4, + "arrays":[ + Vector3Array(1.0, 0.0, -1.0, -1.0, 2.0, -1.0, -1.0, 0.0, -1.0, 1.0, 2.0, -1.0, -1.0, 4.0, -1.0, -1.0, 2.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.0, -1.0, -1.0, 4.0, -1.0, -1.0, 2.0, 1.0, 1.0, 4.0, -1.0, -1.0, 4.0, 1.0), + Vector3Array(0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0), + null, ; No Tangents, + null, ; no Vertex Colors, + null, ; No UV1, + null, ; No UV2, + null, ; No Bones, + null, ; No Weights, + IntArray(0, 2, 1, 3, 1, 4, 5, 7, 6, 8, 5, 9, 0, 1, 3, 3, 4, 10, 5, 6, 9, 8, 9, 11) + ], + "morph_arrays":[] +} + +[sub_resource id=2 type="ArrayMesh"] + +surfaces/0 = { + "primitive":4, + "arrays":[ + Vector3Array(1.0, 0.0, -1.0, -1.0, 2.0, -1.0, -1.0, 0.0, -1.0, 1.0, 2.0, -1.0, -1.0, 4.0, -1.0, 1.0, 4.0, -1.0), + Vector3Array(0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0), + null, ; No Tangents, + null, ; no Vertex Colors, + null, ; No UV1, + null, ; No UV2, + null, ; No Bones, + null, ; No Weights, + IntArray(0, 2, 1, 3, 1, 4, 0, 1, 3, 3, 4, 5) + ], + "morph_arrays":[] +} +[node type="Spatial" name="Scene"] + + +[node name="Plane001" type="MeshInstance" parent="."] + +mesh = SubResource(1) +visible = true +transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0) + +[node name="Plane" type="MeshInstance" parent="."] + +mesh = SubResource(2) +visible = true +transform = Transform(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) + +[node name="Lamp" type="OmniLight" parent="."] + +light_specular = 1.0 +light_energy = 1.0 +light_color = Color(1.0, 1.0, 1.0, 1.0) +shadow_color = Color(0.0, 0.0, 0.0, 1.0) +omni_range = 30.0 +transform = Transform(-0.290865, -0.771101, 0.566393, -0.0551891, 0.604525, 0.794672, -0.955171, 0.199883, -0.218391, 4.07625, 5.90386, -1.00545) +shadow_enabled = true +light_negative = false + +[node name="Camera" type="Camera" parent="."] + +far = 100.0 +near = 0.1 +size = 7.31429 +projection = 0 +fov = 49.1343 +transform = Transform(0.685921, -0.324014, 0.651558, 0.0, 0.895396, 0.445271, -0.727676, -0.305421, 0.61417, 7.48113, 5.34367, 6.50764) diff --git a/scenes/Game/Terrain/gridmaps/wall.meshlib b/scenes/Game/Terrain/gridmaps/wall.meshlib new file mode 100644 index 0000000000000000000000000000000000000000..62b669ee1b458fec2544067f95306317638248cb GIT binary patch literal 136253 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