commit ec6facd4fc8abcfd92a409b557dd48204b96a192 Author: Mark Hoekveen Date: Sat Mar 30 23:01:14 2024 +0100 initial commit 4.2 diff --git a/Clouds.gd b/Clouds.gd new file mode 100644 index 0000000..5d3c2db --- /dev/null +++ b/Clouds.gd @@ -0,0 +1,16 @@ +extends TextureRect + +# Called when the node enters the scene tree for the first time. +func _ready(): + await texture.changed + var image = texture.get_image() + print(image.detect_alpha()) + image.fill(Color(1, 0, 1, 0.5)) + print(image.detect_alpha()) + print(image.get_format()) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + texture.noise_offset.x += 25*delta + texture.noise_offset.y -= 5*delta + pass diff --git a/Control.gd b/Control.gd new file mode 100644 index 0000000..c4f30d2 --- /dev/null +++ b/Control.gd @@ -0,0 +1,11 @@ +extends Control + +func _on_button_pressed(): + Globals.is_server = true + get_tree().change_scene_to_file("res://node_3d.tscn") + + +func _on_button_2_pressed(): + Globals.is_server = false + Globals.server_ip = get_node("MarginContainer/ServerIp").text + get_tree().change_scene_to_file("res://node_3d.tscn") diff --git a/GameLogic.gd b/GameLogic.gd new file mode 100644 index 0000000..a90ff23 --- /dev/null +++ b/GameLogic.gd @@ -0,0 +1,48 @@ +extends Node + +const PlayerScene = preload("res://Player.tscn") +var rng = RandomNumberGenerator.new() +func _ready(): + $MultiplayerSpawner.add_spawnable_scene("res://Player.tscn") + print($MultiplayerSpawner.get_spawnable_scene(0)) + # Start the server if Godot is passed the "--server" argument, + # and start a client otherwise. + if Globals.is_server: + start_network(true) + else: + start_network(false) + + +func start_network(server: bool): + var peer = ENetMultiplayerPeer.new() + if server: + multiplayer.peer_connected.connect(self.create_player) + multiplayer.peer_disconnected.connect(self.destroy_player) + + peer.create_server(4242) + print('server listening on localhost 4242') + else: + multiplayer.connected_to_server.connect(self.connected_to_server) + peer.create_client(Globals.server_ip, 4242) + + multiplayer.set_multiplayer_peer(peer) + +func create_player(id): + #pass + # Instantiate a new player for this client. + var p = PlayerScene.instantiate() + #var p = Node3D.new() + + # Set the name, so players can figure out their local authority + p.name = str(1) + print(str(id) + ' just connected') + + $NetworkedNodes.add_child(p) + +func destroy_player(id): + pass + # Delete this peer's node. + #$NetworkedNodes.get_node(str(id)).queue_free() + +func connected_to_server(): + $Pole/Camera3D.queue_free() diff --git a/HDheist.pck b/HDheist.pck new file mode 100644 index 0000000..a373cbd Binary files /dev/null and b/HDheist.pck differ diff --git a/MenuBackground.gd b/MenuBackground.gd new file mode 100644 index 0000000..4c2c175 --- /dev/null +++ b/MenuBackground.gd @@ -0,0 +1,14 @@ +extends TextureRect + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass + #var texture = NoiseTexture.new() + #texture.noise = OpenSimplexNoise.new() + #await texture.changed + #var image = texture.get_image() + #var data = image.get_data() + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass diff --git a/Player.gd b/Player.gd new file mode 100644 index 0000000..592d576 --- /dev/null +++ b/Player.gd @@ -0,0 +1,63 @@ +extends CharacterBody3D + +const SPEED = 5.0 +const JUMP_VELOCITY = 4.5 + +var synced_position := Vector3.ZERO +var synced_rotation := Vector3.ZERO + +# Get the gravity from the project settings to be synced with RigidDynamicBody nodes. +var gravity = ProjectSettings.get_setting("physics/3d/default_gravity") + +var has_control = false + +func _ready(): + has_control = name == str(multiplayer.get_unique_id()) + print( 'I am ' + str(multiplayer.get_unique_id())) + print( 'or ' + str(multiplayer.get_remote_sender_id())) + has_control = !Globals.is_server + if Globals.is_server == false && has_control: + print ( 'Taking control!') + get_node("Camera3D").current = true + +func _physics_process(delta): + if not has_control: + position = synced_position + rotation = synced_rotation + return + # Add the gravity. + if not is_on_floor(): + velocity.y -= gravity * delta + + # Handle Jump. + if Input.is_action_just_pressed("ui_accept") and is_on_floor(): + velocity.y = JUMP_VELOCITY + + # Get the input direction and handle the movement/deceleration. + # As good practice, you should replace UI actions with custom gameplay actions. + var input_dir = Input.get_vector("strafe_left", "strafe_right", "move_forward", "move_backward") + var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() + if direction: + velocity.x = direction.x * SPEED + velocity.z = direction.z * SPEED + else: + velocity.x = move_toward(velocity.x, 0, SPEED) + velocity.z = move_toward(velocity.z, 0, SPEED) + move_and_slide() + + if Input.is_action_pressed("look_left"): + rotation.y += 0.02 + if Input.is_action_pressed("look_right"): + rotation.y -= 0.02 + rpc_id(1, StringName('update_server'), position, rotation) + #update_server(position, rotation).rpc() + +@rpc("any_peer", "call_remote", "unreliable_ordered") +func update_server(pos: Vector3, rot: Vector3): + if not multiplayer.is_server(): + return + #if name != str(multiplayer.get_remote_sender_id()): + ##print ("foei?") + #return + synced_position = pos + synced_rotation = rot diff --git a/Player.tscn b/Player.tscn new file mode 100644 index 0000000..6609112 --- /dev/null +++ b/Player.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=6 format=3 uid="uid://cxxxguab8btnm"] + +[ext_resource type="Script" path="res://Player.gd" id="1_va1f4"] + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jywl0"] + +[sub_resource type="CapsuleMesh" id="CapsuleMesh_7voq6"] + +[sub_resource type="PrismMesh" id="PrismMesh_v72wx"] +size = Vector3(0.66, 0.5, 0.5) + +[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_xlkje"] +properties/0/path = NodePath("..:position") +properties/0/spawn = true +properties/0/replication_mode = 1 + +[node name="CharacterBody3D" type="CharacterBody3D"] +input_ray_pickable = false +script = ExtResource("1_va1f4") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("CapsuleShape3D_jywl0") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"] +mesh = SubResource("CapsuleMesh_7voq6") + +[node name="MeshInstance3D2" type="MeshInstance3D" parent="CollisionShape3D/MeshInstance3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.690861, -0.370152) +mesh = SubResource("PrismMesh_v72wx") +skeleton = NodePath("../..") + +[node name="Camera3D" type="Camera3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.9682, 0.250177, 0, -0.250177, 0.9682, 0, 1.90604, 2.54868) +cull_mask = 1048573 + +[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."] +root_path = NodePath("../CollisionShape3D") +replication_interval = 1.0 +delta_interval = 1.0 +replication_config = SubResource("SceneReplicationConfig_xlkje") diff --git a/ambient.wav b/ambient.wav new file mode 100644 index 0000000..856a610 Binary files /dev/null and b/ambient.wav differ diff --git a/ambient.wav.import b/ambient.wav.import new file mode 100644 index 0000000..90deca9 --- /dev/null +++ b/ambient.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://dg48i2jldqlsj" +path="res://.godot/imported/ambient.wav-2018c2193d0c6844e65bf0e62b17abbe.sample" + +[deps] + +source_file="res://ambient.wav" +dest_files=["res://.godot/imported/ambient.wav-2018c2193d0c6844e65bf0e62b17abbe.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/control.tscn b/control.tscn new file mode 100644 index 0000000..fda24f3 --- /dev/null +++ b/control.tscn @@ -0,0 +1,48 @@ +[gd_scene load_steps=2 format=3 uid="uid://1t0g0w550twn"] + +[ext_resource type="Script" path="res://Control.gd" id="1_yrh3j"] + +[node name="Control" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +script = ExtResource("1_yrh3j") + +[node name="VFlowContainer" type="VFlowContainer" parent="."] +layout_mode = 0 +anchor_left = 0.5 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -29.0 +offset_top = 216.0 +offset_right = 29.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Button" type="Button" parent="VFlowContainer"] +layout_mode = 2 +text = "Server" + +[node name="Button2" type="Button" parent="VFlowContainer"] +layout_mode = 2 +text = "Client" + +[node name="MarginContainer" type="MarginContainer" parent="."] +layout_mode = 0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -31.0 +grow_horizontal = 2 +grow_vertical = 0 + +[node name="ServerIp" type="LineEdit" parent="MarginContainer"] +layout_mode = 2 +text = "localhost" +placeholder_text = "server ip" + +[connection signal="pressed" from="VFlowContainer/Button" to="." method="_on_button_pressed"] +[connection signal="pressed" from="VFlowContainer/Button2" to="." method="_on_button_2_pressed"] diff --git a/default_bus_layout.tres b/default_bus_layout.tres new file mode 100644 index 0000000..fd5e0c9 --- /dev/null +++ b/default_bus_layout.tres @@ -0,0 +1,16 @@ +[gd_resource type="AudioBusLayout" format=3 uid="uid://g3oly0umcvrr"] + +[resource] +bus/0/mute = true +bus/1/name = &"Bass" +bus/1/solo = false +bus/1/mute = false +bus/1/bypass_fx = false +bus/1/volume_db = 0.0 +bus/1/send = &"" +bus/2/name = &"Beat" +bus/2/solo = false +bus/2/mute = false +bus/2/bypass_fx = false +bus/2/volume_db = 0.0 +bus/2/send = &"" diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..909fe64 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,28 @@ +[preset.0] + +name="Linux/X11" +platform="Linux/X11" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="./HDheist.x86_64" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false +script_export_mode=1 +script_encryption_key="" + +[preset.0.options] + +custom_template/debug="" +custom_template/release="/home/mark/workspace/repos/godot/bin/godot.linuxbsd.opt.64" +binary_format/64_bits=true +binary_format/embed_pck=false +texture_format/bptc=false +texture_format/s3tc=false +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true diff --git a/globals.gd b/globals.gd new file mode 100644 index 0000000..3b717db --- /dev/null +++ b/globals.gd @@ -0,0 +1,4 @@ +extends Node + +var is_server = false +var server_ip = "" diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..836bc8b Binary files /dev/null and b/icon.png differ diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..2dbbefe --- /dev/null +++ b/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture2D" +uid="uid://gq3nlc7buqyp" +path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.stex"] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=0 +compress/channel_pack=0 +compress/streamed=false +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/music/cycles/cycles_stems-001.wav b/music/cycles/cycles_stems-001.wav new file mode 100644 index 0000000..525d10d Binary files /dev/null and b/music/cycles/cycles_stems-001.wav differ diff --git a/music/cycles/cycles_stems-001.wav.import b/music/cycles/cycles_stems-001.wav.import new file mode 100644 index 0000000..4b96bb6 --- /dev/null +++ b/music/cycles/cycles_stems-001.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://djeegnrqodx4" +path="res://.godot/imported/cycles_stems-001.wav-f01af6e2df77e644ab7bef6a06d6320a.sample" + +[deps] + +source_file="res://music/cycles/cycles_stems-001.wav" +dest_files=["res://.godot/imported/cycles_stems-001.wav-f01af6e2df77e644ab7bef6a06d6320a.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/music/cycles/cycles_stems-002.wav b/music/cycles/cycles_stems-002.wav new file mode 100644 index 0000000..18f0d7f Binary files /dev/null and b/music/cycles/cycles_stems-002.wav differ diff --git a/music/cycles/cycles_stems-002.wav.import b/music/cycles/cycles_stems-002.wav.import new file mode 100644 index 0000000..24a3776 --- /dev/null +++ b/music/cycles/cycles_stems-002.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://4nyqp8oh8gii" +path="res://.godot/imported/cycles_stems-002.wav-957bd12d59f3bc53e08559be9f4b0b1b.sample" + +[deps] + +source_file="res://music/cycles/cycles_stems-002.wav" +dest_files=["res://.godot/imported/cycles_stems-002.wav-957bd12d59f3bc53e08559be9f4b0b1b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/music/cycles/cycles_stems-003.wav b/music/cycles/cycles_stems-003.wav new file mode 100644 index 0000000..f0cd870 Binary files /dev/null and b/music/cycles/cycles_stems-003.wav differ diff --git a/music/cycles/cycles_stems-003.wav.import b/music/cycles/cycles_stems-003.wav.import new file mode 100644 index 0000000..84ecf3b --- /dev/null +++ b/music/cycles/cycles_stems-003.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://nmem3ajdweey" +path="res://.godot/imported/cycles_stems-003.wav-4ed8af3efe4f020cdebc08518aa8882f.sample" + +[deps] + +source_file="res://music/cycles/cycles_stems-003.wav" +dest_files=["res://.godot/imported/cycles_stems-003.wav-4ed8af3efe4f020cdebc08518aa8882f.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/music/cycles/cycles_stems-004.wav b/music/cycles/cycles_stems-004.wav new file mode 100644 index 0000000..d5aeec8 Binary files /dev/null and b/music/cycles/cycles_stems-004.wav differ diff --git a/music/cycles/cycles_stems-004.wav.import b/music/cycles/cycles_stems-004.wav.import new file mode 100644 index 0000000..4c25dd1 --- /dev/null +++ b/music/cycles/cycles_stems-004.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://bvufvh173a43l" +path="res://.godot/imported/cycles_stems-004.wav-06732b54edc160fa73083b8d1d291991.sample" + +[deps] + +source_file="res://music/cycles/cycles_stems-004.wav" +dest_files=["res://.godot/imported/cycles_stems-004.wav-06732b54edc160fa73083b8d1d291991.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/music/cycles/cycles_stems-005.wav b/music/cycles/cycles_stems-005.wav new file mode 100644 index 0000000..a28344a Binary files /dev/null and b/music/cycles/cycles_stems-005.wav differ diff --git a/music/cycles/cycles_stems-005.wav.import b/music/cycles/cycles_stems-005.wav.import new file mode 100644 index 0000000..4de7d54 --- /dev/null +++ b/music/cycles/cycles_stems-005.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://c3ka0yftm4hvu" +path="res://.godot/imported/cycles_stems-005.wav-9be9f2dc64923e96f3341687707e192b.sample" + +[deps] + +source_file="res://music/cycles/cycles_stems-005.wav" +dest_files=["res://.godot/imported/cycles_stems-005.wav-9be9f2dc64923e96f3341687707e192b.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/music/cycles/cycles_stems-006.wav b/music/cycles/cycles_stems-006.wav new file mode 100644 index 0000000..f4244f9 Binary files /dev/null and b/music/cycles/cycles_stems-006.wav differ diff --git a/music/cycles/cycles_stems-006.wav.import b/music/cycles/cycles_stems-006.wav.import new file mode 100644 index 0000000..a7fbba5 --- /dev/null +++ b/music/cycles/cycles_stems-006.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://jryfb5icmf1e" +path="res://.godot/imported/cycles_stems-006.wav-e62b6413161e1653ff84aa99f53042a6.sample" + +[deps] + +source_file="res://music/cycles/cycles_stems-006.wav" +dest_files=["res://.godot/imported/cycles_stems-006.wav-e62b6413161e1653ff84aa99f53042a6.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/music/cycles/cycles_stems-007.wav b/music/cycles/cycles_stems-007.wav new file mode 100644 index 0000000..8a9cef9 Binary files /dev/null and b/music/cycles/cycles_stems-007.wav differ diff --git a/music/cycles/cycles_stems-007.wav.import b/music/cycles/cycles_stems-007.wav.import new file mode 100644 index 0000000..9457533 --- /dev/null +++ b/music/cycles/cycles_stems-007.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://dkygu4qd1pcym" +path="res://.godot/imported/cycles_stems-007.wav-ab4d5749b34d50206ba412a0a13f77d8.sample" + +[deps] + +source_file="res://music/cycles/cycles_stems-007.wav" +dest_files=["res://.godot/imported/cycles_stems-007.wav-ab4d5749b34d50206ba412a0a13f77d8.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/music/cycles/cycles_stems-008.wav b/music/cycles/cycles_stems-008.wav new file mode 100644 index 0000000..67ec39a Binary files /dev/null and b/music/cycles/cycles_stems-008.wav differ diff --git a/music/cycles/cycles_stems-008.wav.import b/music/cycles/cycles_stems-008.wav.import new file mode 100644 index 0000000..27eda73 --- /dev/null +++ b/music/cycles/cycles_stems-008.wav.import @@ -0,0 +1,22 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +uid="uid://b6nv3gk5vc316" +path="res://.godot/imported/cycles_stems-008.wav-8914eff3e2590c7038ba016b6c33e8a8.sample" + +[deps] + +source_file="res://music/cycles/cycles_stems-008.wav" +dest_files=["res://.godot/imported/cycles_stems-008.wav-8914eff3e2590c7038ba016b6c33e8a8.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/newmenu.gdshader b/newmenu.gdshader new file mode 100644 index 0000000..1bd0eed --- /dev/null +++ b/newmenu.gdshader @@ -0,0 +1,6 @@ +shader_type canvas_item; + +void fragment() { + COLOR = vec4(1, 0, 1, 1); + // Place fragment code here. +} diff --git a/newmenu.tscn b/newmenu.tscn new file mode 100644 index 0000000..c357612 --- /dev/null +++ b/newmenu.tscn @@ -0,0 +1,58 @@ +[gd_scene load_steps=7 format=3 uid="uid://d1g5ngawg2cii"] + +[ext_resource type="Shader" path="res://newmenu.gdshader" id="1_7l1by"] +[ext_resource type="Script" path="res://MenuBackground.gd" id="1_uc23c"] +[ext_resource type="Script" path="res://Clouds.gd" id="1_yjx8d"] + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_8w316"] +shader = ExtResource( "1_7l1by" ) + +[sub_resource type="OpenSimplexNoise" id="OpenSimplexNoise_g52tw"] +octaves = 2 +period = 61.5 + +[sub_resource type="NoiseTexture" id="NoiseTexture_eqs1f"] +noise = SubResource( "OpenSimplexNoise_g52tw" ) +noise_offset = Vector2(200, 0) + +[node name="Control" type="Control"] +material = SubResource( "ShaderMaterial_8w316" ) +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +__meta__ = { +"_edit_use_anchors_": false, +"_edit_use_custom_anchors": false +} + +[node name="GridContainer" type="GridContainer" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +__meta__ = { +"_edit_layout_mode": 1, +"_edit_use_anchors_": false, +"_edit_use_custom_anchors": false +} + +[node name="TextureRect" type="TextureRect" parent="GridContainer"] +offset_right = 1024.0 +offset_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( "1_uc23c" ) + +[node name="Clouds" type="TextureRect" parent="."] +visible = false +offset_top = 88.0 +offset_right = 1024.0 +offset_bottom = 600.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = SubResource( "NoiseTexture_eqs1f" ) +script = ExtResource( "1_yjx8d" ) +__meta__ = { +"_edit_use_anchors_": false +} diff --git a/node_3d.tscn b/node_3d.tscn new file mode 100644 index 0000000..14a11ec --- /dev/null +++ b/node_3d.tscn @@ -0,0 +1,425 @@ +[gd_scene load_steps=18 format=3 uid="uid://dh63aggy3a08x"] + +[ext_resource type="Script" path="res://GameLogic.gd" id="1_0vmht"] +[ext_resource type="AudioStream" uid="uid://nmem3ajdweey" path="res://music/cycles/cycles_stems-003.wav" id="3_5ndbl"] +[ext_resource type="AudioStream" uid="uid://c3ka0yftm4hvu" path="res://music/cycles/cycles_stems-005.wav" id="4_ht4c1"] + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_hllgj"] +sky_top_color = Color(0.054902, 0.0627451, 0.0784314, 1) +sky_horizon_color = Color(0.0823529, 0.0588235, 0.0431373, 1) +ground_bottom_color = Color(0.0313726, 0.027451, 0.0196078, 1) +ground_horizon_color = Color(0.0784314, 0.054902, 0.0392157, 1) + +[sub_resource type="Sky" id="Sky_rin5s"] +sky_material = SubResource("ProceduralSkyMaterial_hllgj") + +[sub_resource type="Environment" id="Environment_eo1rv"] +background_mode = 2 +sky = SubResource("Sky_rin5s") +glow_enabled = true + +[sub_resource type="FastNoiseLite" id="OpenSimplexNoise_37ngu"] + +[sub_resource type="NoiseTexture2D" id="NoiseTexture_qxk8p"] +width = 1024 +height = 1024 +seamless = true +as_normal_map = true +noise = SubResource("OpenSimplexNoise_37ngu") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2ho13"] +albedo_color = Color(0.278431, 0.266667, 0.223529, 1) +normal_enabled = true +normal_scale = 0.25 +normal_texture = SubResource("NoiseTexture_qxk8p") + +[sub_resource type="PlaneMesh" id="PlaneMesh_4f4w7"] +material = SubResource("StandardMaterial3D_2ho13") +size = Vector2(42, 42) + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_fs1ki"] +data = PackedVector3Array(21, 0, 21, -21, 0, 21, 21, 0, -21, -21, 0, 21, -21, 0, -21, 21, 0, -21) + +[sub_resource type="CylinderMesh" id="CylinderMesh_lvw42"] +top_radius = 0.2 +bottom_radius = 0.2 +height = 10.0 + +[sub_resource type="Gradient" id="Gradient_i4ik8"] +offsets = PackedFloat32Array(0, 0.0121212, 1) +colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1, 0.18639, 0.890909, 0, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_7n01c"] +gradient = SubResource("Gradient_i4ik8") + +[sub_resource type="Environment" id="Environment_7oc1w"] +background_color = Color(0, 0.0627451, 0, 1) +tonemap_mode = 1 +glow_enabled = true +glow_levels/1 = 1.0 +glow_levels/2 = 1.0 +glow_levels/4 = 1.0 +glow_intensity = 2.0 +fog_enabled = true +adjustment_enabled = true +adjustment_saturation = 0.01 +adjustment_color_correction = SubResource("GradientTexture1D_7n01c") + +[sub_resource type="BoxMesh" id="BoxMesh_x36ey"] +size = Vector3(20, 5, 1) + +[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_cfdha"] +data = PackedVector3Array(-10, 2.5, 0.5, 10, 2.5, 0.5, -10, -2.5, 0.5, 10, 2.5, 0.5, 10, -2.5, 0.5, -10, -2.5, 0.5, 10, 2.5, -0.5, -10, 2.5, -0.5, 10, -2.5, -0.5, -10, 2.5, -0.5, -10, -2.5, -0.5, 10, -2.5, -0.5, 10, 2.5, 0.5, 10, 2.5, -0.5, 10, -2.5, 0.5, 10, 2.5, -0.5, 10, -2.5, -0.5, 10, -2.5, 0.5, -10, 2.5, -0.5, -10, 2.5, 0.5, -10, -2.5, -0.5, -10, 2.5, 0.5, -10, -2.5, 0.5, -10, -2.5, -0.5, 10, 2.5, 0.5, -10, 2.5, 0.5, 10, 2.5, -0.5, -10, 2.5, 0.5, -10, 2.5, -0.5, 10, 2.5, -0.5, -10, -2.5, 0.5, 10, -2.5, 0.5, -10, -2.5, -0.5, 10, -2.5, 0.5, 10, -2.5, -0.5, -10, -2.5, -0.5) + +[node name="Node3D" type="Node3D"] +script = ExtResource("1_0vmht") + +[node name="NetworkedNodes" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_eo1rv") + +[node name="Floor" type="MeshInstance3D" parent="."] +cast_shadow = 0 +mesh = SubResource("PlaneMesh_4f4w7") + +[node name="StaticBody3D" type="StaticBody3D" parent="Floor"] + +[node name="@@89816" type="CollisionShape3D" parent="Floor/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_fs1ki") + +[node name="Pole" type="MeshInstance3D" parent="."] +transform = Transform3D(-0.642614, 0, -0.76619, 0, 1, 0, 0.76619, 0, -0.642614, -20, 5, -20) +mesh = SubResource("CylinderMesh_lvw42") + +[node name="Camera3D" type="Camera3D" parent="Pole"] +transform = Transform3D(1, 4.47035e-08, -2.08616e-07, 0, 0.926798, 0.375561, 1.49012e-07, -0.375561, 0.926798, 0, 5, 0) +environment = SubResource("Environment_7oc1w") +fov = 100.0 + +[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."] +spawn_path = NodePath("../NetworkedNodes") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -0.999, 0.0447004, 0, -0.0447004, -0.999, 0, 14.0621, -6.13505) +light_color = Color(0.878431, 0.909804, 1, 1) +shadow_enabled = true +shadow_blur = 0.1 + +[node name="VisibleWalls" type="Node3D" parent="."] + +[node name="Wall" type="MeshInstance3D" parent="VisibleWalls"] +transform = Transform3D(2.11, 0, 0, 0, 1, 0, 0, 0, 1, -0.0145617, 2.49625, -21.0871) +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="VisibleWalls/Wall"] + +[node name="130952" type="CollisionShape3D" parent="VisibleWalls/Wall/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="Wall3" type="MeshInstance3D" parent="VisibleWalls"] +transform = Transform3D(2.11, 0, 0, 0, 1, 0, 0, 0, 1, -0.0145617, 2.49625, 20.7768) +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="VisibleWalls/Wall3"] + +[node name="130952" type="CollisionShape3D" parent="VisibleWalls/Wall3/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="Wall2" type="MeshInstance3D" parent="VisibleWalls"] +transform = Transform3D(0, 0, 1, 0, 1, 0, -2.128, 0, 0, -20.7124, 2.49625, -0.0979538) +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="VisibleWalls/Wall2"] + +[node name="130952" type="CollisionShape3D" parent="VisibleWalls/Wall2/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="Wall4" type="MeshInstance3D" parent="VisibleWalls"] +transform = Transform3D(0, 0, 1, 0, 1, 0, -2.128, 0, 0, 20.7769, 2.49625, -0.0979538) +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="VisibleWalls/Wall4"] + +[node name="130952" type="CollisionShape3D" parent="VisibleWalls/Wall4/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="SpotLight3D" type="SpotLight3D" parent="."] +transform = Transform3D(-4.37114e-08, -0.707107, 0.707107, 0, 0.707107, 0.707107, -1, 3.09086e-08, -3.09086e-08, -17.0248, 4.53458, 17.1366) +light_size = 3.67 +spot_range = 7.3 +spot_attenuation = 1.27456 +spot_angle_attenuation = 6.49802 + +[node name="InvisibleWalls" type="Node3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.1293, -1.41031, -13.5949) + +[node name="InvisWall" type="MeshInstance3D" parent="InvisibleWalls"] +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall"] + +[node name="@@130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall9" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.623, 0, 0, 0, 1, 0, 0, 0, 1, 21.3576, 0, 8.59735) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall9"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall9/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="@130952@57092" type="CollisionShape3D" parent="InvisibleWalls/InvisWall9/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall7" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -3.07695, 0, 17.1947) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall7"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall7/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="@130952@51822" type="CollisionShape3D" parent="InvisibleWalls/InvisWall7/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall5" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.515, 0, 0, 0, 1, 0, 0, 0, 1, 1.49848, 0, 27.5284) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall5"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall5/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="@130952@50040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall5/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall6" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.128, 0, 0, 0, 1, 0, 0, 0, 1, -8.63735, 0, 27.5284) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall6"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall6/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall6/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall8" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.232, 0, 0, 0, 1, 0, 0, 0, 1, 9.46234, 0, 27.5284) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall8"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall8/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall8/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall11" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.232, 0, 0, 0, 1, 0, 0, 0, 1, 14.6208, 0, 12.6866) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall11"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall11/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall11/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall12" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.232, 0, 0, 0, 1, 0, 0, 0, 1, 18.8742, 0, 16.3971) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall12"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall12/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall12/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall17" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.232, 0, 0, 0, 1, 0, 0, 0, 1, 28.648, 0, 12.3246) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall17"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall17/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall17/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall13" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.232, 0, 0, 0, 1, 0, 0, 0, 1, 14.6208, 0, 20.1075) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall13"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall13/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall13/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall14" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.232, 0, 0, 0, 1, 0, 0, 0, 1, 19.2362, 0, 23.0035) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall14"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall14/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall14/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall15" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.232, 0, 0, 0, 1, 0, 0, 0, 1, 14.8018, 0, 26.0804) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall15"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall15/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall15/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall16" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0.521, 0, 0, 0, 1, 0, 0, 0, 1, 16.9737, 0, 30.4398) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall16"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall16/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="13095250040" type="CollisionShape3D" parent="InvisibleWalls/InvisWall16/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall2" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(1.205, 0, 0, 0, 1, 0, 0, 0, 1, 19.1994, 0, 4.6047) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall2"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall2/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall3" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(-5.23225e-08, 0, -1, 0, 1, 0, 1.197, 0, -4.37114e-08, 6.74318, 0, 16.0151) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall3"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall3/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall4" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0, 0, -1, 0, 1, 0, 1.115, 0, 0, 11.8942, 0, 19.7792) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall4"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall4/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="InvisWall10" type="MeshInstance3D" parent="InvisibleWalls"] +transform = Transform3D(0, 0, -1, 0, 1, 0, 1.073, 0, 0, 21.6681, 0, 19.5024) +layers = 2 +cast_shadow = 0 +mesh = SubResource("BoxMesh_x36ey") +skeleton = NodePath("../..") + +[node name="StaticBody3D" type="StaticBody3D" parent="InvisibleWalls/InvisWall10"] + +[node name="130952" type="CollisionShape3D" parent="InvisibleWalls/InvisWall10/StaticBody3D"] +shape = SubResource("ConcavePolygonShape3D_cfdha") + +[node name="SpotLight3D2" type="SpotLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -19.3273, 10.7166, -19.2999) +light_color = Color(1, 0.945098, 0.823529, 1) +light_energy = 3.0 +spot_range = 18.4 +spot_attenuation = 1.46409 +spot_angle = 50.6 +spot_angle_attenuation = 2.0 + +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource("3_5ndbl") +autoplay = true +bus = &"Bass" + +[node name="AudioStreamPlayer2" type="AudioStreamPlayer" parent="."] +stream = ExtResource("4_ht4c1") +autoplay = true +bus = &"Beat" diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..3beb606 --- /dev/null +++ b/project.godot @@ -0,0 +1,59 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=5 + +[application] + +config/name="HDheist" +run/main_scene="res://control.tscn" +config/features=PackedStringArray("4.2") +boot_splash/show_image=false +config/icon="res://icon.png" + +[autoload] + +Globals="*res://globals.gd" + +[display] + +window/size/borderless=true +window/size/always_on_top=true + +[input] + +strafe_left={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +strafe_right={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +move_forward={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +move_backward={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +look_left={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +look_right={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} diff --git a/wallpaper.jpeg b/wallpaper.jpeg new file mode 100644 index 0000000..83d2f22 Binary files /dev/null and b/wallpaper.jpeg differ diff --git a/wallpaper.jpeg.import b/wallpaper.jpeg.import new file mode 100644 index 0000000..ce217ad --- /dev/null +++ b/wallpaper.jpeg.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture2D" +uid="uid://8fltpxfkhrgv" +path="res://.godot/imported/wallpaper.jpeg-0f8880b77d92d3ef9840c60cb632ae45.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://wallpaper.jpeg" +dest_files=["res://.godot/imported/wallpaper.jpeg-0f8880b77d92d3ef9840c60cb632ae45.stex"] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=0 +compress/channel_pack=0 +compress/streamed=false +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/size_limit=0 +detect_3d/compress_to=1