aboutsummaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2025-10-17 00:50:50 +0200
committertpart <tpart120@proton.me>2025-10-17 00:50:55 +0200
commit4b61b970cb30e264f6c585a7cd8be1b80189b545 (patch)
tree4f4c3691a075a905bd688e4cda816988bcc5d3a5 /client
parentf728fc2e73f731ca736adf9b421c3c40f96c6e12 (diff)
downloadhurrycurry-4b61b970cb30e264f6c585a7cd8be1b80189b545.tar
hurrycurry-4b61b970cb30e264f6c585a7cd8be1b80189b545.tar.bz2
hurrycurry-4b61b970cb30e264f6c585a7cd8be1b80189b545.tar.zst
Show domain in server list
Diffstat (limited to 'client')
-rw-r--r--client/gui/menus/main/play.gd6
-rw-r--r--client/gui/menus/main/server_list_item.gd17
-rw-r--r--client/gui/menus/main/server_list_item.tscn18
3 files changed, 33 insertions, 8 deletions
diff --git a/client/gui/menus/main/play.gd b/client/gui/menus/main/play.gd
index 79ea70e2..5977f00f 100644
--- a/client/gui/menus/main/play.gd
+++ b/client/gui/menus/main/play.gd
@@ -74,8 +74,12 @@ func update_server_list(lists: Array[Array]):
for i in l:
var server_item: ServerListItem = server_list_item.instantiate()
server_list.add_child(server_item)
+
+ var address: Array[String] = []
+ address.append_array(i.address)
+
# TODO: Implement fallback address correctly
- server_item.setup(i.name, roundi(i.players_online), i.version)
+ server_item.setup(i.name, roundi(i.players_online), i.version, address)
server_item.button.pressed.connect(connect_to.bind(i.address[0]))
# Focus the same server with the same index as the previously focused one
if idx == prev_selected_idx:
diff --git a/client/gui/menus/main/server_list_item.gd b/client/gui/menus/main/server_list_item.gd
index 1debbc83..dfd3c856 100644
--- a/client/gui/menus/main/server_list_item.gd
+++ b/client/gui/menus/main/server_list_item.gd
@@ -20,19 +20,26 @@ var error_style_focus: StyleBoxFlat = preload("res://gui/resources/style/error_f
var error_style_normal: StyleBoxFlat = preload("res://gui/resources/style/error_normal_style.tres")
@onready var title: Label = $MarginContainer/VBoxContainer/Title
-@onready var info: Label = $MarginContainer/VBoxContainer/Info
+@onready var online: Label = $MarginContainer/VBoxContainer/HBoxContainer/Online
+@onready var address: Label = $MarginContainer/VBoxContainer/HBoxContainer/Address
@onready var button: Button = $Button
-func setup(name_: String, online_players: int, version: Array):
+func setup(name_: String, online_players: int, version: Array, addresses: Array[String]):
title.text = name_
if version[0] != Multiplayer.VERSION_MAJOR or version[1] > Multiplayer.VERSION_MINOR:
button.disabled = true
button.add_theme_stylebox_override("disabled", error_style_normal)
button.add_theme_stylebox_override("focus", error_style_focus)
- info.text = tr("c.menu.play.server_version_mismatch")
- info.add_theme_color_override("font_color", Color("ff2222"))
+ online.text = tr("c.menu.play.server_version_mismatch")
+ online.add_theme_color_override("font_color", Color("ff2222"))
+ address.visible = false
return
- info.text = tr("c.menu.play.server_players").format([online_players])
+ online.text = tr("c.menu.play.server_players").format([online_players])
+
+ if addresses.size() > 1 or not addresses[0].begins_with("wss://"):
+ address.visible = false
+ else:
+ address.text = addresses[0].trim_suffix(":443").trim_prefix("wss://")
# This node is in group not no_click_sound, so sounds won't be automatically connected
# by menu system. Reason: These nodes are deleted and re-created every few seconds
diff --git a/client/gui/menus/main/server_list_item.tscn b/client/gui/menus/main/server_list_item.tscn
index ee1b9bf7..0f62561b 100644
--- a/client/gui/menus/main/server_list_item.tscn
+++ b/client/gui/menus/main/server_list_item.tscn
@@ -33,8 +33,22 @@ theme_override_font_sizes/font_size = 18
text = "Example Server"
text_overrun_behavior = 3
-[node name="Info" type="Label" parent="MarginContainer/VBoxContainer"]
+[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
+layout_mode = 2
+mouse_filter = 2
+theme_override_constants/separation = 16
+
+[node name="Online" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"]
layout_mode = 2
theme_override_colors/font_color = Color(0.749781, 0.74978, 0.74978, 1)
theme_override_font_sizes/font_size = 14
-text = "5 players online"
+text = "5 players"
+
+[node name="Address" type="Label" parent="MarginContainer/VBoxContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_colors/font_color = Color(0.749781, 0.74978, 0.74978, 1)
+theme_override_font_sizes/font_size = 14
+text = "wss://example.example.example.org"
+horizontal_alignment = 2
+text_overrun_behavior = 3