*** empty log message ***
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@240 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
+48
-36
@@ -16,7 +16,7 @@ void renderclient(dynent *d, bool team, char *mdlname, bool vwep, float scale)
|
||||
float mz = d->o.z-d->eyeheight+1.55f*scale;
|
||||
int basetime = -((int)d&0xFFF);
|
||||
if(d->state==CS_DEAD)
|
||||
{
|
||||
{
|
||||
d->pitch = 90.0f;
|
||||
//if(vwep) mz = S((int)d->o.x, (int)d->o.y)->floor;
|
||||
int r;
|
||||
@@ -53,12 +53,12 @@ void renderclients()
|
||||
loopv(players)
|
||||
if((d = players[i]) && (!demoplayback || i!=democlientnum))
|
||||
{
|
||||
//if (d->state==CS_DEAD) break; //cheap hack fix of
|
||||
if(strcmp(d->name, "dummy") == 0)
|
||||
{
|
||||
d->gunselect = player1->gunselect;
|
||||
d->moving = true;
|
||||
d->health != 1 ? d->state=CS_ALIVE : d->state=CS_DEAD;
|
||||
//if (d->state==CS_DEAD) break; //cheap hack fix of
|
||||
if(strcmp(d->name, "dummy") == 0)
|
||||
{
|
||||
d->gunselect = player1->gunselect;
|
||||
d->moving = true;
|
||||
d->health != 1 ? d->state=CS_ALIVE : d->state=CS_DEAD;
|
||||
};
|
||||
|
||||
if (!strcmp(d->team,"CT"))
|
||||
@@ -68,13 +68,13 @@ void renderclients()
|
||||
else //if (!strcmp(d->team,"T"))
|
||||
{
|
||||
renderclient(d, isteam(player1->team, d->team), "playermodels/terrorist", false, 1.4f);
|
||||
}
|
||||
|
||||
if(d->gunselect>=0 && d->gunselect<NUMGUNS)
|
||||
{
|
||||
}
|
||||
|
||||
if(d->gunselect>=0 && d->gunselect<NUMGUNS)
|
||||
{
|
||||
sprintf_sd(vwep)("weapons/%s/world", hudgunnames[d->gunselect]);
|
||||
renderclient(d, isteam(player1->team, d->team), vwep, true, 1.4f);
|
||||
};
|
||||
renderclient(d, isteam(player1->team, d->team), vwep, true, 1.4f);
|
||||
};
|
||||
|
||||
};
|
||||
if(player1->state==CS_DEAD)
|
||||
@@ -83,23 +83,23 @@ void renderclients()
|
||||
renderclient(player1, true, "playermodels/counterterrorist", false,1.4f);
|
||||
else
|
||||
renderclient(player1, true, "playermodels/terrorist", false, 1.4f);
|
||||
|
||||
|
||||
sprintf_sd(vwep)("weapons/%s/world", hudgunnames[player1->gunselect]);
|
||||
renderclient(player1, true, vwep, true, 1.4f);
|
||||
};
|
||||
};
|
||||
|
||||
void spawn_dummy()
|
||||
{
|
||||
dynent *d = newdynent();
|
||||
players.add(d);
|
||||
d->o = player1->o;
|
||||
strcpy(d->team, player1->team);
|
||||
d->gunselect = player1->gunselect;
|
||||
d->monsterstate = M_NONE;
|
||||
d->state = CS_ALIVE;
|
||||
strcpy(d->name, "dummy");
|
||||
}; COMMAND(spawn_dummy, ARG_NONE);
|
||||
|
||||
void spawn_dummy()
|
||||
{
|
||||
dynent *d = newdynent();
|
||||
players.add(d);
|
||||
d->o = player1->o;
|
||||
strcpy(d->team, player1->team);
|
||||
d->gunselect = player1->gunselect;
|
||||
d->monsterstate = M_NONE;
|
||||
d->state = CS_ALIVE;
|
||||
strcpy(d->name, "dummy");
|
||||
}; COMMAND(spawn_dummy, ARG_NONE);
|
||||
|
||||
// creation of scoreboard pseudo-menu
|
||||
|
||||
@@ -108,42 +108,52 @@ bool scoreson = false;
|
||||
void showscores(bool on)
|
||||
{
|
||||
scoreson = on;
|
||||
menuset(((int)on)-1);
|
||||
// menuset(((int)on)-1);
|
||||
menuset(on ? (m_ctf ? 2 : 0) : -1); // EDIT: AH
|
||||
};
|
||||
|
||||
struct sline { string s; };
|
||||
vector<sline> scorelines;
|
||||
int menu = 0;
|
||||
|
||||
void renderscore(dynent *d)
|
||||
{
|
||||
sprintf_sd(lag)("%d", d->plag);
|
||||
sprintf_sd(name) ("(%s)", d->name);
|
||||
sprintf_s(scorelines.add().s)("%d\t%s\t%d\t%s\t%s", d->frags, d->state==CS_LAGGED ? "LAG" : lag, d->ping, (int)d->team, d->state==CS_DEAD ? name : d->name);
|
||||
menumanual(0, scorelines.length()-1, scorelines.last().s);
|
||||
if(m_ctf) sprintf_s(scorelines.add().s)("%d\t%d\t%s\t%d\t%s\t%s", d->flagscore, d->frags, d->state==CS_LAGGED ? "LAG" : lag, d->ping, d->team, d->state==CS_DEAD ? name : d->name);
|
||||
else sprintf_s(scorelines.add().s)("%d\t%s\t%d\t%s\t%s", d->frags, d->state==CS_LAGGED ? "LAG" : lag, d->ping, d->team, d->state==CS_DEAD ? name : d->name);
|
||||
menumanual(menu, scorelines.length()-1, scorelines.last().s);
|
||||
};
|
||||
|
||||
const int maxteams = 4;
|
||||
char *teamname[maxteams];
|
||||
int teamscore[maxteams], teamsused;
|
||||
int teamscore[maxteams], teamflagscore[maxteams], teamsused; // EDIT: AH
|
||||
string teamscores;
|
||||
int timeremain = 0;
|
||||
|
||||
void addteamscore(dynent *d)
|
||||
{
|
||||
if(!d) return;
|
||||
loopi(teamsused) if(strcmp(teamname[i], d->team)==0) { teamscore[i] += d->frags; return; };
|
||||
loopi(teamsused) if(strcmp(teamname[i], d->team)==0)
|
||||
{
|
||||
teamscore[i] += d->frags;
|
||||
if(m_ctf) teamflagscore[i] += d->flagscore;
|
||||
return;
|
||||
};
|
||||
if(teamsused==maxteams) return;
|
||||
teamname[teamsused] = d->team;
|
||||
teamscore[teamsused++] = d->frags;
|
||||
teamscore[teamsused] = d->frags;
|
||||
if(m_ctf) teamflagscore[teamsused++] = d->flagscore;
|
||||
};
|
||||
|
||||
void renderscores()
|
||||
{
|
||||
if(!scoreson) return;
|
||||
menu = m_ctf ? 2 : 0;
|
||||
scorelines.setsize(0);
|
||||
if(!demoplayback) renderscore(player1);
|
||||
loopv(players) if(players[i]) renderscore(players[i]);
|
||||
sortmenu(0, scorelines.length());
|
||||
sortmenu(menu, 0, scorelines.length());
|
||||
if(m_teammode)
|
||||
{
|
||||
teamsused = 0;
|
||||
@@ -152,11 +162,13 @@ void renderscores()
|
||||
teamscores[0] = 0;
|
||||
loopj(teamsused)
|
||||
{
|
||||
sprintf_sd(sc)("[ %s: %d ]", teamname[j], teamscore[j]);
|
||||
string sc;
|
||||
if(m_ctf) sprintf_s(sc)("[ %s: %d %d ]", teamname[j], teamflagscore[j], teamscore[j]);
|
||||
else sprintf_s(sc)("[ %s: %d ]", teamname[j], teamscore[j]);
|
||||
strcat_s(teamscores, sc);
|
||||
};
|
||||
menumanual(0, scorelines.length(), "");
|
||||
menumanual(0, scorelines.length()+1, teamscores);
|
||||
menumanual(menu, scorelines.length(), "");
|
||||
menumanual(menu, scorelines.length()+1, teamscores);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user