refactored server commandline parsing

git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@4145 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
ac_stef
2009-01-18 00:29:15 +00:00
parent 93deddf362
commit ca14425cfd
6 changed files with 184 additions and 207 deletions
+5 -10
View File
@@ -154,7 +154,6 @@ uchar *retrieveservers(uchar *buf, int buflen)
#endif
ENetSocket pongsock = ENET_SOCKET_NULL, lansock = ENET_SOCKET_NULL;
string serverdesc;
extern int getpongflags(enet_uint32 ip);
void serverms(int mode, int numplayers, int minremain, char *smapname, int millis, const ENetAddress &localaddr, int *mnum, int *msend, int *mrec, int *cnum, int *csend, int *crec)
@@ -195,14 +194,16 @@ void serverms(int mode, int numplayers, int minremain, char *smapname, int milli
bool std = false;
if(getint(pi) != 0) // std pong
{
extern struct servercommandline scl;
extern string servdesc_current;
(*mnum)++; *mrec += len; std = true;
putint(po, PROTOCOL_VERSION);
putint(po, mode);
putint(po, numplayers);
putint(po, minremain);
sendstring(smapname, po);
sendstring(serverdesc, po);
putint(po, maxclients);
sendstring(servdesc_current, po);
putint(po, scl.maxclients);
putint(po, getpongflags(addr.host));
if(pi.remaining())
{
@@ -276,13 +277,12 @@ void serverms(int mode, int numplayers, int minremain, char *smapname, int milli
}
}
void servermsinit(const char *master, const char *ip, int infoport, const char *sdesc, bool listen)
void servermsinit(const char *master, const char *ip, int infoport, bool listen)
{
const char *mid = strstr(master, "/");
if(mid) s_strncpy(masterbase, master, mid-master+1);
else s_strcpy(masterbase, (mid = master));
s_strcpy(masterpath, mid);
s_strcpy(serverdesc, sdesc);
if(listen)
{
@@ -311,8 +311,3 @@ void servermsinit(const char *master, const char *ip, int infoport, const char *
else enet_socket_set_option(lansock, ENET_SOCKOPT_NONBLOCK, 1);
}
}
void servermsdesc(const char *sdesc)
{
s_strcpy(serverdesc, sdesc);
}