*** 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:
Lee Salzman
2007-06-28 18:44:39 +00:00
parent d3b9c4267e
commit eedd3ca3f2
3 changed files with 35 additions and 18 deletions
+19 -8
View File
@@ -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;
}
+8 -5
View File
@@ -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;
}
}
+8 -5
View File
@@ -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);