aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2025-09-16 23:48:21 +0200
committertpart <tpart120@proton.me>2025-09-16 23:48:21 +0200
commit6130b4e67340af360b5907f3b57bbc3ec1aa2d04 (patch)
treec0c2a2f17a5c8686b5de288b1a19a44ccf4ecd9d
parent70e4069713f4646bbafb5f3eea5c8d38358361d0 (diff)
downloadhurrycurry-6130b4e67340af360b5907f3b57bbc3ec1aa2d04.tar
hurrycurry-6130b4e67340af360b5907f3b57bbc3ec1aa2d04.tar.bz2
hurrycurry-6130b4e67340af360b5907f3b57bbc3ec1aa2d04.tar.zst
Add "reconnect" button in error menu (Closes #383)
-rw-r--r--client/game.gd3
-rw-r--r--client/global.gd3
-rw-r--r--client/gui/menus/error.gd7
-rw-r--r--client/gui/menus/error.tscn25
-rw-r--r--locale/en.ini1
5 files changed, 25 insertions, 14 deletions
diff --git a/client/game.gd b/client/game.gd
index a8f905fb..0d32cd45 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -79,8 +79,7 @@ var spectating_mode: SpectatingMode = SpectatingMode.CENTER
func _ready():
mp.packet.connect(handle_packet)
mp.connection_closed.connect(func(reason: String):
- Global.error_message = reason;
- get_parent().replace_menu("res://gui/menus/error.tscn")
+ get_parent().replace_menu("res://gui/menus/error.tscn", [reason, menu.data])
)
mp.connect_to_url(menu.data)
diff --git a/client/global.gd b/client/global.gd
index d9d714aa..461693ce 100644
--- a/client/global.gd
+++ b/client/global.gd
@@ -30,9 +30,6 @@ var using_touch := false
var game_paused := false
var hand_count := 0
-var server_url = ""
-var error_message = ""
-
var current_map_name := ""
var last_map_name := "" # last map name for displaying in rating menu
diff --git a/client/gui/menus/error.gd b/client/gui/menus/error.gd
index e11812d5..efe173c3 100644
--- a/client/gui/menus/error.gd
+++ b/client/gui/menus/error.gd
@@ -15,9 +15,14 @@
#
extends Menu
+@onready var message: Label = $Panel/SmartMarginContainer/Contents/Message
+
func _ready():
super()
- $Panel/SmartMarginContainer/contents/mesage.text = Global.error_message
+ message.text = data[0]
func _on_return_pressed():
replace_menu("res://gui/menus/main/main.tscn")
+
+func _on_reconnect_pressed() -> void:
+ replace_menu("res://gui/menus/game.tscn", data[1])
diff --git a/client/gui/menus/error.tscn b/client/gui/menus/error.tscn
index dcebf322..37f8019f 100644
--- a/client/gui/menus/error.tscn
+++ b/client/gui/menus/error.tscn
@@ -38,33 +38,42 @@ grow_vertical = 2
script = ExtResource("5_rfcg2")
metadata/_custom_type_script = "uid://byshs20og68tn"
-[node name="contents" type="VBoxContainer" parent="Panel/SmartMarginContainer"]
+[node name="Contents" type="VBoxContainer" parent="Panel/SmartMarginContainer"]
layout_mode = 2
alignment = 1
-[node name="title" type="Label" parent="Panel/SmartMarginContainer/contents"]
+[node name="Title" type="Label" parent="Panel/SmartMarginContainer/Contents"]
layout_mode = 2
theme_override_font_sizes/font_size = 61
-text = "Error"
+text = "c.menu.error.title"
horizontal_alignment = 1
-[node name="mesage" type="Label" parent="Panel/SmartMarginContainer/contents"]
+[node name="Message" type="Label" parent="Panel/SmartMarginContainer/Contents"]
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/SmartMarginContainer/contents"]
+[node name="Control" type="Control" parent="Panel/SmartMarginContainer/Contents"]
custom_minimum_size = Vector2(0, 15.805)
layout_mode = 2
-[node name="return" type="Button" parent="Panel/SmartMarginContainer/contents"]
+[node name="HBoxContainer" type="HBoxContainer" parent="Panel/SmartMarginContainer/Contents"]
+layout_mode = 2
+alignment = 1
+
+[node name="Return" type="Button" parent="Panel/SmartMarginContainer/Contents/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 4
-text = "Return to Main Menu"
+text = "c.menu.ingame.main_menu"
+
+[node name="Reconnect" type="Button" parent="Panel/SmartMarginContainer/Contents/HBoxContainer"]
+layout_mode = 2
+text = "c.menu.ingame.reconnect"
[node name="SceneTransition" parent="." instance=ExtResource("4_1nbt3")]
visible = false
layout_mode = 1
-[connection signal="pressed" from="Panel/SmartMarginContainer/contents/return" to="." method="_on_return_pressed"]
+[connection signal="pressed" from="Panel/SmartMarginContainer/Contents/HBoxContainer/Return" to="." method="_on_return_pressed"]
+[connection signal="pressed" from="Panel/SmartMarginContainer/Contents/HBoxContainer/Reconnect" to="." method="_on_reconnect_pressed"]
diff --git a/locale/en.ini b/locale/en.ini
index 8ea1a460..008f1cec 100644
--- a/locale/en.ini
+++ b/locale/en.ini
@@ -45,6 +45,7 @@ c.menu.accept=Accept
c.menu.back=Back
c.menu.deny=Deny
c.menu.game.connecting=Connecting...
+c.menu.error.title=Error
c.menu.ingame.cancel=Abort current game
c.menu.ingame.join=Join game
c.menu.ingame.leave=Spectate