aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-13 23:29:35 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-13 23:29:35 +0200
commit9138b1f2d56e31343b8e13d4ed1ee07bdb210c43 (patch)
tree4d8fb2693fe62803188aa065c1ea12d428f6f5d4
parent0c77e0938de43a970e03c6dcef019c87745f0ee4 (diff)
parent78ab4d19c8e1f78a1e5092d643d0634721cea9ae (diff)
downloadhurrycurry-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.tscn1
-rw-r--r--client/menu/setup.tscn2
-rw-r--r--client/multiplayer.gd13
-rw-r--r--client/project.godot2
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]