shithub: choc

Download patch

ref: 88b562df34f7843a5146203962c11ce18c6656ce
parent: 9c480b1cb18544240f433f90fca7e489eae35aff
author: Simon Howard <fraggle@gmail.com>
date: Fri Oct 24 16:10:23 EDT 2014

Proceed by pressing enter at netgame warning screen.

If there's some discrepancy between clients who are to play a game
together, a warning dialog is displayed. To acknowledge this message
and proceed, make the user press enter, not escape, which is
counter-intuitive.

This fixes #453 (thanks Alexandre-Xavier).

--- a/src/net_gui.c
+++ b/src/net_gui.c
@@ -249,11 +249,19 @@
     printf("\n");
 }
 
+static void CloseWindow(TXT_UNCAST_ARG(widget), TXT_UNCAST_ARG(window))
+{
+    TXT_CAST_ARG(txt_window_t, window);
+
+    TXT_CloseWindow(window);
+}
+
 static void CheckSHA1Sums(void)
 {
     boolean correct_wad, correct_deh;
     boolean same_freedoom;
     txt_window_t *window;
+    txt_window_action_t *cont_button;
 
     if (!net_client_received_wait_data || had_warning)
     {
@@ -295,8 +303,13 @@
         PrintSHA1Digest("Server", net_client_wait_data.deh_sha1sum);
     }
 
-    window = TXT_NewWindow("WARNING");
+    window = TXT_NewWindow("WARNING!");
 
+    cont_button = TXT_NewWindowAction(KEY_ENTER, "Continue");
+    TXT_SignalConnect(cont_button, "pressed", CloseWindow, window);
+
+    TXT_SetWindowAction(window, TXT_HORIZ_LEFT, NULL);
+    TXT_SetWindowAction(window, TXT_HORIZ_CENTER, cont_button);
     TXT_SetWindowAction(window, TXT_HORIZ_RIGHT, NULL);
 
     if (!same_freedoom)