From 9be6a4cea40908a03b69c3d1e9bbf57397cc55ac Mon Sep 17 00:00:00 2001 From: signde Date: Sun, 12 Sep 2004 16:03:40 +0000 Subject: [PATCH] (svn r215) -Feature: direct connect now allows selecting a port and a playername [ip/host]:[port]#[player] --- network_gui.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/network_gui.c b/network_gui.c index 90a231dc4c..e80c0b4439 100644 --- a/network_gui.c +++ b/network_gui.c @@ -172,9 +172,35 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e) break; case WE_ON_EDIT_TEXT: { - const byte *b = e->edittext.str; - if (*b != 0) - NetworkCoreConnectGame(b, _network_server_port); + byte *b = e->edittext.str; + if (*b != 0) { + byte * ip = NULL; + byte * port = NULL; + byte * player = NULL; + byte c; + uint16 rport; + + rport = _network_server_port; + c = 0; + ip = b; + + while (b[c] != 0) { + if (((char)b[c]) == '#') { + player = &b[c+1]; + b[c] = 0; + } + if (((char)b[c]) == ':') { + port = &b[c+1]; + b[c] = 0; + } + c++; + } + + if (player!=NULL) _network_playas = atoi(player); + if (port!=NULL) rport = atoi(port); + + NetworkCoreConnectGame(b, rport); + } } break; case WE_TICK: {