From bf79463e4be2a321234f5f96807a377c283704f0 Mon Sep 17 00:00:00 2001 From: ac_stef Date: Mon, 1 Dec 2008 17:32:12 +0000 Subject: [PATCH] tktf score message extended; mastermode names unified git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@3811 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/src/clientgame.cpp | 4 ++-- source/src/protocol.cpp | 4 +++- source/src/protos.h | 7 ++++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/source/src/clientgame.cpp b/source/src/clientgame.cpp index 66a6d273..5c99b59d 100644 --- a/source/src/clientgame.cpp +++ b/source/src/clientgame.cpp @@ -811,7 +811,7 @@ void flagmsg(int flag, int message, int actor, int flagtime) audiomgr.playsound(S_VOTEPASS, SP_HIGHEST); // need better ktf sound here const char *ta = firstperson ? "you have" : colorname(act); const char *tb = firstperson ? "" : " has"; - const char *tc = teammate && !firstperson ? "your teammate " : ""; + const char *tc = firstperson ? "" : flagteam; int m = flagtime / 60; if(m) hudoutf("\f2%s%s%s kept the flag for %d minute%s %d seconds now", tc, ta, tb, m, m == 1 ? "" : "s", flagtime % 60); @@ -853,7 +853,7 @@ char *votestring(int type, char *arg1, char *arg2) break; } case SA_MASTERMODE: - s_sprintf(out)(msg, atoi(arg1) == 0 ? "Open" : "Private"); + s_sprintf(out)(msg, mmfullname(atoi(arg1))); break; case SA_AUTOTEAM: case SA_RECORDDEMO: diff --git a/source/src/protocol.cpp b/source/src/protocol.cpp index 1a86db9c..faba5ce2 100644 --- a/source/src/protocol.cpp +++ b/source/src/protocol.cpp @@ -94,7 +94,7 @@ void getstring(char *text, ucharbuf &p, int len) void filtertext(char *dst, const char *src, int whitespace, int len) -{ +{ // whitespace: no whitespace at all (0), blanks only (1), blanks & newline (2) for(int c = *src; c; c = *++src) { c &= 0x7F; // 7-bit ascii @@ -127,11 +127,13 @@ const char *modeacronymnames[] = }; const char *voteerrors[] = { "voting is currently disabled", "there is already a vote pending", "already voted", "can't vote that often", "this vote is not allowed in the current environment (singleplayer/multiplayer)", "no permission", "invalid vote" }; +const char *mmfullnames[] = { "open", "private" }; const char *fullmodestr(int n) { return (n>=-1 && size_t(n+1) < sizeof(modefullnames)/sizeof(modefullnames[0])) ? modefullnames[n+1] : "unknown"; } const char *acronymmodestr(int n) { return (n>=-1 && size_t(n+1) < sizeof(modeacronymnames)/sizeof(modeacronymnames[0])) ? modeacronymnames[n+1] : "n/a"; } const char *modestr(int n, bool acronyms) { return acronyms ? acronymmodestr (n) : fullmodestr(n); } const char *voteerrorstr(int n) { return (n>=0 && (size_t)n < sizeof(voteerrors)/sizeof(voteerrors[0])) ? voteerrors[n] : "unknown"; } +const char *mmfullname(int n) { return (n>=0 && n < MM_NUM) ? mmfullnames[n] : "unknown"; } char msgsizesl[] = // size inclusive message token, 0 for variable or not-checked sizes { diff --git a/source/src/protos.h b/source/src/protos.h index e643de2f..07781fa4 100644 --- a/source/src/protos.h +++ b/source/src/protos.h @@ -648,8 +648,9 @@ extern void servertoclient(int chan, uchar *buf, int len); extern void localservertoclient(int chan, uchar *buf, int len); extern const char *modestr(int n, bool acronyms = false); extern const char *voteerrorstr(int n); +extern const char *mmfullname(int n); extern void fatal(const char *s, ...); -extern void initserver(bool dedicated, int uprate, const char *sdesc, const char *sdesc_pre, const char *sdesc_suf, const char *ip, int serverport, const char *master, const char *passwd, int maxcl, const char *maprot, const char *adminpwd, const char *pwdfile, const char *blfile, const char *srvmsg, int kthreshold, int bthreshold, int permdemo); +extern void initserver(bool dedicated, int uprate, const char *sdesc, const char *sdesc_pre, const char *sdesc_suf, const char *ip, int serverport, const char *master, const char *passwd, int maxcl, const char *maprot, const char *adminpwd, const char *pwdfile, const char *blfile, const char *srvmsg, int kthreshold, int bthreshold, int permdemo, const char *voteperms, const char *demop); extern void cleanupserver(); extern void localconnect(); extern void localdisconnect(); @@ -665,7 +666,7 @@ extern void filtertext(char *dst, const char *src, int whitespace = 1, int len = extern void startintermission(); extern void restoreserverstate(vector &ents); extern uchar *retrieveservers(uchar *buf, int buflen); -extern void serverms(int mode, int numplayers, int minremain, char *smapname, int millis, const ENetAddress &localaddr); +extern 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); extern char msgsizelookup(int msg); extern const char *genpwdhash(const char *name, const char *pwd, int salt); extern void servermsdesc(const char *sdesc); @@ -673,7 +674,7 @@ extern void servermsinit(const char *master, const char *ip, int serverport, con extern bool serverpickup(int i, int sender); extern bool valid_client(int cn); extern void extinfo_cnbuf(ucharbuf &p, int cn); -extern void extinfo_statsbuf(ucharbuf &p, int pid, int bpos, ENetSocket &pongsock, ENetAddress &addr, ENetBuffer &buf, int len); +extern void extinfo_statsbuf(ucharbuf &p, int pid, int bpos, ENetSocket &pongsock, ENetAddress &addr, ENetBuffer &buf, int len, int *csend); extern void extinfo_teamscorebuf(ucharbuf &p); extern char *votestring(int type, char *arg1, char *arg2); extern int wizardmain(int argc, char **argv);