From 5ca1fe9a9d6f06f78808ef330fa0a4c02e9cdef8 Mon Sep 17 00:00:00 2001 From: Luna Date: Fri, 18 May 2018 21:17:13 -0400 Subject: [PATCH] Fix -server and -client flags --- scripts/custom_game.gd | 8 ++------ scripts/lobby.gd | 2 ++ scripts/menu.gd | 4 ++-- scripts/networking.gd | 10 ++++++++-- scripts/util.gd | 1 + 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/scripts/custom_game.gd b/scripts/custom_game.gd index 57cce07..15db1f6 100644 --- a/scripts/custom_game.gd +++ b/scripts/custom_game.gd @@ -6,18 +6,14 @@ func _ready(): func _start_server(): # Custom Game can assume we're playing as well - networking.start_server(_get_port(), true) + networking.start_server() _show_lobby() func _start_client(): var ip = get_node("IP").text - networking.start_client(ip, _get_port()) + networking.start_client(ip) _show_lobby() func _show_lobby(): get_tree().change_scene("res://scenes/lobby.tscn") -func _get_port(): - var port = util.args.get_value("-port") - return port - diff --git a/scripts/lobby.gd b/scripts/lobby.gd index c3e7622..a181761 100644 --- a/scripts/lobby.gd +++ b/scripts/lobby.gd @@ -7,6 +7,8 @@ onready var hero_select = get_node("HeroSelect/Hero") func _ready(): if get_tree().is_network_server(): get_node("LevelSelect").show() + else: + get_node("LevelSelect").hide() get_node("Username").connect("text_changed", self, "_send_name") get_node("StartGame").connect("pressed", self, "_start_game") diff --git a/scripts/menu.gd b/scripts/menu.gd index 578da9f..18eed84 100644 --- a/scripts/menu.gd +++ b/scripts/menu.gd @@ -49,12 +49,12 @@ func _arg_actions(): # if not o.get_value("-no-record") and not o.get_value("-ai"): # my_info.record = true if o.get_value("-server"): - networking.call_deferred("start_server") + networking.start_server() get_tree().change_scene("res://scenes/lobby.tscn") # if o.get_value("-matchmaker"): # call_deferred("_matchmaker_init") if o.get_value("-client"): - networking.call_deferred("start_client") + networking.start_client() get_tree().change_scene("res://scenes/lobby.tscn") if o.get_value("-start-game"): networking.call_deferred("start_game") diff --git a/scripts/networking.gd b/scripts/networking.gd index b49de6c..3575425 100644 --- a/scripts/networking.gd +++ b/scripts/networking.gd @@ -26,8 +26,12 @@ func _ready(): # ip = global_server_ip # _client_init() -func start_client(ip, port): +func start_client(ip="", port=0): # collect_info() TODO + if not ip: + ip = util.args.get_value("-ip") + if not port: + port = util.args.get_value("-port") var peer = NetworkedMultiplayerENet.new() print("Connecting to " + ip + ":" + str(port)) peer.create_client(ip, port) @@ -50,8 +54,10 @@ func _connect_to_matchmaker(game_port): matchmaker_tcp.put_var(matchmaking.messages.ready_to_connect) matchmaker_tcp.put_var(game_port) -func start_server(port, server_playing=false): +func start_server(port=0): # collect_info() TODO + if not port: + port = util.args.get_value("-port") var peer = NetworkedMultiplayerENet.new() print("Starting server on port " + str(port)) peer.create_server(port, matchmaking.GAME_SIZE) diff --git a/scripts/util.gd b/scripts/util.gd index 3d894df..318a2fa 100644 --- a/scripts/util.gd +++ b/scripts/util.gd @@ -31,6 +31,7 @@ func _get_args(): opts.add('-matchmaker', false, 'Whether to be the sole matchmaker') opts.add('-client', false, 'Immediately connect as client') opts.add('-silent', false, 'If the server is not playing, merely serving') + opts.add('-ip', '127.0.0.1', 'The ip to connect to (client only!)') opts.add('-port', 54673, 'The port to run a server on or connect to') opts.add('-hero', 'r', 'Your choice of hero (index)') opts.add('-level', 'r', 'Your choice of level (index) - server only!')