From c62b2d7a09c33dddab92c2eafad0c3d1b7514255 Mon Sep 17 00:00:00 2001 From: Nikolai Rodionov Date: Wed, 29 Jan 2025 23:53:15 +0100 Subject: [PATCH] WIP: Add a dedicated server option --- .../dark/texture_01.png.import | 5 +- .../dark/texture_02.png.import | 5 +- .../dark/texture_03.png.import | 5 +- .../dark/texture_04.png.import | 5 +- .../dark/texture_06.png.import | 5 +- .../dark/texture_07.png.import | 5 +- .../dark/texture_08.png.import | 5 +- .../dark/texture_09.png.import | 5 +- .../dark/texture_10.png.import | 5 +- .../dark/texture_11.png.import | 5 +- .../dark/texture_12.png.import | 5 +- .../green/texture_01.png.import | 5 +- .../green/texture_02.png.import | 5 +- .../green/texture_04.png.import | 5 +- .../light/texture_01.png.import | 5 +- .../light/texture_02.png.import | 5 +- .../orange/texture_01.png.import | 5 +- .../orange/texture_02.png.import | 5 +- .../orange/texture_09.png.import | 5 +- .../orange/texture_10.png.import | 5 +- .../orange/texture_13.png.import | 5 +- .../purple/texture_02.png.import | 5 +- .../red/texture_02.png.import | 5 +- .../M9_Bayonet_M9_Bayonet.png.import | 4 +- assets/models/maps/el_test_Image_0.png.import | 4 +- assets/models/maps/el_test_Image_1.png.import | 4 +- assets/models/maps/el_test_Image_2.png.import | 4 +- export_presets.cfg | 505 ++++++++++++++++++ project.godot | 1 + scenes/characters/blue/dummy.tscn | 32 +- scenes/maps/base/map_loader.gd | 10 +- .../base/player_spawner/player_spawner.gd | 6 + scenes/player/placeholder.gd | 1 + scenes/utils/menus/main/main_menu.gd | 26 +- scripts/game_server_manager.gd | 25 +- 35 files changed, 651 insertions(+), 86 deletions(-) create mode 100644 export_presets.cfg diff --git a/addons/kenney_prototype_textures/dark/texture_01.png.import b/addons/kenney_prototype_textures/dark/texture_01.png.import index 1675cb3..6154790 100644 --- a/addons/kenney_prototype_textures/dark/texture_01.png.import +++ b/addons/kenney_prototype_textures/dark/texture_01.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://dmge3tk7w0b1n" path.s3tc="res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.s3tc.ctex" +path.etc2="res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.s3tc.ctex", "res://.godot/imported/texture_01.png-60e3b3d3143b179c069dbcbff77ff160.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_02.png.import b/addons/kenney_prototype_textures/dark/texture_02.png.import index b1e82df..e465feb 100644 --- a/addons/kenney_prototype_textures/dark/texture_02.png.import +++ b/addons/kenney_prototype_textures/dark/texture_02.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://bawho1fs8uowk" path.s3tc="res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.s3tc.ctex" +path.etc2="res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_02.png" -dest_files=["res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.s3tc.ctex", "res://.godot/imported/texture_02.png-814d4f515892bb8274d285748f4a73a0.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_03.png.import b/addons/kenney_prototype_textures/dark/texture_03.png.import index 6ffa424..6b73f73 100644 --- a/addons/kenney_prototype_textures/dark/texture_03.png.import +++ b/addons/kenney_prototype_textures/dark/texture_03.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://kijtpalgio4q" path.s3tc="res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.s3tc.ctex" +path.etc2="res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_03.png" -dest_files=["res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.s3tc.ctex", "res://.godot/imported/texture_03.png-eef45c22e5a84c5df22e7f80e41112c6.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_04.png.import b/addons/kenney_prototype_textures/dark/texture_04.png.import index 0624d64..44ab4c5 100644 --- a/addons/kenney_prototype_textures/dark/texture_04.png.import +++ b/addons/kenney_prototype_textures/dark/texture_04.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://e4nd8b6f0tw7" path.s3tc="res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.s3tc.ctex" +path.etc2="res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_04.png" -dest_files=["res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.s3tc.ctex", "res://.godot/imported/texture_04.png-af505c12b2a7903458bb29299e718506.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_06.png.import b/addons/kenney_prototype_textures/dark/texture_06.png.import index 8d1dc4f..7ae42ad 100644 --- a/addons/kenney_prototype_textures/dark/texture_06.png.import +++ b/addons/kenney_prototype_textures/dark/texture_06.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://du0f7hc4skged" path.s3tc="res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.s3tc.ctex" +path.etc2="res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_06.png" -dest_files=["res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.s3tc.ctex", "res://.godot/imported/texture_06.png-004ed3d5b88361cdfb83a20714e917e7.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_07.png.import b/addons/kenney_prototype_textures/dark/texture_07.png.import index 66f733e..affd62e 100644 --- a/addons/kenney_prototype_textures/dark/texture_07.png.import +++ b/addons/kenney_prototype_textures/dark/texture_07.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://bg7hbu285xx3c" path.s3tc="res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.s3tc.ctex" +path.etc2="res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_07.png" -dest_files=["res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.s3tc.ctex", "res://.godot/imported/texture_07.png-7c77ff22e41b4a54319073cb71530d81.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_08.png.import b/addons/kenney_prototype_textures/dark/texture_08.png.import index 4cf77b0..28b2cd3 100644 --- a/addons/kenney_prototype_textures/dark/texture_08.png.import +++ b/addons/kenney_prototype_textures/dark/texture_08.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://o0rxfy5dvpsb" path.s3tc="res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.s3tc.ctex" +path.etc2="res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_08.png" -dest_files=["res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.s3tc.ctex", "res://.godot/imported/texture_08.png-5883ddd047173c8b118ead887054e6fc.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_09.png.import b/addons/kenney_prototype_textures/dark/texture_09.png.import index 81c72f1..e990591 100644 --- a/addons/kenney_prototype_textures/dark/texture_09.png.import +++ b/addons/kenney_prototype_textures/dark/texture_09.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://cxj3qslcw455r" path.s3tc="res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.s3tc.ctex" +path.etc2="res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_09.png" -dest_files=["res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.s3tc.ctex", "res://.godot/imported/texture_09.png-8e25cd5657e2d326068eb27bfa1aacec.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_10.png.import b/addons/kenney_prototype_textures/dark/texture_10.png.import index 53c3f21..1d9b18a 100644 --- a/addons/kenney_prototype_textures/dark/texture_10.png.import +++ b/addons/kenney_prototype_textures/dark/texture_10.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://n25a1tlc20r2" path.s3tc="res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.s3tc.ctex" +path.etc2="res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_10.png" -dest_files=["res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.s3tc.ctex", "res://.godot/imported/texture_10.png-1e788999a192eabd201c3b3435475799.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_11.png.import b/addons/kenney_prototype_textures/dark/texture_11.png.import index c32fe65..b075afd 100644 --- a/addons/kenney_prototype_textures/dark/texture_11.png.import +++ b/addons/kenney_prototype_textures/dark/texture_11.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://ciwwbgcpode0d" path.s3tc="res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.s3tc.ctex" +path.etc2="res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_11.png" -dest_files=["res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.s3tc.ctex", "res://.godot/imported/texture_11.png-f61ad46caf1a41d85454e490ec43c8ec.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/dark/texture_12.png.import b/addons/kenney_prototype_textures/dark/texture_12.png.import index 504e71c..3037408 100644 --- a/addons/kenney_prototype_textures/dark/texture_12.png.import +++ b/addons/kenney_prototype_textures/dark/texture_12.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://dsf0exq5n4glb" path.s3tc="res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.s3tc.ctex" +path.etc2="res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/dark/texture_12.png" -dest_files=["res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.s3tc.ctex", "res://.godot/imported/texture_12.png-aa893b2c5354267551e55ec14bb1999b.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/green/texture_01.png.import b/addons/kenney_prototype_textures/green/texture_01.png.import index ed305ab..55ac8d2 100644 --- a/addons/kenney_prototype_textures/green/texture_01.png.import +++ b/addons/kenney_prototype_textures/green/texture_01.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://brf3u1fddrxlq" path.s3tc="res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.s3tc.ctex" +path.etc2="res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/green/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.s3tc.ctex", "res://.godot/imported/texture_01.png-94ebd82494c839e91a05b9e1cc2750ca.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/green/texture_02.png.import b/addons/kenney_prototype_textures/green/texture_02.png.import index 7b4c3f1..b07b3b1 100644 --- a/addons/kenney_prototype_textures/green/texture_02.png.import +++ b/addons/kenney_prototype_textures/green/texture_02.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://yg2714dns88k" path.s3tc="res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.s3tc.ctex" +path.etc2="res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/green/texture_02.png" -dest_files=["res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.s3tc.ctex", "res://.godot/imported/texture_02.png-aa1bb055b55bdc7c20e196b7286eebdf.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/green/texture_04.png.import b/addons/kenney_prototype_textures/green/texture_04.png.import index 8cc8d31..12252ed 100644 --- a/addons/kenney_prototype_textures/green/texture_04.png.import +++ b/addons/kenney_prototype_textures/green/texture_04.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://kbyfceu4geke" path.s3tc="res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.s3tc.ctex" +path.etc2="res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/green/texture_04.png" -dest_files=["res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.s3tc.ctex", "res://.godot/imported/texture_04.png-4678cc1dfb831f775bdc30cfd7f78769.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/light/texture_01.png.import b/addons/kenney_prototype_textures/light/texture_01.png.import index 4232cf2..895ef6a 100644 --- a/addons/kenney_prototype_textures/light/texture_01.png.import +++ b/addons/kenney_prototype_textures/light/texture_01.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://dkaygit5l83nq" path.s3tc="res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.s3tc.ctex" +path.etc2="res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/light/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.s3tc.ctex", "res://.godot/imported/texture_01.png-e10423e44834e1b4a90c3134e446b32d.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/light/texture_02.png.import b/addons/kenney_prototype_textures/light/texture_02.png.import index dfcf621..2f6c05c 100644 --- a/addons/kenney_prototype_textures/light/texture_02.png.import +++ b/addons/kenney_prototype_textures/light/texture_02.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://bpgpb8fitgael" path.s3tc="res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.s3tc.ctex" +path.etc2="res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/light/texture_02.png" -dest_files=["res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.s3tc.ctex", "res://.godot/imported/texture_02.png-ffde4d38b35463525c3815b255790206.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/orange/texture_01.png.import b/addons/kenney_prototype_textures/orange/texture_01.png.import index 1a524ca..d903d10 100644 --- a/addons/kenney_prototype_textures/orange/texture_01.png.import +++ b/addons/kenney_prototype_textures/orange/texture_01.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://dydo6bjsqw3fq" path.s3tc="res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.s3tc.ctex" +path.etc2="res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/orange/texture_01.png" -dest_files=["res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.s3tc.ctex", "res://.godot/imported/texture_01.png-2bf7db98e09b5b5073e8e8ca66419718.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/orange/texture_02.png.import b/addons/kenney_prototype_textures/orange/texture_02.png.import index 5ffbaf0..455fb1a 100644 --- a/addons/kenney_prototype_textures/orange/texture_02.png.import +++ b/addons/kenney_prototype_textures/orange/texture_02.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://beclpsa6h0k4g" path.s3tc="res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.s3tc.ctex" +path.etc2="res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/orange/texture_02.png" -dest_files=["res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.s3tc.ctex", "res://.godot/imported/texture_02.png-4eab4e19c2171e5b0668b65373b74c6d.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/orange/texture_09.png.import b/addons/kenney_prototype_textures/orange/texture_09.png.import index 796e535..ce0ae38 100644 --- a/addons/kenney_prototype_textures/orange/texture_09.png.import +++ b/addons/kenney_prototype_textures/orange/texture_09.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://c5uytbu1wc1bq" path.s3tc="res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.s3tc.ctex" +path.etc2="res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/orange/texture_09.png" -dest_files=["res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.s3tc.ctex", "res://.godot/imported/texture_09.png-d3e0d0da868b68102c983480f9cde71d.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/orange/texture_10.png.import b/addons/kenney_prototype_textures/orange/texture_10.png.import index bd6ab0f..8483047 100644 --- a/addons/kenney_prototype_textures/orange/texture_10.png.import +++ b/addons/kenney_prototype_textures/orange/texture_10.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://fn1k1ebe2uhx" path.s3tc="res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.s3tc.ctex" +path.etc2="res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/orange/texture_10.png" -dest_files=["res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.s3tc.ctex", "res://.godot/imported/texture_10.png-6f0f09db66c0562f01b2d2954722e3af.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/orange/texture_13.png.import b/addons/kenney_prototype_textures/orange/texture_13.png.import index d9c3a08..463f3f5 100644 --- a/addons/kenney_prototype_textures/orange/texture_13.png.import +++ b/addons/kenney_prototype_textures/orange/texture_13.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://d1nfjip21kjpu" path.s3tc="res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.s3tc.ctex" +path.etc2="res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/orange/texture_13.png" -dest_files=["res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.s3tc.ctex", "res://.godot/imported/texture_13.png-a11a0cfe132bc07bf4c480fd4334a284.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/purple/texture_02.png.import b/addons/kenney_prototype_textures/purple/texture_02.png.import index 320c1f5..4a3e0f7 100644 --- a/addons/kenney_prototype_textures/purple/texture_02.png.import +++ b/addons/kenney_prototype_textures/purple/texture_02.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://dx31pblshvnjw" path.s3tc="res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.s3tc.ctex" +path.etc2="res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/purple/texture_02.png" -dest_files=["res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.s3tc.ctex", "res://.godot/imported/texture_02.png-fcb52d424cd62d43221e4153fa3176f8.etc2.ctex"] [params] diff --git a/addons/kenney_prototype_textures/red/texture_02.png.import b/addons/kenney_prototype_textures/red/texture_02.png.import index b6e0636..da27c8c 100644 --- a/addons/kenney_prototype_textures/red/texture_02.png.import +++ b/addons/kenney_prototype_textures/red/texture_02.png.import @@ -4,15 +4,16 @@ importer="texture" type="CompressedTexture2D" uid="uid://coqym2otrhygu" path.s3tc="res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.s3tc.ctex" +path.etc2="res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.etc2.ctex" metadata={ -"imported_formats": ["s3tc_bptc"], +"imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true } [deps] source_file="res://addons/kenney_prototype_textures/red/texture_02.png" -dest_files=["res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.s3tc.ctex"] +dest_files=["res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.s3tc.ctex", "res://.godot/imported/texture_02.png-bb6eefc15212ba5b8098e9e672c21f12.etc2.ctex"] [params] diff --git a/assets/models/low_poly_weapon/M9_Bayonet_M9_Bayonet.png.import b/assets/models/low_poly_weapon/M9_Bayonet_M9_Bayonet.png.import index 2973521..b8de0f0 100644 --- a/assets/models/low_poly_weapon/M9_Bayonet_M9_Bayonet.png.import +++ b/assets/models/low_poly_weapon/M9_Bayonet_M9_Bayonet.png.import @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f437a2a35441d67e1b7dd399dc5efbefb68d5ad8e35a5b1f0340531d88122bf -size 941 +oid sha256:42ee40f7d9746ed4720b15122c3ed43c224100aed57057bfc4021b406e9b56f1 +size 1151 diff --git a/assets/models/maps/el_test_Image_0.png.import b/assets/models/maps/el_test_Image_0.png.import index 2ecc121..dff863f 100644 --- a/assets/models/maps/el_test_Image_0.png.import +++ b/assets/models/maps/el_test_Image_0.png.import @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb95a680ea14d3b14c4c21c936092592b18e1f2612ce71f0e58d3cb494ad721b -size 912 +oid sha256:f5956a6f0ce4b074e8c041b4f241d6216939e259d181a73d860392a57b747744 +size 1110 diff --git a/assets/models/maps/el_test_Image_1.png.import b/assets/models/maps/el_test_Image_1.png.import index 4e471b2..0628ed4 100644 --- a/assets/models/maps/el_test_Image_1.png.import +++ b/assets/models/maps/el_test_Image_1.png.import @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33d661dd2502095dd1701100629225ecbfdeb94e6d66b58e896d4e26c397a4ce -size 913 +oid sha256:d6a3a96d7372090a9bd934992812823efe671b4a4de72cf0e671c7d32d2e3e30 +size 1111 diff --git a/assets/models/maps/el_test_Image_2.png.import b/assets/models/maps/el_test_Image_2.png.import index 9c3349b..835ccb0 100644 --- a/assets/models/maps/el_test_Image_2.png.import +++ b/assets/models/maps/el_test_Image_2.png.import @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61ab462102e7ed00253e326bf2259d181ca1fb7df2c4a19c93d954c8012ec015 -size 912 +oid sha256:1c1268afe56914c6fe16703f84683540bec0b872b7c3d73aad0b525db2d6609f +size 1110 diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..0ed6204 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,505 @@ +[preset.0] + +name="macOS Dedicated Server" +platform="macOS" +runnable=true +advanced_options=false +dedicated_server=true +custom_features="" +export_filter="customized" +customized_files={ +"res://": "strip" +} +include_filter="" +exclude_filter="" +export_path="./Open Strike.dmg" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.0.options] + +export/distribution_type=0 +binary_format/architecture="universal" +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +application/icon="" +application/icon_interpolation=4 +application/bundle_identifier="test" +application/signature="" +application/app_category="Games" +application/short_version="" +application/version="" +application/copyright="" +application/copyright_localized={} +application/min_macos_version="10.12" +application/export_angle=0 +display/high_res=true +application/additional_plist_content="" +xcode/platform_build="14C18" +xcode/sdk_version="13.1" +xcode/sdk_build="22C55" +xcode/sdk_name="macosx13.1" +xcode/xcode_version="1420" +xcode/xcode_build="14C18" +codesign/codesign=3 +codesign/installer_identity="" +codesign/apple_team_id="" +codesign/identity="" +codesign/entitlements/custom_file="" +codesign/entitlements/allow_jit_code_execution=false +codesign/entitlements/allow_unsigned_executable_memory=false +codesign/entitlements/allow_dyld_environment_variables=false +codesign/entitlements/disable_library_validation=false +codesign/entitlements/audio_input=false +codesign/entitlements/camera=false +codesign/entitlements/location=false +codesign/entitlements/address_book=false +codesign/entitlements/calendars=false +codesign/entitlements/photos_library=false +codesign/entitlements/apple_events=false +codesign/entitlements/debugging=false +codesign/entitlements/app_sandbox/enabled=false +codesign/entitlements/app_sandbox/network_server=false +codesign/entitlements/app_sandbox/network_client=false +codesign/entitlements/app_sandbox/device_usb=false +codesign/entitlements/app_sandbox/device_bluetooth=false +codesign/entitlements/app_sandbox/files_downloads=0 +codesign/entitlements/app_sandbox/files_pictures=0 +codesign/entitlements/app_sandbox/files_music=0 +codesign/entitlements/app_sandbox/files_movies=0 +codesign/entitlements/app_sandbox/files_user_selected=0 +codesign/entitlements/app_sandbox/helper_executables=[] +codesign/custom_options=PackedStringArray() +notarization/notarization=0 +privacy/microphone_usage_description="" +privacy/microphone_usage_description_localized={} +privacy/camera_usage_description="" +privacy/camera_usage_description_localized={} +privacy/location_usage_description="" +privacy/location_usage_description_localized={} +privacy/address_book_usage_description="" +privacy/address_book_usage_description_localized={} +privacy/calendar_usage_description="" +privacy/calendar_usage_description_localized={} +privacy/photos_library_usage_description="" +privacy/photos_library_usage_description_localized={} +privacy/desktop_folder_usage_description="" +privacy/desktop_folder_usage_description_localized={} +privacy/documents_folder_usage_description="" +privacy/documents_folder_usage_description_localized={} +privacy/downloads_folder_usage_description="" +privacy/downloads_folder_usage_description_localized={} +privacy/network_volumes_usage_description="" +privacy/network_volumes_usage_description_localized={} +privacy/removable_volumes_usage_description="" +privacy/removable_volumes_usage_description_localized={} +privacy/tracking_enabled=false +privacy/tracking_domains=PackedStringArray() +privacy/collected_data/name/collected=false +privacy/collected_data/name/linked_to_user=false +privacy/collected_data/name/used_for_tracking=false +privacy/collected_data/name/collection_purposes=0 +privacy/collected_data/email_address/collected=false +privacy/collected_data/email_address/linked_to_user=false +privacy/collected_data/email_address/used_for_tracking=false +privacy/collected_data/email_address/collection_purposes=0 +privacy/collected_data/phone_number/collected=false +privacy/collected_data/phone_number/linked_to_user=false +privacy/collected_data/phone_number/used_for_tracking=false +privacy/collected_data/phone_number/collection_purposes=0 +privacy/collected_data/physical_address/collected=false +privacy/collected_data/physical_address/linked_to_user=false +privacy/collected_data/physical_address/used_for_tracking=false +privacy/collected_data/physical_address/collection_purposes=0 +privacy/collected_data/other_contact_info/collected=false +privacy/collected_data/other_contact_info/linked_to_user=false +privacy/collected_data/other_contact_info/used_for_tracking=false +privacy/collected_data/other_contact_info/collection_purposes=0 +privacy/collected_data/health/collected=false +privacy/collected_data/health/linked_to_user=false +privacy/collected_data/health/used_for_tracking=false +privacy/collected_data/health/collection_purposes=0 +privacy/collected_data/fitness/collected=false +privacy/collected_data/fitness/linked_to_user=false +privacy/collected_data/fitness/used_for_tracking=false +privacy/collected_data/fitness/collection_purposes=0 +privacy/collected_data/payment_info/collected=false +privacy/collected_data/payment_info/linked_to_user=false +privacy/collected_data/payment_info/used_for_tracking=false +privacy/collected_data/payment_info/collection_purposes=0 +privacy/collected_data/credit_info/collected=false +privacy/collected_data/credit_info/linked_to_user=false +privacy/collected_data/credit_info/used_for_tracking=false +privacy/collected_data/credit_info/collection_purposes=0 +privacy/collected_data/other_financial_info/collected=false +privacy/collected_data/other_financial_info/linked_to_user=false +privacy/collected_data/other_financial_info/used_for_tracking=false +privacy/collected_data/other_financial_info/collection_purposes=0 +privacy/collected_data/precise_location/collected=false +privacy/collected_data/precise_location/linked_to_user=false +privacy/collected_data/precise_location/used_for_tracking=false +privacy/collected_data/precise_location/collection_purposes=0 +privacy/collected_data/coarse_location/collected=false +privacy/collected_data/coarse_location/linked_to_user=false +privacy/collected_data/coarse_location/used_for_tracking=false +privacy/collected_data/coarse_location/collection_purposes=0 +privacy/collected_data/sensitive_info/collected=false +privacy/collected_data/sensitive_info/linked_to_user=false +privacy/collected_data/sensitive_info/used_for_tracking=false +privacy/collected_data/sensitive_info/collection_purposes=0 +privacy/collected_data/contacts/collected=false +privacy/collected_data/contacts/linked_to_user=false +privacy/collected_data/contacts/used_for_tracking=false +privacy/collected_data/contacts/collection_purposes=0 +privacy/collected_data/emails_or_text_messages/collected=false +privacy/collected_data/emails_or_text_messages/linked_to_user=false +privacy/collected_data/emails_or_text_messages/used_for_tracking=false +privacy/collected_data/emails_or_text_messages/collection_purposes=0 +privacy/collected_data/photos_or_videos/collected=false +privacy/collected_data/photos_or_videos/linked_to_user=false +privacy/collected_data/photos_or_videos/used_for_tracking=false +privacy/collected_data/photos_or_videos/collection_purposes=0 +privacy/collected_data/audio_data/collected=false +privacy/collected_data/audio_data/linked_to_user=false +privacy/collected_data/audio_data/used_for_tracking=false +privacy/collected_data/audio_data/collection_purposes=0 +privacy/collected_data/gameplay_content/collected=false +privacy/collected_data/gameplay_content/linked_to_user=false +privacy/collected_data/gameplay_content/used_for_tracking=false +privacy/collected_data/gameplay_content/collection_purposes=0 +privacy/collected_data/customer_support/collected=false +privacy/collected_data/customer_support/linked_to_user=false +privacy/collected_data/customer_support/used_for_tracking=false +privacy/collected_data/customer_support/collection_purposes=0 +privacy/collected_data/other_user_content/collected=false +privacy/collected_data/other_user_content/linked_to_user=false +privacy/collected_data/other_user_content/used_for_tracking=false +privacy/collected_data/other_user_content/collection_purposes=0 +privacy/collected_data/browsing_history/collected=false +privacy/collected_data/browsing_history/linked_to_user=false +privacy/collected_data/browsing_history/used_for_tracking=false +privacy/collected_data/browsing_history/collection_purposes=0 +privacy/collected_data/search_hhistory/collected=false +privacy/collected_data/search_hhistory/linked_to_user=false +privacy/collected_data/search_hhistory/used_for_tracking=false +privacy/collected_data/search_hhistory/collection_purposes=0 +privacy/collected_data/user_id/collected=false +privacy/collected_data/user_id/linked_to_user=false +privacy/collected_data/user_id/used_for_tracking=false +privacy/collected_data/user_id/collection_purposes=0 +privacy/collected_data/device_id/collected=false +privacy/collected_data/device_id/linked_to_user=false +privacy/collected_data/device_id/used_for_tracking=false +privacy/collected_data/device_id/collection_purposes=0 +privacy/collected_data/purchase_history/collected=false +privacy/collected_data/purchase_history/linked_to_user=false +privacy/collected_data/purchase_history/used_for_tracking=false +privacy/collected_data/purchase_history/collection_purposes=0 +privacy/collected_data/product_interaction/collected=false +privacy/collected_data/product_interaction/linked_to_user=false +privacy/collected_data/product_interaction/used_for_tracking=false +privacy/collected_data/product_interaction/collection_purposes=0 +privacy/collected_data/advertising_data/collected=false +privacy/collected_data/advertising_data/linked_to_user=false +privacy/collected_data/advertising_data/used_for_tracking=false +privacy/collected_data/advertising_data/collection_purposes=0 +privacy/collected_data/other_usage_data/collected=false +privacy/collected_data/other_usage_data/linked_to_user=false +privacy/collected_data/other_usage_data/used_for_tracking=false +privacy/collected_data/other_usage_data/collection_purposes=0 +privacy/collected_data/crash_data/collected=false +privacy/collected_data/crash_data/linked_to_user=false +privacy/collected_data/crash_data/used_for_tracking=false +privacy/collected_data/crash_data/collection_purposes=0 +privacy/collected_data/performance_data/collected=false +privacy/collected_data/performance_data/linked_to_user=false +privacy/collected_data/performance_data/used_for_tracking=false +privacy/collected_data/performance_data/collection_purposes=0 +privacy/collected_data/other_diagnostic_data/collected=false +privacy/collected_data/other_diagnostic_data/linked_to_user=false +privacy/collected_data/other_diagnostic_data/used_for_tracking=false +privacy/collected_data/other_diagnostic_data/collection_purposes=0 +privacy/collected_data/environment_scanning/collected=false +privacy/collected_data/environment_scanning/linked_to_user=false +privacy/collected_data/environment_scanning/used_for_tracking=false +privacy/collected_data/environment_scanning/collection_purposes=0 +privacy/collected_data/hands/collected=false +privacy/collected_data/hands/linked_to_user=false +privacy/collected_data/hands/used_for_tracking=false +privacy/collected_data/hands/collection_purposes=0 +privacy/collected_data/head/collected=false +privacy/collected_data/head/linked_to_user=false +privacy/collected_data/head/used_for_tracking=false +privacy/collected_data/head/collection_purposes=0 +privacy/collected_data/other_data_types/collected=false +privacy/collected_data/other_data_types/linked_to_user=false +privacy/collected_data/other_data_types/used_for_tracking=false +privacy/collected_data/other_data_types/collection_purposes=0 +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" + +[preset.1] + +name="macOS" +platform="macOS" +runnable=false +advanced_options=false +dedicated_server=true +custom_features="" +export_filter="customized" +customized_files={ +"res://": "strip" +} +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.1.options] + +export/distribution_type=0 +binary_format/architecture="universal" +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +application/icon="" +application/icon_interpolation=4 +application/bundle_identifier="test" +application/signature="" +application/app_category="Games" +application/short_version="" +application/version="" +application/copyright="" +application/copyright_localized={} +application/min_macos_version="10.12" +application/export_angle=0 +display/high_res=true +application/additional_plist_content="" +xcode/platform_build="14C18" +xcode/sdk_version="13.1" +xcode/sdk_build="22C55" +xcode/sdk_name="macosx13.1" +xcode/xcode_version="1420" +xcode/xcode_build="14C18" +codesign/codesign=3 +codesign/installer_identity="" +codesign/apple_team_id="" +codesign/identity="" +codesign/entitlements/custom_file="" +codesign/entitlements/allow_jit_code_execution=false +codesign/entitlements/allow_unsigned_executable_memory=false +codesign/entitlements/allow_dyld_environment_variables=false +codesign/entitlements/disable_library_validation=false +codesign/entitlements/audio_input=false +codesign/entitlements/camera=false +codesign/entitlements/location=false +codesign/entitlements/address_book=false +codesign/entitlements/calendars=false +codesign/entitlements/photos_library=false +codesign/entitlements/apple_events=false +codesign/entitlements/debugging=false +codesign/entitlements/app_sandbox/enabled=false +codesign/entitlements/app_sandbox/network_server=false +codesign/entitlements/app_sandbox/network_client=false +codesign/entitlements/app_sandbox/device_usb=false +codesign/entitlements/app_sandbox/device_bluetooth=false +codesign/entitlements/app_sandbox/files_downloads=0 +codesign/entitlements/app_sandbox/files_pictures=0 +codesign/entitlements/app_sandbox/files_music=0 +codesign/entitlements/app_sandbox/files_movies=0 +codesign/entitlements/app_sandbox/files_user_selected=0 +codesign/entitlements/app_sandbox/helper_executables=[] +codesign/custom_options=PackedStringArray() +notarization/notarization=0 +privacy/microphone_usage_description="" +privacy/microphone_usage_description_localized={} +privacy/camera_usage_description="" +privacy/camera_usage_description_localized={} +privacy/location_usage_description="" +privacy/location_usage_description_localized={} +privacy/address_book_usage_description="" +privacy/address_book_usage_description_localized={} +privacy/calendar_usage_description="" +privacy/calendar_usage_description_localized={} +privacy/photos_library_usage_description="" +privacy/photos_library_usage_description_localized={} +privacy/desktop_folder_usage_description="" +privacy/desktop_folder_usage_description_localized={} +privacy/documents_folder_usage_description="" +privacy/documents_folder_usage_description_localized={} +privacy/downloads_folder_usage_description="" +privacy/downloads_folder_usage_description_localized={} +privacy/network_volumes_usage_description="" +privacy/network_volumes_usage_description_localized={} +privacy/removable_volumes_usage_description="" +privacy/removable_volumes_usage_description_localized={} +privacy/tracking_enabled=false +privacy/tracking_domains=PackedStringArray() +privacy/collected_data/name/collected=false +privacy/collected_data/name/linked_to_user=false +privacy/collected_data/name/used_for_tracking=false +privacy/collected_data/name/collection_purposes=0 +privacy/collected_data/email_address/collected=false +privacy/collected_data/email_address/linked_to_user=false +privacy/collected_data/email_address/used_for_tracking=false +privacy/collected_data/email_address/collection_purposes=0 +privacy/collected_data/phone_number/collected=false +privacy/collected_data/phone_number/linked_to_user=false +privacy/collected_data/phone_number/used_for_tracking=false +privacy/collected_data/phone_number/collection_purposes=0 +privacy/collected_data/physical_address/collected=false +privacy/collected_data/physical_address/linked_to_user=false +privacy/collected_data/physical_address/used_for_tracking=false +privacy/collected_data/physical_address/collection_purposes=0 +privacy/collected_data/other_contact_info/collected=false +privacy/collected_data/other_contact_info/linked_to_user=false +privacy/collected_data/other_contact_info/used_for_tracking=false +privacy/collected_data/other_contact_info/collection_purposes=0 +privacy/collected_data/health/collected=false +privacy/collected_data/health/linked_to_user=false +privacy/collected_data/health/used_for_tracking=false +privacy/collected_data/health/collection_purposes=0 +privacy/collected_data/fitness/collected=false +privacy/collected_data/fitness/linked_to_user=false +privacy/collected_data/fitness/used_for_tracking=false +privacy/collected_data/fitness/collection_purposes=0 +privacy/collected_data/payment_info/collected=false +privacy/collected_data/payment_info/linked_to_user=false +privacy/collected_data/payment_info/used_for_tracking=false +privacy/collected_data/payment_info/collection_purposes=0 +privacy/collected_data/credit_info/collected=false +privacy/collected_data/credit_info/linked_to_user=false +privacy/collected_data/credit_info/used_for_tracking=false +privacy/collected_data/credit_info/collection_purposes=0 +privacy/collected_data/other_financial_info/collected=false +privacy/collected_data/other_financial_info/linked_to_user=false +privacy/collected_data/other_financial_info/used_for_tracking=false +privacy/collected_data/other_financial_info/collection_purposes=0 +privacy/collected_data/precise_location/collected=false +privacy/collected_data/precise_location/linked_to_user=false +privacy/collected_data/precise_location/used_for_tracking=false +privacy/collected_data/precise_location/collection_purposes=0 +privacy/collected_data/coarse_location/collected=false +privacy/collected_data/coarse_location/linked_to_user=false +privacy/collected_data/coarse_location/used_for_tracking=false +privacy/collected_data/coarse_location/collection_purposes=0 +privacy/collected_data/sensitive_info/collected=false +privacy/collected_data/sensitive_info/linked_to_user=false +privacy/collected_data/sensitive_info/used_for_tracking=false +privacy/collected_data/sensitive_info/collection_purposes=0 +privacy/collected_data/contacts/collected=false +privacy/collected_data/contacts/linked_to_user=false +privacy/collected_data/contacts/used_for_tracking=false +privacy/collected_data/contacts/collection_purposes=0 +privacy/collected_data/emails_or_text_messages/collected=false +privacy/collected_data/emails_or_text_messages/linked_to_user=false +privacy/collected_data/emails_or_text_messages/used_for_tracking=false +privacy/collected_data/emails_or_text_messages/collection_purposes=0 +privacy/collected_data/photos_or_videos/collected=false +privacy/collected_data/photos_or_videos/linked_to_user=false +privacy/collected_data/photos_or_videos/used_for_tracking=false +privacy/collected_data/photos_or_videos/collection_purposes=0 +privacy/collected_data/audio_data/collected=false +privacy/collected_data/audio_data/linked_to_user=false +privacy/collected_data/audio_data/used_for_tracking=false +privacy/collected_data/audio_data/collection_purposes=0 +privacy/collected_data/gameplay_content/collected=false +privacy/collected_data/gameplay_content/linked_to_user=false +privacy/collected_data/gameplay_content/used_for_tracking=false +privacy/collected_data/gameplay_content/collection_purposes=0 +privacy/collected_data/customer_support/collected=false +privacy/collected_data/customer_support/linked_to_user=false +privacy/collected_data/customer_support/used_for_tracking=false +privacy/collected_data/customer_support/collection_purposes=0 +privacy/collected_data/other_user_content/collected=false +privacy/collected_data/other_user_content/linked_to_user=false +privacy/collected_data/other_user_content/used_for_tracking=false +privacy/collected_data/other_user_content/collection_purposes=0 +privacy/collected_data/browsing_history/collected=false +privacy/collected_data/browsing_history/linked_to_user=false +privacy/collected_data/browsing_history/used_for_tracking=false +privacy/collected_data/browsing_history/collection_purposes=0 +privacy/collected_data/search_hhistory/collected=false +privacy/collected_data/search_hhistory/linked_to_user=false +privacy/collected_data/search_hhistory/used_for_tracking=false +privacy/collected_data/search_hhistory/collection_purposes=0 +privacy/collected_data/user_id/collected=false +privacy/collected_data/user_id/linked_to_user=false +privacy/collected_data/user_id/used_for_tracking=false +privacy/collected_data/user_id/collection_purposes=0 +privacy/collected_data/device_id/collected=false +privacy/collected_data/device_id/linked_to_user=false +privacy/collected_data/device_id/used_for_tracking=false +privacy/collected_data/device_id/collection_purposes=0 +privacy/collected_data/purchase_history/collected=false +privacy/collected_data/purchase_history/linked_to_user=false +privacy/collected_data/purchase_history/used_for_tracking=false +privacy/collected_data/purchase_history/collection_purposes=0 +privacy/collected_data/product_interaction/collected=false +privacy/collected_data/product_interaction/linked_to_user=false +privacy/collected_data/product_interaction/used_for_tracking=false +privacy/collected_data/product_interaction/collection_purposes=0 +privacy/collected_data/advertising_data/collected=false +privacy/collected_data/advertising_data/linked_to_user=false +privacy/collected_data/advertising_data/used_for_tracking=false +privacy/collected_data/advertising_data/collection_purposes=0 +privacy/collected_data/other_usage_data/collected=false +privacy/collected_data/other_usage_data/linked_to_user=false +privacy/collected_data/other_usage_data/used_for_tracking=false +privacy/collected_data/other_usage_data/collection_purposes=0 +privacy/collected_data/crash_data/collected=false +privacy/collected_data/crash_data/linked_to_user=false +privacy/collected_data/crash_data/used_for_tracking=false +privacy/collected_data/crash_data/collection_purposes=0 +privacy/collected_data/performance_data/collected=false +privacy/collected_data/performance_data/linked_to_user=false +privacy/collected_data/performance_data/used_for_tracking=false +privacy/collected_data/performance_data/collection_purposes=0 +privacy/collected_data/other_diagnostic_data/collected=false +privacy/collected_data/other_diagnostic_data/linked_to_user=false +privacy/collected_data/other_diagnostic_data/used_for_tracking=false +privacy/collected_data/other_diagnostic_data/collection_purposes=0 +privacy/collected_data/environment_scanning/collected=false +privacy/collected_data/environment_scanning/linked_to_user=false +privacy/collected_data/environment_scanning/used_for_tracking=false +privacy/collected_data/environment_scanning/collection_purposes=0 +privacy/collected_data/hands/collected=false +privacy/collected_data/hands/linked_to_user=false +privacy/collected_data/hands/used_for_tracking=false +privacy/collected_data/hands/collection_purposes=0 +privacy/collected_data/head/collected=false +privacy/collected_data/head/linked_to_user=false +privacy/collected_data/head/used_for_tracking=false +privacy/collected_data/head/collection_purposes=0 +privacy/collected_data/other_data_types/collected=false +privacy/collected_data/other_data_types/linked_to_user=false +privacy/collected_data/other_data_types/used_for_tracking=false +privacy/collected_data/other_data_types/collection_purposes=0 +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" diff --git a/project.godot b/project.godot index 45937fb..bc5cd6f 100644 --- a/project.godot +++ b/project.godot @@ -98,5 +98,6 @@ crouch={ [rendering] +textures/vram_compression/import_etc2_astc=true anti_aliasing/quality/msaa_3d=1 anti_aliasing/quality/screen_space_aa=1 diff --git a/scenes/characters/blue/dummy.tscn b/scenes/characters/blue/dummy.tscn index a032b79..4d4fff3 100644 --- a/scenes/characters/blue/dummy.tscn +++ b/scenes/characters/blue/dummy.tscn @@ -1419,11 +1419,11 @@ shape = SubResource("SphereShape3D_axep3") [node name="PhysicalBoneSimulator3D" type="PhysicalBoneSimulator3D" parent="Body/Armature/Skeleton3D"] [node name="Physical Bone mixamorig_Hips" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"] -transform = Transform3D(82.5044, -54.0559, -16.4615, 55.0482, 83.4649, 1.8195, 12.756, -10.5629, 98.619, 1.31498, 0.290625, -87.4646) +transform = Transform3D(82.5044, -54.0559, -16.4615, 55.0482, 83.4649, 1.8195, 12.756, -10.5629, 98.619, 1.31498, 0.290624, -87.4646) collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.28935e-08, -8.84756e-09, 0.0499956) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.28962e-08, -5.58794e-09, 0.0499956) body_offset = Transform3D(100, -0.0695305, -0.00860786, -1.28746e-05, 12.2744, -99.2438, 0.0700493, 99.2438, 12.2744, 0.000439644, 4.96175, -0.613665) mass = 20.0 bone_name = "mixamorig_Hips" @@ -1440,7 +1440,7 @@ transform = Transform3D(80.9412, -58.5461, -4.56913, 57.6046, 80.6695, -13.1964, collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.66277e-09, 1.11885e-09, 0.0586601) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.66276e-09, 1.11885e-09, 0.05866) body_offset = Transform3D(100, 1.52588e-05, 1.00136e-05, 4.76837e-06, 0, -100, -1.52588e-05, 100, -1.90735e-06, -9.53674e-07, 5.866, 0) mass = 20.0 bone_name = "mixamorig_Spine" @@ -1453,11 +1453,11 @@ transform = Transform3D(0.0318071, 3.86358e-14, 4.9738e-14, -2.13163e-14, -1.629 shape = SubResource("CapsuleShape3D_126jt") [node name="Physical Bone mixamorig_Head" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"] -transform = Transform3D(-97.8019, 4.4733, 20.366, -15.8369, -79.4709, -58.5966, 13.5638, -60.5339, 78.4325, -13.8193, 23.4986, -143.635) +transform = Transform3D(-97.8019, 4.47329, 20.366, -15.8369, -79.4709, -58.5966, 13.5638, -60.5339, 78.4325, -13.8193, 23.4986, -143.635) collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.81038e-08, -1.37836e-07, 0.0981531) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.81035e-08, -1.39698e-07, 0.0981531) body_offset = Transform3D(-100, -0.00220108, -0.000778198, -5.24521e-06, 33.8066, -94.1122, 0.00232792, -94.1122, -33.8066, 7.05719e-05, 9.23741, 3.31821) mass = 7.0 bone_name = "mixamorig_Head" @@ -1474,7 +1474,7 @@ transform = Transform3D(86.1165, 14.0252, -48.8594, -45.4995, 64.1262, -61.787, collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.55782e-09, 2.39336e-07, 0.137023) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5578e-09, 2.39336e-07, 0.137023) body_offset = Transform3D(100, -3.43323e-05, -2.67029e-05, 2.47955e-05, 100, -7.62939e-06, 1.71661e-05, -3.8147e-06, 100, 3.8147e-06, -2.28882e-05, -13.7023) mass = 3.0 bone_name = "mixamorig_LeftArm" @@ -1491,7 +1491,7 @@ transform = Transform3D(-48.2566, -12.058, 86.752, -78.7312, -37.4258, -48.997, collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.28799e-07, 6.04928e-08, 0.138072) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.288e-07, 6.04928e-08, 0.138072) body_offset = Transform3D(100, 3.05176e-05, -3.8147e-05, -3.8147e-05, 0, -100, -3.8147e-06, 100, 1.14441e-05, 3.8147e-05, 13.8072, -7.62939e-06) mass = 3.0 bone_name = "mixamorig_LeftForeArm" @@ -1504,11 +1504,11 @@ transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, 0.01, 0, -0.01, -4.37114e-1 shape = SubResource("CapsuleShape3D_2k34c") [node name="Physical Bone mixamorig_LeftHand" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"] -transform = Transform3D(9.11563, -98.6768, 13.4089, 23.9481, -10.8976, -96.4766, 96.6612, 12.0056, 22.6379, -10.9684, 56.2242, -106.442) +transform = Transform3D(9.11563, -98.6768, 13.4089, 23.9481, -10.8976, -96.4766, 96.6612, 12.0056, 22.6379, -10.9685, 56.2242, -106.442) collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.19564e-08, -9.40636e-08, 0.0264903) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.24797e-07, -1.22003e-07, 0.0264902) body_offset = Transform3D(-58.5197, 57.9894, 56.6805, 1.62125e-05, 69.899, -71.5132, -81.0891, -41.8493, -40.9047, -1.50148, 1.89441, 1.08356) bone_name = "mixamorig_LeftHand" joint_constraints/bias = 0.3 @@ -1524,7 +1524,7 @@ transform = Transform3D(30.7246, 72.8896, 61.1809, 93.7855, -34.092, -6.48192, 1 collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.63344e-08, 1.16325e-07, 0.137023) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.63344e-08, 1.16326e-07, 0.137023) body_offset = Transform3D(100, -5.72205e-06, 1.19209e-05, 6.67572e-06, 1.07288e-05, -100, -1.90735e-06, 100, 2.64645e-05, 0, 13.7023, -1.52588e-05) mass = 3.0 bone_name = "mixamorig_RightArm" @@ -1541,7 +1541,7 @@ transform = Transform3D(24.3552, 37.4063, 89.4852, -25.0101, 91.5653, -31.4688, collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.40737e-07, -4.23738e-08, 0.138072) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.40737e-07, -4.23739e-08, 0.138072) body_offset = Transform3D(100, -1.14441e-05, 8.58307e-06, -3.8147e-06, 100, 9.53674e-06, 5.72205e-06, -5.72205e-06, 100, -1.52588e-05, 2.92063e-06, -13.8072) mass = 3.0 bone_name = "mixamorig_RightForeArm" @@ -1558,7 +1558,7 @@ transform = Transform3D(89.0767, -24.8074, -38.0781, 5.05123, 88.6726, -45.9527, collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.51926e-09, 2.77068e-07, 0.0264903) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.86265e-08, 2.30502e-07, 0.0264903) body_offset = Transform3D(-58.5197, -57.9893, -56.6805, -1.33514e-05, 69.8991, -71.5131, 81.0891, -41.8492, -40.9048, 1.5015, 1.89439, 1.08359) bone_name = "mixamorig_RightHand" joint_constraints/bias = 0.3 @@ -1574,7 +1574,7 @@ transform = Transform3D(-96.1774, -26.2683, 7.73901, -23.4203, 64.2554, -72.957, collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.39893e-08, -7.74373e-09, 0.202997) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.39893e-08, -7.74374e-09, 0.202997) body_offset = Transform3D(100, -3.8147e-05, 1.14441e-05, 7.62939e-06, 7.62939e-06, -100, 4.19617e-05, 100, 3.8147e-06, -5.72205e-06, 20.2997, 0) mass = 5.0 bone_name = "mixamorig_LeftUpLeg" @@ -1591,7 +1591,7 @@ transform = Transform3D(-97.5216, -11.6193, -18.8291, -22.0483, 58.1427, 78.3154 collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.01575e-09, -2.10752e-08, 0.210495) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.01576e-09, -2.10753e-08, 0.210495) body_offset = Transform3D(100, 4.76837e-06, 1.14441e-05, 5.72205e-06, 0, -100, -9.53674e-07, 100, 1.90735e-05, -1.90735e-06, 21.0495, -1.90735e-06) mass = 5.0 bone_name = "mixamorig_LeftLeg" @@ -1604,7 +1604,7 @@ transform = Transform3D(0.01, 0, 0, 0, -4.37114e-10, 0.01, 0, -0.01, -4.37114e-1 shape = SubResource("CapsuleShape3D_vwdij") [node name="Physical Bone mixamorig_LeftFoot" type="PhysicalBone3D" parent="Body/Armature/Skeleton3D/PhysicalBoneSimulator3D"] -transform = Transform3D(-93.6712, -34.5296, 5.78095, -34.9451, 91.207, -21.4506, 2.13419, -22.1132, -97.501, 11.7385, 3.12728, -14.5678) +transform = Transform3D(-93.6712, -34.5296, 5.78095, -34.9451, 91.207, -21.4506, 2.13418, -22.1132, -97.501, 11.7385, 3.12728, -14.5678) collision_layer = 4 collision_mask = 4 joint_type = 1 @@ -1658,7 +1658,7 @@ transform = Transform3D(-88.192, -17.3351, 43.8367, -46.8549, 42.4444, -77.4796, collision_layer = 4 collision_mask = 4 joint_type = 1 -joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.24152e-08, -2.70387e-09, 0.078608) +joint_offset = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.24153e-08, -2.70381e-09, 0.078608) body_offset = Transform3D(100, 1.14441e-05, -7.62939e-06, -7.62939e-06, -1.90735e-05, -100, 0, 100, -5.72205e-05, 5.84126e-06, 7.8608, 4.76837e-06) bone_name = "mixamorig_RightFoot" joint_constraints/bias = 0.3 diff --git a/scenes/maps/base/map_loader.gd b/scenes/maps/base/map_loader.gd index ea160ce..58c7766 100644 --- a/scenes/maps/base/map_loader.gd +++ b/scenes/maps/base/map_loader.gd @@ -34,16 +34,22 @@ func _ready() -> void: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: - pass + var active_players = player_spawner._get_root().get_children() + for n in active_players: + if n.owner: + if not GameServerManager.players.has(n.owner): + _remove_player(n.owner) @rpc("call_local", "reliable", "any_peer") func _request_spawn(id: int): _spawn_player(id) func _spawn_player(id: int): - var char : Node3D = null player_spawner.spawn_players(spawn_locations, id) +func _remove_player(id: int): + player_spawner.remove_player(id) + func _add_player_spawner() -> Error : if not ResourceLoader.exists(PLAYER_SPAWNER): return ERR_DOES_NOT_EXIST diff --git a/scenes/maps/base/player_spawner/player_spawner.gd b/scenes/maps/base/player_spawner/player_spawner.gd index 5eedc10..0c7da48 100644 --- a/scenes/maps/base/player_spawner/player_spawner.gd +++ b/scenes/maps/base/player_spawner/player_spawner.gd @@ -29,3 +29,9 @@ func spawn_players(spawn_location: SpawnController, id: int) -> Error: _get_root().add_child(char) return OK return ERR_UNAUTHORIZED + +func remove_player(id: int) -> Error: + if multiplayer.is_server(): + _get_root().find_child("PlayerPlaceholder_" + str(id)).queue_free() + return OK + return ERR_UNAUTHORIZED diff --git a/scenes/player/placeholder.gd b/scenes/player/placeholder.gd index 8c247d7..f2060d4 100644 --- a/scenes/player/placeholder.gd +++ b/scenes/player/placeholder.gd @@ -1,4 +1,5 @@ extends Node3D +class_name PlayerPlaceholder @export var owner_id: int = 0 @export var initial_position: Vector3 = Vector3(0, 0, 0) diff --git a/scenes/utils/menus/main/main_menu.gd b/scenes/utils/menus/main/main_menu.gd index d6ed328..f4e7778 100644 --- a/scenes/utils/menus/main/main_menu.gd +++ b/scenes/utils/menus/main/main_menu.gd @@ -4,14 +4,24 @@ var player_manager: PlayerManager = PlayerManager.new() # Called when the node enters the scene tree for the first time. func _ready() -> void: - var map_dir := DirAccess.open("res://scenes/maps/maps/") - - if map_dir: - map_dir.list_dir_begin() - var file_name = map_dir.get_next() - while file_name != "": - $UI/CreateServer/Maps.add_item(file_name) - file_name = map_dir.get_next() + if OS.has_feature("dedicated_server"): + print("I'm here") + var chosen_map = "lowpoly_tdm_2.tscn" + var path_tmpl := "res://scenes/maps/maps/%s" + var path := path_tmpl % chosen_map + GameServerManager.current_map = path + var err := GameServerManager.create_server(player_manager) + if err != OK: + push_error("couldn't create a server") + change_level.call_deferred(load(path)) + else: + var map_dir := DirAccess.open("res://scenes/maps/maps/") + if map_dir: + map_dir.list_dir_begin() + var file_name = map_dir.get_next() + while file_name != "": + $UI/CreateServer/Maps.add_item(file_name) + file_name = map_dir.get_next() # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: diff --git a/scripts/game_server_manager.gd b/scripts/game_server_manager.gd index 64f95ab..1e82848 100644 --- a/scripts/game_server_manager.gd +++ b/scripts/game_server_manager.gd @@ -16,11 +16,23 @@ func _on_connected_ok(): @rpc("any_peer", "reliable", "call_remote") func register_player(id: int, name: String): - var player_state := PlayerState.new() - player_state.id = id - player_state.name = name - players[multiplayer.get_remote_sender_id()] = player_state + if multiplayer.is_server(): + var player_state := PlayerState.new() + player_state.id = id + player_state.name = name + players[multiplayer.get_remote_sender_id()] = player_state +@rpc("any_peer", "reliable", "call_remote") +func remove_player(id: int): + if multiplayer.is_server(): + if players.has(id): + players.erase(id) + + + +func _on_player_disconnected(id): + remove_player.rpc_id(1, id) + func _on_player_connected(id): pass #if multiplayer.is_server(): @@ -28,6 +40,7 @@ func _on_player_connected(id): func _ready() -> void: multiplayer.peer_connected.connect(_on_player_connected) + multiplayer.peer_disconnected.connect(_on_player_disconnected) multiplayer.connected_to_server.connect(_on_connected_ok) pass # Replace with function body. @@ -43,8 +56,8 @@ func create_server(player_data: PlayerManager) -> Error: var err = peer.create_server(27015, 30) if err: return err - multiplayer.multiplayer_peer = peer - if DisplayServer.get_name() != "headless": + if not OS.has_feature("dedicated_server"): + multiplayer.multiplayer_peer = peer var player_state := PlayerState.new() player_state.id = 1 player_state.name = player_data.name