--- a/network_gui.c Sun Sep 12 15:29:37 2004 +0000
+++ b/network_gui.c Sun Sep 12 16:03:40 2004 +0000
@@ -172,9 +172,35 @@
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: {