scoreboard column order selection via "orderscorecolumns"
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@5182 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
+4
-3
@@ -846,9 +846,10 @@ int main(int argc, char **argv)
|
||||
|
||||
initlog("cfg");
|
||||
extern void *scoremenu, *teammenu, *ctfmenu, *servmenu, *searchmenu, *serverinfomenu, *kickmenu, *banmenu, *forceteammenu, *giveadminmenu, *docmenu, *applymenu;
|
||||
scoremenu = addmenu("score", "cn\tname\tfrags\tdeath\tratio\tscore\tpj\tping", false, renderscores, NULL, false, true);
|
||||
teammenu = addmenu("team score", "cn\tname\tfrags\tdeath\tratio\tscore\tpj\tping", false, renderscores, NULL, false, true);
|
||||
ctfmenu = addmenu("ctf score", "cn\tname\tflags\tfrags\tdeath\tratio\tscore\tpj\tping", false, renderscores, NULL, false, true);
|
||||
scoremenu = addmenu("score", "columns", false, renderscores, NULL, false, true);
|
||||
teammenu = addmenu("team score", "columns", false, renderscores, NULL, false, true);
|
||||
ctfmenu = addmenu("ctf score", "columns", false, renderscores, NULL, false, true);
|
||||
reorderscorecolumns();
|
||||
servmenu = addmenu("server", NULL, true, refreshservers, serverskey);
|
||||
searchmenu = addmenu("search", NULL, true, refreshservers, serverskey);
|
||||
serverinfomenu = addmenu("serverinfo", NULL, true, refreshservers, serverinfokey);
|
||||
|
||||
@@ -1268,3 +1268,30 @@ void refreshapplymenu(void *menu, bool init)
|
||||
if(init) m->menusel = m->items.length()-2; // select OK
|
||||
}
|
||||
|
||||
void reorderscorecolumns();
|
||||
VARFP(orderscorecolumns, 0, 0, 1, reorderscorecolumns());
|
||||
void reorderscorecolumns()
|
||||
{
|
||||
extern void *scoremenu, *teammenu, *ctfmenu;
|
||||
switch(orderscorecolumns)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
menutitle(scoremenu, "cn\tname\tfrags\tdeath\tratio\tscore\tpj\tping");
|
||||
menutitle(teammenu, "cn\tname\tfrags\tdeath\tratio\tscore\tpj\tping");
|
||||
menutitle(ctfmenu, "cn\tname\tflags\tfrags\tdeath\tratio\tscore\tpj\tping");
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
default:
|
||||
{
|
||||
menutitle(scoremenu, "frags\tdeath\tratio\tpj\tping\tcn\tname");
|
||||
menutitle(teammenu, "frags\tdeath\tratio\tpj\tping\tcn\tname");
|
||||
menutitle(ctfmenu, "flags\tfrags\tdeath\tratio\tpj\tping\tcn\tname");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -65,6 +65,8 @@ extern void menureset(void *menu);
|
||||
extern void menumanual(void *menu, char *text, char *action = NULL, color *bgcolor = NULL, const char *desc = NULL);
|
||||
extern void menuimagemanual(void *menu, const char *filename1, const char *filename2, char *text, char *action = NULL, color *bgcolor = NULL, const char *desc = NULL);
|
||||
extern void menutitle(void *menu, const char *title = NULL);
|
||||
extern void reorderscorecolumns();
|
||||
extern int orderscorecolumns;
|
||||
extern void menuheader(void *menu, char *header = NULL, char *footer = NULL);
|
||||
extern bool menukey(int code, bool isdown, int unicode, SDLMod mod = KMOD_NONE);
|
||||
extern void *addmenu(const char *name, const char *title = NULL, bool allowinput = true, void (__cdecl *refreshfunc)(void *, bool) = NULL, bool (__cdecl *keyfunc)(void *, int, bool, int) = NULL, bool hotkeys = false, bool forwardkeys = false);
|
||||
|
||||
+48
-29
@@ -116,18 +116,22 @@ void renderdiscscores(int team)
|
||||
const char *spect = team_isspect(d.team) ? "\f4" : "";
|
||||
float ratio = SCORERATIO(d.frags, d.deaths);
|
||||
const char *clag = team_isspect(d.team) ? "SPECT" : "";
|
||||
if(m_flags) formatstring(line.s)("%s%s\t%d\t%d\t%d\t%.1f\t%d\t%s\tDISC",
|
||||
spect, d.name,
|
||||
d.flags, d.frags, d.deaths,
|
||||
ratio,
|
||||
d.points,
|
||||
clag);
|
||||
else formatstring(line.s)("%s%s\t%d\t%d\t%.1f\t%d\t%s\tDISC",
|
||||
spect, d.name,
|
||||
d.frags, d.deaths,
|
||||
ratio,
|
||||
d.points,
|
||||
clag);
|
||||
switch(orderscorecolumns)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if(m_flags) formatstring(line.s)("%s%s\t%d\t%d\t%d\t%.1f\t%d\t%s\tDISC", spect, d.name, d.flags, d.frags, d.deaths, ratio, d.points, clag);
|
||||
else formatstring(line.s)("%s%s\t%d\t%d\t%.1f\t%d\t%s\tDISC", spect, d.name, d.frags, d.deaths, ratio, d.points, clag);
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
default:
|
||||
{
|
||||
if(m_flags) formatstring(line.s)("%s%d\t%d\t%d\t%.1f\t%d\t%s\tDISC\t\t%s", spect, d.flags, d.frags, d.deaths, ratio, d.points, clag, d.name);
|
||||
else formatstring(line.s)("%s%d\t%d\t%.1f\t%d\t%s\tDISC\t\t%s", spect, d.frags, d.deaths, ratio, d.points, clag, d.name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,20 +149,22 @@ void renderscore(playerent *d)
|
||||
sline &line = scorelines.add();
|
||||
line.bgcolor = d==player1 ? &localplayerc : NULL;
|
||||
string &s = line.s;
|
||||
if(m_flags) formatstring(s)("%s%d\t%s%s\t%d\t%d\t%d\t%.1f\t%d\t%s\t%s\t%s",
|
||||
spect, d->clientnum,
|
||||
status, colorname(d),
|
||||
d->flagscore, d->frags, d->deaths,
|
||||
ratio,
|
||||
d->points,
|
||||
clag, cping, ign);
|
||||
else formatstring(s)("%s%d\t%s%s\t%d\t%d\t%.1f\t%d\t%s\t%s\t%s",
|
||||
spect, d->clientnum,
|
||||
status, colorname(d),
|
||||
d->frags, d->deaths,
|
||||
ratio,
|
||||
d->points,
|
||||
clag, cping, ign);
|
||||
switch(orderscorecolumns)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if(m_flags) formatstring(s)("%s%d\t%s%s\t%d\t%d\t%d\t%.1f\t%d\t%s\t%s\t%s", spect, d->clientnum, status, colorname(d), d->flagscore, d->frags, d->deaths, ratio, d->points, clag, cping, ign);
|
||||
else formatstring(s)("%s%d\t%s%s\t%d\t%d\t%.1f\t%d\t%s\t%s\t%s", spect, d->clientnum, status, colorname(d), d->frags, d->deaths, ratio, d->points, clag, cping, ign);
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
default:
|
||||
{
|
||||
if(m_flags) formatstring(s)("%s%d\t%d\t%d\t%.1f\t%d\t%s\t%s\t%d\t%s%s%s", spect, d->flagscore, d->frags, d->deaths, ratio, d->points, clag, cping, d->clientnum, status, colorname(d), ign);
|
||||
else formatstring(s)("%s%d\t%d\t%.1f\t%d\t%s\t%s\t%d\t%s%s%s", spect, d->frags, d->deaths, ratio, d->points, clag, cping, d->clientnum, status, colorname(d), ign);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void renderteamscore(teamscore *t)
|
||||
@@ -171,9 +177,22 @@ void renderteamscore(teamscore *t)
|
||||
sline &line = scorelines.add();
|
||||
defformatstring(plrs)("(%d %s)", t->teammembers.length(), t->teammembers.length() == 1 ? "player" : "players");
|
||||
float ratio = SCORERATIO(t->frags, t->deaths);
|
||||
if(m_flags) formatstring(line.s)("\t\t%d\t%d\t%d\t%.1f\t%d\t\t%s\t%s", t->flagscore, t->frags, t->deaths, ratio, t->points, team_string(t->team), plrs);
|
||||
else formatstring(line.s)("\t\t%d\t%d\t%.1f\t%d\t\t%s\t%s", t->frags, t->deaths, ratio, t->points, team_string(t->team), plrs);
|
||||
|
||||
switch(orderscorecolumns)
|
||||
{
|
||||
case 1:
|
||||
{
|
||||
if(m_flags) formatstring(line.s)("\t\t%d\t%d\t%d\t%.1f\t%d\t\t%s\t%s", t->flagscore, t->frags, t->deaths, ratio, t->points, team_string(t->team), plrs);
|
||||
else formatstring(line.s)("\t\t%d\t%d\t%.1f\t%d\t\t%s\t%s", t->frags, t->deaths, ratio, t->points, team_string(t->team), plrs);
|
||||
break;
|
||||
}
|
||||
case 0:
|
||||
default:
|
||||
{
|
||||
if(m_flags) formatstring(line.s)("%d\t%d\t%d\t%.1f\t%d\t\t\t\t%s\t\t%s", t->flagscore, t->frags, t->deaths, ratio, t->points, team_string(t->team), plrs);
|
||||
else formatstring(line.s)("%d\t%d\t%.1f\t%d\t\t\t\t%s\t\t%s", t->frags, t->deaths, ratio, t->points, team_string(t->team), plrs);
|
||||
break;
|
||||
}
|
||||
}
|
||||
static color teamcolors[2] = { color(1.0f, 0, 0, 0.2f), color(0, 0, 1.0f, 0.2f) };
|
||||
line.bgcolor = &teamcolors[team_base(t->team)];
|
||||
loopv(t->teammembers) renderscore(t->teammembers[i]);
|
||||
|
||||
Reference in New Issue
Block a user