Bryan Lee 1 год назад
Родитель
Сommit
c72ede0135

+ 2 - 0
.gitignore

@@ -12,3 +12,5 @@ export/macos/*
 !export/macos/.gitkeep
 export/linux/*
 !export/linux/.gitkeep
+export/ios/*
+!export/ios/.gitkeep

+ 0 - 0
export/ios/.gitkeep


+ 3 - 2
project/assets/grids/Dark/texture_01.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://bdw2j5kejiegc"
 path.s3tc="res://.godot/imported/texture_01.png-9bd56e48d22df69a6b7740c152c3f9d2.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_01.png-9bd56e48d22df69a6b7740c152c3f9d2.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Dark/texture_01.png"
-dest_files=["res://.godot/imported/texture_01.png-9bd56e48d22df69a6b7740c152c3f9d2.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_01.png-9bd56e48d22df69a6b7740c152c3f9d2.s3tc.ctex", "res://.godot/imported/texture_01.png-9bd56e48d22df69a6b7740c152c3f9d2.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Dark/texture_05.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://c8arnlq67qi7"
 path.s3tc="res://.godot/imported/texture_05.png-7082be356ef4f9bd0974c36059eb850a.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_05.png-7082be356ef4f9bd0974c36059eb850a.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Dark/texture_05.png"
-dest_files=["res://.godot/imported/texture_05.png-7082be356ef4f9bd0974c36059eb850a.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_05.png-7082be356ef4f9bd0974c36059eb850a.s3tc.ctex", "res://.godot/imported/texture_05.png-7082be356ef4f9bd0974c36059eb850a.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Green/texture_01.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://dko2pc0uq6pwf"
 path.s3tc="res://.godot/imported/texture_01.png-3c0ba06bd6efa8da08d01b756cae8704.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_01.png-3c0ba06bd6efa8da08d01b756cae8704.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Green/texture_01.png"
-dest_files=["res://.godot/imported/texture_01.png-3c0ba06bd6efa8da08d01b756cae8704.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_01.png-3c0ba06bd6efa8da08d01b756cae8704.s3tc.ctex", "res://.godot/imported/texture_01.png-3c0ba06bd6efa8da08d01b756cae8704.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Green/texture_09.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://djg8y25y06h5n"
 path.s3tc="res://.godot/imported/texture_09.png-ea6a413101c83a12fb280044840d04c5.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_09.png-ea6a413101c83a12fb280044840d04c5.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Green/texture_09.png"
-dest_files=["res://.godot/imported/texture_09.png-ea6a413101c83a12fb280044840d04c5.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_09.png-ea6a413101c83a12fb280044840d04c5.s3tc.ctex", "res://.godot/imported/texture_09.png-ea6a413101c83a12fb280044840d04c5.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Light/texture_01.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://d2pabwwu1pndq"
 path.s3tc="res://.godot/imported/texture_01.png-fb83fb9b38251af6553c1763cffcbadd.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_01.png-fb83fb9b38251af6553c1763cffcbadd.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Light/texture_01.png"
-dest_files=["res://.godot/imported/texture_01.png-fb83fb9b38251af6553c1763cffcbadd.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_01.png-fb83fb9b38251af6553c1763cffcbadd.s3tc.ctex", "res://.godot/imported/texture_01.png-fb83fb9b38251af6553c1763cffcbadd.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Light/texture_02.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://iutfrfog8qoe"
 path.s3tc="res://.godot/imported/texture_02.png-3071b47be8de6abed035049c7721cba1.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_02.png-3071b47be8de6abed035049c7721cba1.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Light/texture_02.png"
-dest_files=["res://.godot/imported/texture_02.png-3071b47be8de6abed035049c7721cba1.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_02.png-3071b47be8de6abed035049c7721cba1.s3tc.ctex", "res://.godot/imported/texture_02.png-3071b47be8de6abed035049c7721cba1.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Orange/texture_01.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://cucgybt6ybemg"
 path.s3tc="res://.godot/imported/texture_01.png-744473c7ef4ade5b04397aadcb06d7a8.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_01.png-744473c7ef4ade5b04397aadcb06d7a8.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Orange/texture_01.png"
-dest_files=["res://.godot/imported/texture_01.png-744473c7ef4ade5b04397aadcb06d7a8.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_01.png-744473c7ef4ade5b04397aadcb06d7a8.s3tc.ctex", "res://.godot/imported/texture_01.png-744473c7ef4ade5b04397aadcb06d7a8.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Orange/texture_02.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://ct5dmokcsmu7y"
 path.s3tc="res://.godot/imported/texture_02.png-e8f9d98f902460e3b3bdbe90d3753e68.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_02.png-e8f9d98f902460e3b3bdbe90d3753e68.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Orange/texture_02.png"
-dest_files=["res://.godot/imported/texture_02.png-e8f9d98f902460e3b3bdbe90d3753e68.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_02.png-e8f9d98f902460e3b3bdbe90d3753e68.s3tc.ctex", "res://.godot/imported/texture_02.png-e8f9d98f902460e3b3bdbe90d3753e68.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Orange/texture_09.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://b58xv1joypxo5"
 path.s3tc="res://.godot/imported/texture_09.png-d438ba43a020352df3bcf11b6da212f2.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_09.png-d438ba43a020352df3bcf11b6da212f2.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Orange/texture_09.png"
-dest_files=["res://.godot/imported/texture_09.png-d438ba43a020352df3bcf11b6da212f2.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_09.png-d438ba43a020352df3bcf11b6da212f2.s3tc.ctex", "res://.godot/imported/texture_09.png-d438ba43a020352df3bcf11b6da212f2.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Purple/texture_09.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://cm5m7nr7dugjd"
 path.s3tc="res://.godot/imported/texture_09.png-191e19b13f2516432102323fe45153f0.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_09.png-191e19b13f2516432102323fe45153f0.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Purple/texture_09.png"
-dest_files=["res://.godot/imported/texture_09.png-191e19b13f2516432102323fe45153f0.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_09.png-191e19b13f2516432102323fe45153f0.s3tc.ctex", "res://.godot/imported/texture_09.png-191e19b13f2516432102323fe45153f0.etc2.ctex"]
 
 [params]
 

+ 3 - 2
project/assets/grids/Red/texture_01.png.import

@@ -4,15 +4,16 @@ importer="texture"
 type="CompressedTexture2D"
 uid="uid://hy5dnopmobtg"
 path.s3tc="res://.godot/imported/texture_01.png-ed9dd3a207f46aa3482388379876a098.s3tc.ctex"
+path.etc2="res://.godot/imported/texture_01.png-ed9dd3a207f46aa3482388379876a098.etc2.ctex"
 metadata={
-"imported_formats": ["s3tc_bptc"],
+"imported_formats": ["s3tc_bptc", "etc2_astc"],
 "vram_texture": true
 }
 
 [deps]
 
 source_file="res://assets/grids/Red/texture_01.png"
-dest_files=["res://.godot/imported/texture_01.png-ed9dd3a207f46aa3482388379876a098.s3tc.ctex"]
+dest_files=["res://.godot/imported/texture_01.png-ed9dd3a207f46aa3482388379876a098.s3tc.ctex", "res://.godot/imported/texture_01.png-ed9dd3a207f46aa3482388379876a098.etc2.ctex"]
 
 [params]
 

+ 7 - 0
project/authentication/providers/apple_game_center_authentication_provider.gd

@@ -6,5 +6,12 @@ func _init() -> void:
 	name = "AppleGameCenter"
 
 
+var game_center
+
+
 func initialize() -> Result:
+	if not Engine.has_singleton("GameCenter"):
+		return Result.Err("GameCenter not available")
+	game_center = Engine.get_singleton("GameCenter")
+
 	return Result.Err("Apple Game Center not yet implemented")

+ 83 - 13
project/export_presets.cfg

@@ -7,12 +7,7 @@ dedicated_server=true
 custom_features=""
 export_filter="customized"
 customized_files={
-"res://": "strip",
-"res://addons/godotsteam/": "remove",
-"res://authentication/apple_game_center_authentication.gd": "remove",
-"res://authentication/google_play_games_authentication.gd": "remove",
-"res://authentication/open_id_authentication.gd": "remove",
-"res://authentication/steam_authentication.gd": "remove"
+"res://": "strip"
 }
 include_filter=""
 exclude_filter=""
@@ -54,7 +49,7 @@ runnable=true
 dedicated_server=false
 custom_features=""
 export_filter="resources"
-export_files=PackedStringArray("res://multiplayer/id_provider.gd", "res://multiplayer/game_server.gd", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://utils/history_recorder.gd", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://program.gd", "res://addons/netfox.internals/plugin.gd", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://icon.svg", "res://multiplayer/game_client.gd", "res://multiplayer/game_network.gd", "res://authentication/open_id_authentication.gd", "res://authentication/authentication.gd", "res://game/player/player.gd", "res://game/player/player.tscn", "res://game/player/player_controller.gd", "res://game/player/player_controller.tscn", "res://game/world/game_world.gd", "res://game/world/game_world.tscn", "res://game/game.tscn", "res://main/main.gd", "res://main/main.tscn")
+export_files=PackedStringArray("res://multiplayer/id_provider.gd", "res://multiplayer/game_server.gd", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://main/main.tscn", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://program.gd", "res://addons/netfox.internals/plugin.gd", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://icon.svg", "res://multiplayer/game_client.gd", "res://multiplayer/game_network.gd", "res://main/main.gd", "res://authentication/authentication.gd", "res://game/player/player.gd", "res://game/player/player.tscn", "res://game/player/player_controller.gd", "res://game/player/player_controller.tscn", "res://game/world/game_world.gd", "res://game/world/game_world.tscn", "res://game/game.tscn", "res://authentication/providers/authentication_provider.gd", "res://authentication/providers/open_id_authentication_provider.gd")
 include_filter=""
 exclude_filter=""
 export_path="../export/web/index.html"
@@ -93,10 +88,10 @@ runnable=true
 dedicated_server=false
 custom_features=""
 export_filter="resources"
-export_files=PackedStringArray("res://multiplayer/id_provider.gd", "res://multiplayer/game_server.gd", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://utils/history_recorder.gd", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://icon.svg", "res://program.gd", "res://addons/godotsteam/godotsteam.gdextension", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://addons/netfox.internals/plugin.gd", "res://multiplayer/game_client.gd", "res://multiplayer/game_network.gd", "res://authentication/authentication.gd", "res://authentication/steam_authentication.gd", "res://game/player/player.gd", "res://game/player/player.tscn", "res://game/player/player_controller.gd", "res://game/player/player_controller.tscn", "res://game/world/game_world.gd", "res://game/world/game_world.tscn", "res://game/game.tscn", "res://main/main.gd", "res://main/main.tscn")
+export_files=PackedStringArray("res://multiplayer/id_provider.gd", "res://multiplayer/game_server.gd", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://main/main.tscn", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://icon.svg", "res://program.gd", "res://game/game.tscn", "res://game/world/game_world.tscn", "res://game/world/game_world.gd", "res://game/player/player_controller.tscn", "res://game/player/player_controller.gd", "res://game/player/player.tscn", "res://game/player/player.gd", "res://main/main.gd", "res://authentication/authentication.gd", "res://multiplayer/game_network.gd", "res://multiplayer/game_client.gd", "res://addons/godotsteam/godotsteam.gdextension", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://addons/netfox.internals/plugin.gd", "res://authentication/providers/authentication_provider.gd", "res://authentication/providers/steam_authentication_provider.gd", "res://authentication/authentication.tscn")
 include_filter=""
 exclude_filter=""
-export_path="../export/windows/Demo.exe"
+export_path="../export/windows/MultiplayerBase.exe"
 encryption_include_filters=""
 encryption_exclude_filters=""
 encrypt_pck=false
@@ -157,10 +152,10 @@ runnable=true
 dedicated_server=false
 custom_features=""
 export_filter="resources"
-export_files=PackedStringArray("res://addons/godotsteam/godotsteam.gdextension", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://addons/netfox.internals/plugin.gd", "res://multiplayer/game_client.gd", "res://multiplayer/game_network.gd", "res://multiplayer/game_server.gd", "res://multiplayer/id_provider.gd", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://utils/history_recorder.gd", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://icon.svg", "res://program.gd", "res://authentication/authentication.gd", "res://authentication/steam_authentication.gd", "res://game/player/player.gd", "res://game/player/player.tscn", "res://game/player/player_controller.gd", "res://game/player/player_controller.tscn", "res://game/world/game_world.gd", "res://game/world/game_world.tscn", "res://game/game.tscn", "res://main/main.gd", "res://main/main.tscn")
+export_files=PackedStringArray("res://addons/godotsteam/godotsteam.gdextension", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://addons/netfox.internals/plugin.gd", "res://multiplayer/game_client.gd", "res://multiplayer/game_network.gd", "res://multiplayer/game_server.gd", "res://multiplayer/id_provider.gd", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://main/main.tscn", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://icon.svg", "res://program.gd", "res://authentication/authentication.gd", "res://main/main.gd", "res://game/player/player.gd", "res://game/player/player.tscn", "res://game/player/player_controller.gd", "res://game/player/player_controller.tscn", "res://game/world/game_world.gd", "res://game/world/game_world.tscn", "res://game/game.tscn", "res://authentication/providers/authentication_provider.gd", "res://authentication/providers/steam_authentication_provider.gd", "res://authentication/authentication.tscn")
 include_filter=""
 exclude_filter=""
-export_path="../export/macos/Demo.dmg"
+export_path="../export/macos/MultiplayerBase.dmg"
 encryption_include_filters=""
 encryption_exclude_filters=""
 encrypt_pck=false
@@ -263,10 +258,10 @@ runnable=true
 dedicated_server=false
 custom_features=""
 export_filter="resources"
-export_files=PackedStringArray("res://program.gd", "res://icon.svg", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://utils/history_recorder.gd", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://multiplayer/game_client.gd", "res://multiplayer/game_network.gd", "res://multiplayer/game_server.gd", "res://multiplayer/id_provider.gd", "res://addons/godotsteam/godotsteam.gdextension", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://addons/netfox.internals/plugin.gd", "res://authentication/authentication.gd", "res://authentication/steam_authentication.gd", "res://game/player/player.gd", "res://game/player/player.tscn", "res://game/player/player_controller.gd", "res://game/player/player_controller.tscn", "res://game/world/game_world.gd", "res://game/world/game_world.tscn", "res://game/game.tscn", "res://main/main.gd", "res://main/main.tscn")
+export_files=PackedStringArray("res://program.gd", "res://icon.svg", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://main/main.tscn", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://multiplayer/game_client.gd", "res://multiplayer/game_network.gd", "res://multiplayer/game_server.gd", "res://multiplayer/id_provider.gd", "res://addons/godotsteam/godotsteam.gdextension", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://addons/netfox.internals/plugin.gd", "res://authentication/authentication.gd", "res://main/main.gd", "res://game/player/player.gd", "res://game/player/player.tscn", "res://game/player/player_controller.gd", "res://game/player/player_controller.tscn", "res://game/world/game_world.gd", "res://game/world/game_world.tscn", "res://game/game.tscn", "res://authentication/authentication.tscn", "res://authentication/providers/authentication_provider.gd", "res://authentication/providers/steam_authentication_provider.gd")
 include_filter=""
 exclude_filter=""
-export_path="../export/linux/Demo.x86_64"
+export_path="../export/linux/MultiplayerBase.x86_64"
 encryption_include_filters=""
 encryption_exclude_filters=""
 encrypt_pck=false
@@ -295,3 +290,78 @@ unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
 ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
 kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
 rm -rf \"{temp_dir}\""
+
+[preset.5]
+
+name="iOS"
+platform="iOS"
+runnable=true
+dedicated_server=false
+custom_features=""
+export_filter="resources"
+export_files=PackedStringArray("res://addons/netfox.internals/plugin.gd", "res://addons/netfox/icons/rollback-synchronizer.svg", "res://addons/netfox/icons/tick-interpolator.svg", "res://addons/netfox/properties/property-cache.gd", "res://addons/netfox/properties/property-entry.gd", "res://addons/netfox/properties/property-snapshot.gd", "res://addons/netfox/rollback/network-rollback.gd", "res://addons/netfox/rollback/rollback-freshness-store.gd", "res://addons/netfox/rollback/rollback-synchronizer.gd", "res://addons/netfox/interpolators.gd", "res://addons/netfox/netfox.gd", "res://addons/netfox/network-time-synchronizer.gd", "res://addons/netfox/network-time.gd", "res://addons/netfox/tick-interpolator.gd", "res://addons/netfox.internals/logger.gd", "res://authentication/providers/authentication_provider.gd", "res://authentication/providers/apple_game_center_authentication_provider.gd", "res://authentication/authentication.tscn", "res://authentication/authentication.gd", "res://game/player/player.gd", "res://game/player/player.tscn", "res://game/player/player_controller.gd", "res://game/player/player_controller.tscn", "res://game/world/game_world.gd", "res://game/world/game_world.tscn", "res://game/game.tscn", "res://main/main.gd", "res://main/main.tscn", "res://multiplayer/game_client.gd", "res://multiplayer/game_network.gd", "res://multiplayer/game_server.gd", "res://multiplayer/id_provider.gd", "res://utils/optional/enum_dict.gd", "res://utils/optional/enum_struct.gd", "res://utils/optional/enum_variant.gd", "res://utils/optional/error.gd", "res://utils/optional/option.gd", "res://utils/optional/plugin.gd", "res://utils/optional/result.gd", "res://utils/promise/promise.gd", "res://utils/logger.gd", "res://utils/object_serializer.gd", "res://icon.svg", "res://program.gd")
+include_filter=""
+exclude_filter=""
+export_path="../export/ios/MultiplayerBase.ipa"
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
+
+[preset.5.options]
+
+custom_template/debug=""
+custom_template/release=""
+architectures/arm64=true
+application/app_store_team_id="W625V5W82L"
+application/code_sign_identity_debug=""
+application/export_method_debug=1
+application/code_sign_identity_release=""
+application/export_method_release=0
+application/targeted_device_family=2
+application/bundle_identifier="multiplayer-base.bryanmylee.com"
+application/signature=""
+application/short_version=""
+application/version=""
+application/icon_interpolation=4
+application/launch_screens_interpolation=4
+application/export_project_only=false
+capabilities/access_wifi=false
+capabilities/push_notifications=false
+user_data/accessible_from_files_app=false
+user_data/accessible_from_itunes_sharing=false
+privacy/camera_usage_description=""
+privacy/camera_usage_description_localized={}
+privacy/microphone_usage_description=""
+privacy/microphone_usage_description_localized={}
+privacy/photolibrary_usage_description=""
+privacy/photolibrary_usage_description_localized={}
+icons/iphone_120x120=""
+icons/iphone_180x180=""
+icons/ipad_76x76=""
+icons/ipad_152x152=""
+icons/ipad_167x167=""
+icons/app_store_1024x1024=""
+icons/spotlight_40x40=""
+icons/spotlight_80x80=""
+icons/settings_58x58=""
+icons/settings_87x87=""
+icons/notification_40x40=""
+icons/notification_60x60=""
+storyboard/use_launch_screen_storyboard=false
+storyboard/image_scale_mode=0
+storyboard/custom_image@2x=""
+storyboard/custom_image@3x=""
+storyboard/use_custom_bg_color=false
+storyboard/custom_bg_color=Color(0, 0, 0, 1)
+landscape_launch_screens/iphone_2436x1125=""
+landscape_launch_screens/iphone_2208x1242=""
+landscape_launch_screens/ipad_1024x768=""
+landscape_launch_screens/ipad_2048x1536=""
+portrait_launch_screens/iphone_640x960=""
+portrait_launch_screens/iphone_640x1136=""
+portrait_launch_screens/iphone_750x1334=""
+portrait_launch_screens/iphone_1125x2436=""
+portrait_launch_screens/ipad_768x1024=""
+portrait_launch_screens/ipad_1536x2048=""
+portrait_launch_screens/iphone_1242x2208=""

+ 1 - 0
project/project.godot

@@ -74,3 +74,4 @@ mod_run={
 
 renderer/rendering_method="gl_compatibility"
 renderer/rendering_method.mobile="gl_compatibility"
+textures/vram_compression/import_etc2_astc=true