From 4f3b7a8fca4a1df112aa352a24695e0cbe5d47a4 Mon Sep 17 00:00:00 2001 From: mr-russ <> Date: Wed, 15 Oct 2003 02:04:05 +0000 Subject: [PATCH] Updated Protcol, game list now shown correctly. parameters still need work --- src/network/master.cpp | 15 ++++++++++++--- src/ui/menus.cpp | 22 ++++++++++------------ 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/network/master.cpp b/src/network/master.cpp index 12ddcbef1..85b0b3e69 100644 --- a/src/network/master.cpp +++ b/src/network/master.cpp @@ -157,10 +157,15 @@ global int GetMetaParameter(char* reply, int pos, char** value) { char* endline; - *value = reply; + // Take Care for OK/ERR + *value = strchr(reply, '\n'); + (*value)++; while (pos-- && *value) { - *value = strstr(*value,"\n"); + (*value) = strchr((*value), '\n'); + if (*value) { + (*value)++; + } } if (!*value) { @@ -168,7 +173,11 @@ global int GetMetaParameter(char* reply, int pos, char** value) return -1; } - endline = strstr(*value,"\n"); + if (*value[0] == '\n') { + (*value)++; + } + + endline = strchr(*value, '\n'); if (!endline) { return -1; diff --git a/src/ui/menus.cpp b/src/ui/menus.cpp index 1cce004c1..65370f7e3 100644 --- a/src/ui/menus.cpp +++ b/src/ui/menus.cpp @@ -780,8 +780,8 @@ global void InitMenuFuncHash(void) { HASHADD(ReplayGameCancel,"replay-game-cancel"); // Metaserver - HASHADD(ShowMetaServerList,"menu-metaserver-list"); - HASHADD(MultiMetaServerGameSetupInit,"menu-metaserver-init"); + HASHADD(ShowMetaServerList,"metaserver-list"); + HASHADD(MultiMetaServerGameSetupInit,"metaserver-list-init"); HASHADD(MultiMetaServerGameSetupExit,"menu-metaserver-exit"); HASHADD(SelectGameServer,"select-game-server"); } @@ -7255,7 +7255,7 @@ local void MultiGameMasterReport(void) VideoUnlockScreen(); Invalidate(); - ProcessMenu("menu-metaserver-list", 1); + ProcessMenu("metaserver-list", 1); if (GuiGameStarted) { GameMenuReturn(); } @@ -7274,7 +7274,7 @@ local void ShowMetaServerList(void) DestroyCursorBackground(); GuiGameStarted = 0; - ProcessMenu("menu-metaserver-list", 1); + ProcessMenu("metaserver-list", 1); if (GuiGameStarted) { GameMenuReturn(); } @@ -7296,21 +7296,19 @@ local void MultiMetaServerGameSetupInit(Menuitem* mi) int nummenus; char* parameter; char* reply; - Menu *menu; + Menu* menu; SendMetaCommand("NumberOfGames",""); - menu = FindMenu("menu-metaserver-list"); + menu = FindMenu("metaserver-list"); reply = NULL; //receive //check okay - if (1 || RecvMetaReply(&reply) == -1) { + if (RecvMetaReply(&reply) == -1) { //TODO: Notify player that connection was aborted... - nummenus = 1; - - + nummenus = 0; } else { - GetMetaParameter(reply, 1, ¶meter); + GetMetaParameter(reply, 0, ¶meter); nummenus = atoi(parameter); } // Meta server only sends matching version @@ -7399,7 +7397,7 @@ local void SelectGameServer(Menuitem *mi) VideoLockScreen(); MenusSetBackground(); VideoUnlockScreen(); - ProcessMenu("menu-metaserver-list",1); + ProcessMenu("metaserver-list",1); return; } NetworkInitClientConnect();