From 209bafa5f11dbd599f6d4c452aec4dc6411d426d Mon Sep 17 00:00:00 2001 From: Hamcha Date: Sun, 12 Jul 2020 17:26:40 +0200 Subject: [PATCH] Better icon and menu --- Actors/Player/Player.gd | 2 + Actors/Systems/Electricity/PowerNetwork.gd | 7 +- Graphics/UI/Background.shader | 2 +- Graphics/UI/logo-temp-pixel.png | Bin 0 -> 2463 bytes Graphics/UI/logo-temp-pixel.png.import | 34 ++++++ Graphics/logo-temp.afdesign | Bin 43536 -> 40452 bytes Scenes/Game.tscn | 5 +- Scenes/Global/Multiplayer.gd | 135 +++++++++++++++++++-- Scenes/Global/Music.tscn | 7 +- Scenes/Maps/odyssey.tscn | 1 + Scenes/Menu.gd | 12 +- Scenes/Menu.tscn | 126 +++++++++++++++++-- Scenes/Rendering/MapTiles.gd | 4 +- Scenes/UI.tscn | 9 +- export_presets.cfg | 8 +- icon.ico | Bin 0 -> 7838 bytes icon.png | Bin 3305 -> 11620 bytes project.godot | 7 +- 18 files changed, 319 insertions(+), 40 deletions(-) create mode 100644 Graphics/UI/logo-temp-pixel.png create mode 100644 Graphics/UI/logo-temp-pixel.png.import create mode 100644 icon.ico diff --git a/Actors/Player/Player.gd b/Actors/Player/Player.gd index bd881b7..9e6703a 100644 --- a/Actors/Player/Player.gd +++ b/Actors/Player/Player.gd @@ -11,7 +11,9 @@ var grip = 1.0 var stamina = MAX_STAMINA var speed_boost = 0 +onready var scene = $"/root/scene" onready var world = $"/root/scene/world" +onready var camera = $Camera export var is_controlled = false setget set_is_controlled diff --git a/Actors/Systems/Electricity/PowerNetwork.gd b/Actors/Systems/Electricity/PowerNetwork.gd index da1bf0e..0343cc3 100644 --- a/Actors/Systems/Electricity/PowerNetwork.gd +++ b/Actors/Systems/Electricity/PowerNetwork.gd @@ -78,6 +78,7 @@ func _physics_process(_delta: float) -> void: sink.available = available_supply # Check how much we actually need to drain from sources var remaining_drain = total_source - available_supply - for source in sources: - var source_load = source.power_source / total_source * remaining_drain - source.power_load = source_load + if remaining_drain > 0: + for source in sources: + var source_load = source.power_source / total_source * remaining_drain + source.power_load = source_load diff --git a/Graphics/UI/Background.shader b/Graphics/UI/Background.shader index ca9c79c..b8eaaf2 100644 --- a/Graphics/UI/Background.shader +++ b/Graphics/UI/Background.shader @@ -23,7 +23,7 @@ void fragment() { vec2 uv = FRAGCOORD.xy * SCREEN_PIXEL_SIZE - 0.5; uv.y *= SCREEN_PIXEL_SIZE.x/SCREEN_PIXEL_SIZE.y; - vec3 dir = vec3(uv*zoom, 1.); + vec3 dir = vec3(uv*(zoom+sin(TIME*0.01)*0.4), 1.); float time = TIME*speed+.25; float a1=.5+TIME*rotx; diff --git a/Graphics/UI/logo-temp-pixel.png b/Graphics/UI/logo-temp-pixel.png new file mode 100644 index 0000000000000000000000000000000000000000..6f4fb6a50b0a8662ec978bc759c705c7a838d0e0 GIT binary patch literal 2463 zcmV;Q31Ie#P)Id7htN#@+nJ)ir%_nhuM7d%Q<%b8VS z$mJ~~HWCfa%+3Y9&v@|>pq7BDnfk=kutHh;xTC^}H=Rzc^5_1wxhSUTkySU+n`(ORbG<{0DpfSdk!Ldxu{B8wP)Jodr?<3f)(0@wP?2!Q!`p=>_dU(GDyNfjgdDuqe29G~h zM9>r9t9?xppOEbUU+!p{gfTP&e6f?cA`CX(+bZ@5-lhG#%mZKM*lFtHm391I=GSSe zLa15(lnB?~S|OLD!M0ddBxu4)JcF8CXK>6$z{4?X&uywJC%*KM%+_t2-cf;9{9AAylugW`B04*Tb^{nsGmo17 zlIybq@6v49s&76a#;RK%n#uif*HXC`XB4n;XZ;{P@rX(HU4t3OQ-SU2iZP>|fy4wE z57?K~+obPB%a~X#S&yQ`1oRTyOEj&UeYfjlnjYeHr}ZNCYX?l*{B^{&=ZvQR%=Eprw9B>G?a?h! z7P2Rzy_{rgwWlrnZ!vM^8tuQs_C3eem-Nj89Zfzl`$o+-guklH{qqN=HHyK1*O@h{ zkp|732OM9HfGz9it@xq`Y4|)~-kD)Hq&RR^!;w7-jO$30c#217K4bWOz^MZm6$0C( zOcpnnvoDXvhjZHfQ4DOh^X9{HD(@}8{?vsYE{^#$FIuH3ngzbv)f|PFB^t`%<6FHB z)4OjO8+U4IYHDg~YHI2#t#|ryiNgou;THV9TaoQ92<;b;@m$twV(4`A8>r$sN05BRYW~ljv=Z zsarBz%Ey)1vUzCcATRaSl(3T*A5~Le@tSgOqe9x(qfi`EC@5@#jxGMlUi;s;aqD9ltNAIW1q>yF8? zPZv2=MSR}VQI7TS{2CmAk@5P}c1glW6v@wFp@@>+2e7b?<=%%A5CkFP9-IjjfF3Thr&2%dP_?4{3x8L6P z%$c5?HTT`eVX12MidpM8FGI#OY(m@ZEBOmYw8=d(qAPdw&eJ`>xCtem#beq5O9^rh z2bkBxp9f$$(KOroNA{q5&N|>`6)Vz=9>wDdw-T&<9%2FoK;j|4aucpcNWVE9+hOGGT*FsZow2H>>@|8F|_iN&``>dCPYT|IW~ z2evm59DrF0(%}zJGpok}oCNGV3D>927Q#AN$C3dYTI&F=KL+Vn1Gr%WLgs+|2LD~0{ItIT47Z%r>9*>}wC4dw8E>D! zlrPSF?ohl;6BJqoJYmP~zI@mdZ=b+a#kXDZvoNw60z-lUCbz~vtrIUI(?2Duc6TUR zIoV*Pg&?8w_;zbF>WMEgU`YdxLd*uMFT;N;*#{hDEY|?HgU7lBlN!L`nQ{}j-TVEb zA*Ra_31_34D^UfmnUbb6J48cFc`;nHE&H9fTAMJ$R=fB22t!OQ7C4s(&YE3+CDs8JM@!zcZLMBxNevs=k(379ycmgCQKLHsVDn#M)PfAQfLR(|DYzgD& z2f*4GyOk0A!+gH_cBd|Wb))XF^Z7N!1M3pp%pslkD@y!(4y}x-si~={si~={si~={ dsi~=^{s9Db%VL25K_ZJ2oZyxKfdmf{2ohla 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 literal 43536 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 DG3co% diff --git a/Scenes/Game.tscn b/Scenes/Game.tscn index 6646141..1521c3c 100644 --- a/Scenes/Game.tscn +++ b/Scenes/Game.tscn @@ -7,6 +7,8 @@ [node name="scene" type="Node"] script = ExtResource( 5 ) +[node name="systems" type="Node" parent="."] + [node name="world" type="Node2D" parent="."] scale = Vector2( 2, 2 ) script = ExtResource( 4 ) @@ -17,6 +19,3 @@ mapToLoad = 1 [node name="CanvasLayer" type="CanvasLayer" parent="."] [node name="ui" parent="CanvasLayer" instance=ExtResource( 3 )] -mouse_filter = 2 - -[node name="systems" type="Node" parent="."] diff --git a/Scenes/Global/Multiplayer.gd b/Scenes/Global/Multiplayer.gd index 8c7340c..0ef6f58 100644 --- a/Scenes/Global/Multiplayer.gd +++ b/Scenes/Global/Multiplayer.gd @@ -1,43 +1,108 @@ extends Node +signal ms_updated(action, data) +signal left() + +# Hosting info const SERVER_PORT = 5513 const MAX_PLAYERS = 30 +var port = SERVER_PORT + +# Master server data +const MASTER_SERVER_ADDR = "fgms.zyg.ovh" +const MASTER_SERVER_UDP_PORT = 9434 +const MS_GAME_CODE = "odyssey-0-a1" + +# Master server entry +var ms_active = false +var ms_key = "" +var server_name = "" export var player_name = "" + var player_info = {} func _ready(): player_name = "tider-" + str(randi() % 1000) + +func bind_events(): get_tree().connect("network_peer_connected", self, "_player_connected") get_tree().connect("network_peer_disconnected", self, "_player_disconnected") get_tree().connect("connected_to_server", self, "_connected_ok") get_tree().connect("connection_failed", self, "_connected_fail") get_tree().connect("server_disconnected", self, "_server_disconnected") +func punch_nat(): + var socketUDP = PacketPeerUDP.new() + if socketUDP.listen(SERVER_PORT) != OK: + push_error("error listening on port: " + str(SERVER_PORT)) + socketUDP.set_dest_address(MASTER_SERVER_ADDR, MASTER_SERVER_UDP_PORT) + socketUDP.put_packet("hi server!".to_ascii()) + # Poll for answer from server, since godot doesn't have events for UDP packets (ノへ ̄、) + var failed = 0 + while failed < 5: + yield(get_tree().create_timer(.3), "timeout") + if socketUDP.get_available_packet_count() < 1: + failed += 1 + print("no reply (attempt #", failed, ")") + continue + port = socketUDP.get_var(false) + print("Received ", port) + break + socketUDP.close() + +func discover_upnp(): + var upnp = UPNP.new() + upnp.discover(2000, 2, "InternetGatewayDevice") + return upnp.add_port_mapping(SERVER_PORT) + func host(): + print("Running UPNP magicks") + if discover_upnp() == UPNP.UPNP_RESULT_SUCCESS: + print("UPNP mapping added") + else: + push_warning("UPNP magicks fail, punching NAT in the face") + yield(punch_nat(), "completed") + + bind_events() var peer = NetworkedMultiplayerENet.new() - peer.create_server(SERVER_PORT, MAX_PLAYERS) - get_tree().set_network_peer(peer) + var server_res = peer.create_server(port, MAX_PLAYERS) + if server_res != OK: + match server_res: + ERR_CANT_CREATE: + push_error("Can't create server") + ERR_ALREADY_IN_USE: + push_error("Already in use") + return + get_tree().network_peer = peer print("Hosting") + server_name = player_name + "'s server" player_info[1] = { name=player_name } - #mapLoader.map.spawn_player(peer.get_unique_id()) + + get_tree().change_scene("res://Scenes/Game.tscn") + + # Add to master server + create_ms_entry() func join(addr: String): + bind_events() var peer = NetworkedMultiplayerENet.new() peer.create_client(addr, SERVER_PORT) get_tree().network_peer = peer - print("Connecting to", addr) + print("Connecting to ", addr) func leave(): var peer = get_tree().network_peer if get_tree().is_network_server(): - #TODO Do something if server - pass + # Tell MS we're leaving + if ms_active: + _ms_request("remove", { "key": ms_key }) + yield(self, "ms_updated") elif peer != null: #TODO Send leave message pass get_tree().network_peer = null - + emit_signal("left") func _player_connected(id): rpc_id(id, "register_player", player_name) if get_tree().is_network_server(): @@ -55,7 +120,7 @@ func _server_disconnected(): print("Disconnected from server") func _connected_fail(): - print("Connection failed") + push_warning("Connection failed") remote func register_player(username: String): var id = get_tree().get_rpc_sender_id() @@ -68,3 +133,57 @@ remote func spawn_players(players): #mapLoader.map.spawn_player(player_id) # Spawn myself as well #mapLoader.map.rpc("spawn_player", get_tree().network_peer.get_unique_id()) + +func _ms_request(endpoint: String, data): + var http_request = HTTPRequest.new() + add_child(http_request) + http_request.connect("request_completed", self, "_ms_response", [endpoint]) + print_debug("Telling ms to " + endpoint) + var error = http_request.request( + "https://" + MASTER_SERVER_ADDR + "/" + endpoint, + ["Content-Type: application/json"], + true, HTTPClient.METHOD_POST, JSON.print(data)) + if error != OK: + push_error("An error occurred in the HTTP request.") + +func get_game_data(): + return { + "name": server_name, + "port": port, + "max_players": MAX_PLAYERS, + "players": player_info.size() + } + +func create_ms_entry(): + _ms_request("new", { + "game_id": MS_GAME_CODE, + "data": get_game_data() + }) + update_ms_entry() + +func update_ms_entry(): + if ms_active: + _ms_request("update", { + "key": ms_key, + "data": get_game_data() + }) + yield(get_tree().create_timer(20), "timeout") + +func _ms_response(_result: int, response_code: int, _headers: PoolStringArray, body: PoolByteArray, action: String): + print_debug("MS said " + str(response_code)) + if response_code > 299: + push_error("ms action \"" + action + "\" returned error: " + str(response_code) + " - " + body.get_string_from_utf8()) + return + var json = JSON.parse(body.get_string_from_utf8()) + match action: + "new": + if json.result.ok: + ms_active = true + ms_key = json.result.key + emit_signal("ms_updated", action, json.result) + +func _notification(what): + # Are we quittin son? + if what == MainLoop.NOTIFICATION_WM_QUIT_REQUEST: + leave() + yield(self, "left") diff --git a/Scenes/Global/Music.tscn b/Scenes/Global/Music.tscn index 266b08d..fbed83c 100644 --- a/Scenes/Global/Music.tscn +++ b/Scenes/Global/Music.tscn @@ -2,12 +2,7 @@ [ext_resource path="res://Sounds/BGM/Bluemillenium_-_Je_suis_un_Phoenix_1.ogg" type="AudioStream" id=1] -[node name="Music" type="Control"] -anchor_right = 1.0 -anchor_bottom = 1.0 -__meta__ = { -"_edit_use_anchors_": false -} +[node name="Music" type="Node"] [node name="BGM" type="AudioStreamPlayer" parent="."] stream = ExtResource( 1 ) diff --git a/Scenes/Maps/odyssey.tscn b/Scenes/Maps/odyssey.tscn index 2a2d001..ebbd860 100644 --- a/Scenes/Maps/odyssey.tscn +++ b/Scenes/Maps/odyssey.tscn @@ -152,6 +152,7 @@ interlockTargetPath = NodePath("../AirlockExt3") [node name="ControlComp" parent="objects" instance=ExtResource( 6 )] position = Vector2( 576, 256 ) direction = 0 +computer_type = 0 [node name="CommsComp" parent="objects" instance=ExtResource( 6 )] position = Vector2( 576, 224 ) diff --git a/Scenes/Menu.gd b/Scenes/Menu.gd index 71fde41..81f7dee 100644 --- a/Scenes/Menu.gd +++ b/Scenes/Menu.gd @@ -18,7 +18,7 @@ func _process(delta): if delta > downThreshold: print("GPU is taking too much (", delta, "s < ", downThreshold, "s), adjusting shader scale") set_scale(scale+1) - elif delta < upThreshold and scale > 1: + elif delta < upThreshold and scale > 2: print("GPU is taking it easy (", delta, "s < ", upThreshold, "s), adjusting shader scale") set_scale(scale-1) @@ -30,3 +30,13 @@ func set_scale(val): func _on_resized(): $Viewport.size = rect_size / scale $Background.update() + +func _host_pressed(): + $"/root/Music/BGM".stop() + $"/root/Multiplayer".host() + +func _join_pressed(): + pass + +func _server_addr_changed(new_text: String): + $CenterContainer/PanelContainer/HBoxContainer/JoinButton.disabled = new_text.length() < 1 diff --git a/Scenes/Menu.tscn b/Scenes/Menu.tscn index a2ff025..a295d58 100644 --- a/Scenes/Menu.tscn +++ b/Scenes/Menu.tscn @@ -1,12 +1,25 @@ -[gd_scene load_steps=6 format=2] +[gd_scene load_steps=10 format=2] [ext_resource path="res://Scenes/Menu.gd" type="Script" id=1] [ext_resource path="res://Graphics/UI/Background.shader" type="Shader" id=2] -[ext_resource path="res://Graphics/UI/logo-temp.png" type="Texture" id=3] +[ext_resource path="res://Graphics/UI/logo-temp-pixel.png" type="Texture" id=3] +[ext_resource path="res://Graphics/UI/ui_theme.tres" type="Theme" id=4] -[sub_resource type="ViewportTexture" id=3] +[sub_resource type="ViewportTexture" id=1] viewport_path = NodePath("Viewport") +[sub_resource type="Shader" id=2] +code = "shader_type canvas_item; + +void fragment() { + vec4 tex = texture(TEXTURE, UV); + COLOR = vec4(tex.rgb * 0., tex.a * 0.5); +}" +custom_defines = "" + +[sub_resource type="ShaderMaterial" id=3] +shader = SubResource( 2 ) + [sub_resource type="ShaderMaterial" id=4] shader = ExtResource( 2 ) shader_param/iterations = 17 @@ -23,6 +36,22 @@ shader_param/saturation = 0.85 shader_param/rotx = 0.0 shader_param/roty = 0.001 +[sub_resource type="StyleBoxFlat" id=5] +content_margin_left = 16.0 +content_margin_right = 16.0 +content_margin_top = 20.0 +content_margin_bottom = 20.0 +bg_color = Color( 0.133333, 0.12549, 0.203922, 0.784314 ) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color( 0.27301, 0.417506, 0.984375, 0.392157 ) +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 + [node name="Control" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 @@ -34,23 +63,42 @@ __meta__ = { [node name="Background" type="TextureRect" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 -texture = SubResource( 3 ) +texture = SubResource( 1 ) stretch_mode = 7 __meta__ = { "_edit_use_anchors_": false } +[node name="logo-temp2" type="TextureRect" parent="."] +material = SubResource( 3 ) +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -248.771 +margin_top = -295.282 +margin_right = -8.77124 +margin_bottom = -115.282 +grow_horizontal = 2 +grow_vertical = 2 +rect_scale = Vector2( 2, 2 ) +texture = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} + [node name="logo-temp" type="TextureRect" parent="."] anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -margin_left = -250.0 -margin_top = -293.953 -margin_right = 250.0 -margin_bottom = 82.0471 +margin_left = -250.58 +margin_top = -296.523 +margin_right = -10.5796 +margin_bottom = -116.523 grow_horizontal = 2 grow_vertical = 2 +rect_scale = Vector2( 2, 2 ) texture = ExtResource( 3 ) __meta__ = { "_edit_use_anchors_": false @@ -63,4 +111,66 @@ size = Vector2( 300, 300 ) material = SubResource( 4 ) anchor_right = 1.0 anchor_bottom = 1.0 + +[node name="CenterContainer" type="CenterContainer" parent="."] +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 100.0 +margin_top = -300.0 +margin_right = -100.0 +margin_bottom = -50.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PanelContainer" type="PanelContainer" parent="CenterContainer"] +margin_left = 390.0 +margin_top = 43.0 +margin_right = 690.0 +margin_bottom = 207.0 +rect_min_size = Vector2( 300, 0 ) +custom_styles/panel = SubResource( 5 ) + +[node name="HBoxContainer" type="VBoxContainer" parent="CenterContainer/PanelContainer"] +margin_left = 16.0 +margin_top = 20.0 +margin_right = 284.0 +margin_bottom = 144.0 +custom_constants/separation = 10 + +[node name="HostButton" type="Button" parent="CenterContainer/PanelContainer/HBoxContainer"] +margin_right = 268.0 +margin_bottom = 24.0 +theme = ExtResource( 4 ) +text = "Start a new game" + +[node name="Label" type="Label" parent="CenterContainer/PanelContainer/HBoxContainer"] +margin_top = 34.0 +margin_right = 268.0 +margin_bottom = 52.0 +theme = ExtResource( 4 ) +text = "or" +align = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ServerAddr" type="LineEdit" parent="CenterContainer/PanelContainer/HBoxContainer"] +margin_top = 62.0 +margin_right = 268.0 +margin_bottom = 90.0 +theme = ExtResource( 4 ) +placeholder_text = "Server address or URL" + +[node name="JoinButton" type="Button" parent="CenterContainer/PanelContainer/HBoxContainer"] +margin_top = 100.0 +margin_right = 268.0 +margin_bottom = 124.0 +theme = ExtResource( 4 ) +disabled = true +text = "Join an existing game" [connection signal="resized" from="." to="." method="_on_resized"] +[connection signal="pressed" from="CenterContainer/PanelContainer/HBoxContainer/HostButton" to="." method="_host_pressed"] +[connection signal="text_changed" from="CenterContainer/PanelContainer/HBoxContainer/ServerAddr" to="." method="_server_addr_changed"] +[connection signal="pressed" from="CenterContainer/PanelContainer/HBoxContainer/JoinButton" to="." method="_join_pressed"] diff --git a/Scenes/Rendering/MapTiles.gd b/Scenes/Rendering/MapTiles.gd index 6b8aae7..cf94833 100644 --- a/Scenes/Rendering/MapTiles.gd +++ b/Scenes/Rendering/MapTiles.gd @@ -2,6 +2,8 @@ extends TileMap class_name MapTiles +var transparentImage = preload("res://Graphics/transparent.png") + export(NodePath) var extended_tilemap_node export var occluders = ["Wall"] @@ -34,7 +36,7 @@ func convert_extended(): extended_tilemap.set_cell(x+1, y, extended_id) extended_tilemap.set_cell(x, y+1, extended_id) extended_tilemap.set_cell(x+1, y+1, extended_id) - set_cellv(cell, -1) + tile_set.tile_set_texture(id, transparentImage) extended_tilemap.update_bitmask_region() extended_tilemap.update_dirty_quadrants() diff --git a/Scenes/UI.tscn b/Scenes/UI.tscn index 92f1e94..f2a42c5 100644 --- a/Scenes/UI.tscn +++ b/Scenes/UI.tscn @@ -20,6 +20,7 @@ corner_radius_bottom_left = 4 [node name="ui" type="Control"] anchor_right = 1.0 anchor_bottom = 1.0 +mouse_filter = 2 size_flags_horizontal = 3 size_flags_vertical = 3 script = ExtResource( 2 ) @@ -83,10 +84,10 @@ margin_bottom = 20.0 text = "Preferences" [node name="ServerInfoPopup" type="WindowDialog" parent="."] -margin_left = 536.0 -margin_top = 272.0 -margin_right = 792.0 -margin_bottom = 440.0 +margin_left = -278.587 +margin_top = 58.4538 +margin_right = -22.587 +margin_bottom = 226.454 window_title = "Server info" resizable = true __meta__ = { diff --git a/export_presets.cfg b/export_presets.cfg index bb51b1c..ed23bfc 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -32,11 +32,11 @@ codesign/timestamp_server_url="" codesign/digest_algorithm=1 codesign/description="" codesign/custom_options=PoolStringArray( ) -application/icon="" -application/file_version="" -application/product_version="" +application/icon="res://icon.ico" +application/file_version="0.1.0" +application/product_version="0.1.0" application/company_name="" -application/product_name="" +application/product_name="NSS Odyssey" application/file_description="" application/copyright="" application/trademarks="" diff --git a/icon.ico b/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c193bcaa7d6a1f9563550c49b010b823dcd58a72 GIT binary patch literal 7838 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 literal 3305 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 diff --git a/project.godot b/project.godot index fe0fab3..e43245f 100644 --- a/project.godot +++ b/project.godot @@ -128,7 +128,7 @@ _global_script_class_icons={ [application] -config/name="odyssey" +config/name="NSS Odyssey" run/main_scene="res://Scenes/Menu.tscn" boot_splash/image="res://Graphics/UI/splash.png" boot_splash/fullsize=false @@ -137,6 +137,11 @@ config/icon="res://icon.png" [autoload] Music="*res://Scenes/Global/Music.tscn" +Multiplayer="*res://Scenes/Global/Multiplayer.gd" + +[debug] + +settings/stdout/print_fps=true [display]