*** empty log message ***
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@1164 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
@@ -575,38 +575,49 @@ void flagmsg(int flag, int action)
|
||||
{
|
||||
flaginfo &f = flaginfos[flag];
|
||||
if(!f.actor || !f.ack) return;
|
||||
bool own = flag == team_int(player1->team);
|
||||
bool own = flag == team_int(player1->team), firstperson = false;
|
||||
const char *teamstr;
|
||||
if(demoplayback && !localdemoplayer1st())
|
||||
teamstr = flag ? "the RVSF" : "the CLA";
|
||||
else
|
||||
{
|
||||
teamstr = flag == team_int(player1->team) ? "your" : "the enemy";
|
||||
firstperson = f.actor == player1;
|
||||
}
|
||||
|
||||
switch(action)
|
||||
{
|
||||
case SV_FLAGPICKUP:
|
||||
{
|
||||
playsound(S_FLAGPICKUP);
|
||||
if(f.actor==player1) conoutf("\f2you got the enemy flag");
|
||||
else conoutf("\f2%s got %s flag", colorname(f.actor), (own ? "your": "the enemy"));
|
||||
if(firstperson) conoutf("\f2you got the enemy flag");
|
||||
else conoutf("\f2%s got %s flag", colorname(f.actor), teamstr);
|
||||
break;
|
||||
}
|
||||
case SV_FLAGDROP:
|
||||
{
|
||||
playsound(S_FLAGDROP);
|
||||
if(f.actor==player1) conoutf("\f2you lost the flag");
|
||||
else conoutf("\f2%s lost %s flag", colorname(f.actor), (own ? "your" : "the enemy"));
|
||||
if(firstperson) conoutf("\f2you lost the flag");
|
||||
else conoutf("\f2%s lost %s flag", colorname(f.actor), teamstr);
|
||||
break;
|
||||
}
|
||||
case SV_FLAGRETURN:
|
||||
{
|
||||
playsound(S_FLAGRETURN);
|
||||
if(f.actor==player1) conoutf("\f2you returned your flag");
|
||||
else conoutf("\f2%s returned %s flag", colorname(f.actor), (own ? "your" : "the enemy"));
|
||||
if(firstperson) conoutf("\f2you returned your flag");
|
||||
else conoutf("\f2%s returned %s flag", colorname(f.actor), teamstr);
|
||||
break;
|
||||
}
|
||||
case SV_FLAGSCORE:
|
||||
{
|
||||
playsound(S_FLAGSCORE);
|
||||
if(f.actor==player1)
|
||||
if(firstperson)
|
||||
{
|
||||
conoutf("\f2you scored");
|
||||
addmsg(SV_FLAGS, "ri", ++player1->flagscore);
|
||||
}
|
||||
else if(demoplayback)
|
||||
conoutf("\f2%s scored for team %s", colorname(f.actor), f.actor->team);
|
||||
else conoutf("\f2%s scored for %s team", colorname(f.actor), (own ? "the enemy" : "your"));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -262,7 +262,7 @@ void parsemessages(int cn, playerent *d, ucharbuf &p)
|
||||
int target = getint(p);
|
||||
int damage = getint(p);
|
||||
int ls = getint(p);
|
||||
if(target==getclientnum()) { if(ls==player1->lifesequence) dodamage(damage, cn, d, gib); }
|
||||
if(!demoplayback && target==getclientnum()) { if(ls==player1->lifesequence) dodamage(damage, cn, d, gib); }
|
||||
else
|
||||
{
|
||||
playerent *victim = getclient(target);
|
||||
@@ -290,7 +290,7 @@ void parsemessages(int cn, playerent *d, ucharbuf &p)
|
||||
conoutf("\f2%s suicided", colorname(d));
|
||||
act = d;
|
||||
}
|
||||
else if(actor==getclientnum() /*|| (demoplayback && actor==democlientnum)*/) // player-neutral gameplay messages?
|
||||
else if(actor==getclientnum() && (!demoplayback || localdemoplayer1st()))
|
||||
{
|
||||
act = player1;
|
||||
int frags;
|
||||
@@ -409,8 +409,11 @@ void parsemessages(int cn, playerent *d, ucharbuf &p)
|
||||
}
|
||||
|
||||
case SV_PONG:
|
||||
addmsg(SV_CLIENTPING, "i", player1->ping = (player1->ping*5+lastmillis-getint(p))/6);
|
||||
{
|
||||
int millis = getint(p);
|
||||
if(!demoplayback) addmsg(SV_CLIENTPING, "i", player1->ping = (player1->ping*5+lastmillis-millis)/6);
|
||||
break;
|
||||
}
|
||||
|
||||
case SV_CLIENTPING:
|
||||
if(!d) return;
|
||||
@@ -594,9 +597,9 @@ void parsemessages(int cn, playerent *d, ucharbuf &p)
|
||||
if(demoplayback) // filter demo messages
|
||||
{
|
||||
int size = msgsizelookup(type);
|
||||
if(size)
|
||||
if(size>0)
|
||||
{
|
||||
loopi(size) getint(p);
|
||||
loopi(size-1) getint(p);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,8 +144,6 @@ int playbacktime = 0;
|
||||
int ddamage, bdamage;
|
||||
vec dorig;
|
||||
|
||||
int demomillis() { return lastmillis-starttime; }
|
||||
|
||||
void record(char *name)
|
||||
{
|
||||
int cn = getclientnum();
|
||||
@@ -325,13 +323,17 @@ void demoplaybackstep()
|
||||
int chan = gzget();
|
||||
uchar buf[MAXTRANS];
|
||||
gzread(f, buf, len);
|
||||
localservertoclient(chan, buf, len); // update game state
|
||||
|
||||
int extras = gzget();
|
||||
bool updatehistory = (!extras && playerhistory.length());
|
||||
if(updatehistory) memcpy(player1, playerhistory.last(), sizeof(playerent));
|
||||
localservertoclient(chan, buf, len); // update game state
|
||||
if(updatehistory) memcpy(playerhistory.last(), player1, sizeof(playerent));
|
||||
|
||||
playerent *target = (playerent *)players[democlientnum];
|
||||
ASSERT(target);
|
||||
|
||||
int extras;
|
||||
if((extras = gzget())) // read additional client side state not present in normal network stream
|
||||
if(extras) // read additional client side state not present in normal network stream
|
||||
{
|
||||
target->gunselect = gzget();
|
||||
target->lastattackgun = gzget();
|
||||
@@ -427,6 +429,7 @@ void demoplaybackstep()
|
||||
|
||||
void stopn() { if(demoplayback) stopreset(); else stop(); conoutf("demo stopped"); }
|
||||
|
||||
int demomillis() { return ((lastmillis-starttime)*demoplaybackspeed)/100; }
|
||||
|
||||
COMMAND(record, ARG_1STR);
|
||||
COMMAND(demo, ARG_1STR);
|
||||
|
||||
Reference in New Issue
Block a user