diff options
Diffstat (limited to 'client')
| -rw-r--r-- | client/menu/error.tscn | 1 | ||||
| -rw-r--r-- | client/multiplayer.gd | 13 | ||||
| -rw-r--r-- | client/project.godot | 2 | 
3 files changed, 13 insertions, 3 deletions
| diff --git a/client/menu/error.tscn b/client/menu/error.tscn index 1ceda15a..dfe6e015 100644 --- a/client/menu/error.tscn +++ b/client/menu/error.tscn @@ -51,6 +51,7 @@ horizontal_alignment = 1  layout_mode = 2  theme_override_font_sizes/font_size = 24  text = "This should be the error message." +horizontal_alignment = 1  [node name="Control" type="Control" parent="Panel/contents"]  custom_minimum_size = Vector2(0, 15.805) diff --git a/client/multiplayer.gd b/client/multiplayer.gd index 4c334700..d2739250 100644 --- a/client/multiplayer.gd +++ b/client/multiplayer.gd @@ -52,9 +52,11 @@ signal score(demands_failed: int, demands_completed: int, points: int, time_rema  signal hide_score()  signal server_message(text: String)  signal replay_start() -  signal connection_closed(reason: String) +const VERSION_MAJOR: int = 1 +const VERSION_MINOR: int = 1 +  var connected := false  var socket := WebSocketPeer.new() @@ -81,7 +83,7 @@ func _process(_delta):  			var code = socket.get_close_code()  			var reason = socket.get_close_reason()  			connection_closed.emit( -				"WebSocket closed with code: %d, reason %s. Clean: %s" % [code, reason, code != - 1] +				tr("WebSocket closed with code: %d, reason %s. Clean: %s") % [code, reason, code != - 1]  			)  			self.queue_free() @@ -96,6 +98,13 @@ func handle_packet(bytes: PackedByteArray):  		"init":  			var player_id = decoded["id"]  			init.emit(player_id) +		"version": +			var major = decoded["major"] +			var minor = decoded["minor"] +			if major != VERSION_MAJOR or minor != VERSION_MINOR: +				socket.close() +				connected = false +				connection_closed.emit(tr("Server and client versions do not match. Server: %d.%d, Client: %d.%d.\nAre you sure the game is up to date?") % [major, minor, VERSION_MAJOR, VERSION_MINOR])  		"data":  			var item_names = decoded["data"]["item_names"]  			var tile_names = decoded["data"]["tile_names"] diff --git a/client/project.godot b/client/project.godot index 0167ce36..0c0613cc 100644 --- a/client/project.godot +++ b/client/project.godot @@ -170,7 +170,7 @@ start_game={  [internationalization]  locale/translations=PackedStringArray("res://po/de.po") -locale/translations_pot_files=PackedStringArray("res://global.gd", "res://menu/overlay.tscn", "res://menu/setup.tscn", "res://menu/character.tscn", "res://menu/credits.tscn", "res://menu/error.tscn", "res://menu/ingame.tscn", "res://menu/lobby.tscn", "res://menu/main.tscn", "res://menu/settings.tscn", "res://menu/ingame.gd", "res://menu/lobby.gd", "res://menu/popup_message.gd") +locale/translations_pot_files=PackedStringArray("res://global.gd", "res://menu/overlay.tscn", "res://menu/setup.tscn", "res://menu/character.tscn", "res://menu/credits.tscn", "res://menu/error.tscn", "res://menu/ingame.tscn", "res://menu/lobby.tscn", "res://menu/main.tscn", "res://menu/settings.tscn", "res://menu/ingame.gd", "res://menu/lobby.gd", "res://menu/popup_message.gd", "res://multiplayer.gd")  [rendering] | 
