diff options
author | metamuffin <metamuffin@disroot.org> | 2024-07-13 23:29:35 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-07-13 23:29:35 +0200 |
commit | 9138b1f2d56e31343b8e13d4ed1ee07bdb210c43 (patch) | |
tree | 4d8fb2693fe62803188aa065c1ea12d428f6f5d4 | |
parent | 0c77e0938de43a970e03c6dcef019c87745f0ee4 (diff) | |
parent | 78ab4d19c8e1f78a1e5092d643d0634721cea9ae (diff) | |
download | hurrycurry-9138b1f2d56e31343b8e13d4ed1ee07bdb210c43.tar hurrycurry-9138b1f2d56e31343b8e13d4ed1ee07bdb210c43.tar.bz2 hurrycurry-9138b1f2d56e31343b8e13d4ed1ee07bdb210c43.tar.zst |
Merge branch 'master' of https://codeberg.org/hurrycurry/hurrycurry
-rw-r--r-- | client/menu/error.tscn | 1 | ||||
-rw-r--r-- | client/menu/setup.tscn | 2 | ||||
-rw-r--r-- | client/multiplayer.gd | 13 | ||||
-rw-r--r-- | client/project.godot | 2 |
4 files changed, 14 insertions, 4 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/menu/setup.tscn b/client/menu/setup.tscn index befdc92b..bb05c69b 100644 --- a/client/menu/setup.tscn +++ b/client/menu/setup.tscn @@ -187,7 +187,7 @@ scroll_active = false [node name="NameEntry" type="HBoxContainer" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents"] layout_mode = 2 -tooltip_text = "Other players can see that name when playing on a server" +tooltip_text = "Other players can see your name when playing on a server" [node name="LineEdit" type="LineEdit" parent="ScrollContainer/Control/TextureRect/PaperMargin/Contents/NameEntry"] custom_minimum_size = Vector2(300, 30) diff --git a/client/multiplayer.gd b/client/multiplayer.gd index 4c334700..d3e80613 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 = 0 + 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] |