Add a display for the name of the player you're aiming at and make the death messages into quotes so they can be redefined in the CONs

git-svn-id: https://svn.eduke32.com/eduke32@152 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
terminx 2006-05-05 22:39:34 +00:00
parent d6530ed294
commit 414d486de5
9 changed files with 111 additions and 50 deletions

View file

@ -237,6 +237,7 @@ void CONFIG_SetDefaults( void )
ud.statusbarmode = 0;
ud.autovote = 0;
ud.automsg = 0;
ud.idplayers = 1;
ShowOpponentWeapons = 0;
Bstrcpy(ud.rtsname, "DUKE.RTS");
@ -622,6 +623,7 @@ void CONFIG_ReadSetup( void )
SCRIPT_GetNumber( scripthandle, "Misc", "StatusBarMode",&ud.statusbarmode);
SCRIPT_GetNumber( scripthandle, "Misc", "AutoVote",&ud.autovote);
SCRIPT_GetNumber( scripthandle, "Misc", "AutoMsg",&ud.automsg);
SCRIPT_GetNumber( scripthandle, "Misc", "IDPlayers",&ud.automsg);
dummy = useprecache; SCRIPT_GetNumber( scripthandle, "Misc", "UsePrecache",&dummy); useprecache = dummy != 0;
@ -720,6 +722,7 @@ void CONFIG_WriteSetup( void )
SCRIPT_PutNumber( scripthandle, "Misc", "Crosshairs",ud.crosshair,false,false);
SCRIPT_PutNumber( scripthandle, "Misc", "DemoCams",ud.democams,false,false);
SCRIPT_PutNumber( scripthandle, "Misc", "Executions",ud.executions,false,false);
SCRIPT_PutNumber( scripthandle, "Misc", "IDPlayers",ud.idplayers,false,false);
SCRIPT_PutNumber( scripthandle, "Misc", "MPMessageDisplayTime",ud.msgdisptime,false,false);
SCRIPT_PutNumber( scripthandle, "Misc", "RunMode",RunMode,false,false);
SCRIPT_PutNumber( scripthandle, "Misc", "ShowFPS",ud.tickrate,false,false);

View file

@ -340,7 +340,7 @@ struct user_defs {
int32 runkey_mode,statusbarscale,mouseaiming,weaponswitch,drawweapon; // JBF 20031125
int32 brightskins,democams,color,pcolor[MAXPLAYERS],msgdisptime,statusbarmode;
int32 m_noexits,noexits,autovote,automsg;
int32 m_noexits,noexits,autovote,automsg,idplayers;
int32 entered_name,screen_tilting,shadows,fta_on,executions,auto_run;
int32 coords,tickrate,levelstats,m_coop,coop,screen_size,lockout,crosshair;

View file

@ -2128,7 +2128,7 @@ void operatefta(void)
}
else k = 0;
if (ps[screenpeek].ftq == 115 || ps[screenpeek].ftq == 116)
if (ps[screenpeek].ftq == 115 || ps[screenpeek].ftq == 116 || ps[screenpeek].ftq == 117)
{
k = quotebot-8;
/* for(i=0;i<MAXUSERQUOTES;i++)
@ -2992,9 +2992,29 @@ void displayrest(long smoothratio)
{
SetGameVarID(g_iReturnVarID,0,ps[screenpeek].i,screenpeek);
OnEvent(EVENT_DISPLAYCROSSHAIR, ps[screenpeek].i, screenpeek, -1);
if(GetGameVarID(g_iReturnVarID,ps[screenpeek].i,screenpeek) == 0)
rotatesprite((160L-(ps[myconnectindex].look_ang>>1))<<16,100L<<16,ud.crosshair>1?65536L>>(ud.crosshair-1):65536L,0,CROSSHAIR,0,0,2+1,windowx1,windowy1,windowx2,windowy2);
if(ud.idplayers)
{
long sx,sy,sz;
short sect,hw,hs;
hitscan(ps[screenpeek].posx,ps[screenpeek].posy,ps[screenpeek].posz,ps[screenpeek].cursectnum,
sintable[(ps[screenpeek].ang+512)&2047],
sintable[ps[screenpeek].ang&2047],
(100-ps[screenpeek].horiz-ps[screenpeek].horizoff)<<11,&sect,&hw,&hs,&sx,&sy,&sz,CLIPMASK1);
if(sprite[hs].picnum == APLAYER)
{
if(ps[screenpeek].fta == 0 || ps[screenpeek].ftq == 117)
{
Bsprintf(fta_quotes[117],"%s",&ud.user_name[sprite[hs].yvel][0]);
ps[screenpeek].fta = 12;
ps[screenpeek].ftq = 117;
} else ps[screenpeek].fta--;
}
}
}
if(ps[myconnectindex].gm&MODE_TYPE)
typemode();

View file

@ -807,6 +807,7 @@ LABELS userdefslabels[]= {
{ "noexits", USERDEFS_NOEXITS, 0, 0 },
{ "autovote", USERDEFS_AUTOVOTE, 0, 0 },
{ "automsg", USERDEFS_AUTOMSG, 0, 0 },
{ "idplayers", USERDEFS_IDPLAYERS, 0, 0 },
{ "", -1, 0, 0 } // END OF LIST
};
@ -5831,6 +5832,66 @@ void loadefs(char *filenam)
for(i=0;i<128;i++)
if(fta_quotes[i] == NULL)
fta_quotes[i] = Bcalloc(MAXQUOTELEN,sizeof(char));
{
char *ppdeathstrings[] = {
"%^2%s WAS KICKED TO THE CURB BY %s",
"%^2%s WAS PICKED OFF BY %s",
"%^2%s TOOK %s'S SHOT TO THE FACE",
"%^2%s DANCED THE CHAINGUN CHA-CHA WITH %s",
"%^2%s TRIED TO MAKE A BONG OUT OF %s'S ROCKET",
"%^2%s EXPLODED. BLAME %s!",
"%^2%s FELT THE EFFECTS OF %s'S CORPORATE DOWNSIZING",
"%^2%s WAS TOO COOL FOR %s",
"%^2%s EXPANDED HIS HORIZONS WITH HELP FROM %s",
"%^2%s THINKS %s SHOULD CHECK HIS GLASSES",
"%^2%s TOOK %s'S BOOT TO THE HEAD",
"%^2%s FELL VICTIM TO %s's MAGIC AUTOAIMING PISTOL",
"%^2%s WAS CHASED OFF OF %s'S PORCH",
"%^2%s COULDN'T DANCE FAST ENOUGH FOR %s",
"%^2%s TRIED TO OUTRUN %s'S ROCKET",
"%^2%s FINALLY FOUND %s'S HIDDEN WMDS",
"%^2%s SHOULDN'T HAVE DELETED ALL THE VIAGRA SPAM FROM %s",
"%^2%s HAD TO SIT AND LISTEN TO %s QUOTE TERMINATOR 2 AGAIN",
"%^2%s BECAME A STICKY FILM ON %s'S BOOTS",
"%^2%s WISHES %s HAD PRACTICED BEFORE PLAYING",
"%^2%s WAS WALKED ALL OVER BY %s",
"%^2%s WAS PICKED OFF BY %s",
"%^2%s MASQUERADED AS QUAIL FOR VICE PRESIDENT %s",
"%^2%s HELPED %s RE-ENACT SCARFACE",
"%^2%s BECAME THE SALSA FOR %s'S CHIPS",
"%^2%s WONDERS WHY %s HATES FREEDOM",
"%^2%s'S HEIGHT DROPPED FASTER THAN %s'S ENRON STOCK",
"%^2%s WENT TO PIECES. %s, HOW COULD YOU?",
"%^2%s EXPANDED HIS HORIZONS WITH HELP FROM %s",
"%^2%s WANTS TO KNOW WHY %s IS EVEN PLAYING COOP",
};
char *podeathstrings[] = {
"%^2%s KILLED HIMSELF. WHAT A TOOL!",
"%^2%s TRIED TO LEAVE",
"%^2%s GOT FRAGGED BY A MONSTER. IT WAS PROBABLY A LIZTROOP."
};
for(i=0;i<(signed int)(sizeof(ppdeathstrings)/sizeof(ppdeathstrings[0]));i++)
{
if(fta_quotes[i+16300] == NULL)
{
fta_quotes[i+16300] = Bcalloc(MAXQUOTELEN,sizeof(char));
Bstrcpy(fta_quotes[i+16300],ppdeathstrings[i]);
}
}
for(i=0;i<(signed int)(sizeof(podeathstrings)/sizeof(podeathstrings[0]));i++)
{
if(fta_quotes[i+16350] == NULL)
{
fta_quotes[i+16350] = Bcalloc(MAXQUOTELEN,sizeof(char));
Bstrcpy(fta_quotes[i+16350],podeathstrings[i]);
}
}
}
}
}

View file

@ -289,7 +289,8 @@ enum userdefslabels {
USERDEFS_M_NOEXITS,
USERDEFS_NOEXITS,
USERDEFS_AUTOVOTE,
USERDEFS_AUTOMSG
USERDEFS_AUTOMSG,
USERDEFS_IDPLAYERS
};
enum sectorlabels {

View file

@ -652,6 +652,13 @@ void DoUserDef(char bSet, long lLabelID, long lVar2, short sActor, short sPlayer
SetGameVarID((int)lVar2, ud.automsg, sActor, sPlayer);
break;
case USERDEFS_IDPLAYERS:
if(bSet)
ud.idplayers = lValue;
else
SetGameVarID((int)lVar2, ud.idplayers, sActor, sPlayer);
break;
default:
break;
}

View file

@ -196,7 +196,7 @@ static int probe_(int type,int x,int y,int i,int n)
int probe(int x,int y,int i,int n) { return probe_(0,x,y,i,n); }
int probesm(int x,int y,int i,int n) { return probe_(1,x,y,i,n); }
int menutext(int x,int y,short s,short p,char *t)
int menutext_(int x,int y,short s,short p,char *t)
{
short i, ac, centre;
@ -311,6 +311,11 @@ int menutext(int x,int y,short s,short p,char *t)
return (x);
}
int menutext(int x,int y,short s,short p,char *t)
{
return(menutext_(x,y,s,p,strip_color_codes(t)));
}
static void bar_(int type, int x,int y,short *p,short dainc,char damodify,short s, short pa)
{
short xloc;
@ -2317,7 +2322,7 @@ cheat_for_port_credits:
"-",
"Automatic voting",
"Send MP messages to all",
"-",
"Display other player IDs",
"-",
"-",
"-",
@ -2375,7 +2380,10 @@ cheat_for_port_credits:
case 4: if (x==io) ud.automsg = 1-ud.automsg;
modval(0,1,(int *)&ud.automsg,1,probey==io);
gametextpal(d,yy, ud.automsg ? "On" : "Off", MENUHIGHLIGHT(io), 0); break;
case 5: if (x==io) cmenu(200); break;
case 5: if (x==io) ud.idplayers = 1-ud.idplayers;
modval(0,1,(int *)&ud.idplayers,1,probey==io);
gametextpal(d,yy, ud.idplayers ? "On" : "Off", MENUHIGHLIGHT(io), 0); break;
case 6: if (x==io) cmenu(200); break;
default: break;
}
gametextpal(c,yy, opts[ii], enabled?MENUHIGHLIGHT(io):15, 2);

View file

@ -444,6 +444,8 @@ struct cvarmappings {
{ "cl_democams", "cl_democams: enable/disable demo playback cameras", (void*)&ud.democams, CVAR_BOOL, 0, 0, 1 },
{ "cl_drawweapon", "cl_drawweapon: enable/disable weapon drawing", (void*)&ud.drawweapon, CVAR_INT, 0, 0, 2 },
{ "cl_idplayers", "cl_idplayers: enable/disable name display when aiming at opponents", (void*)&ud.idplayers, CVAR_BOOL, 0, 0, 1 },
{ "cl_messagetime", "cl_messagetime: length of time to display multiplayer chat messages\n", (void*)&ud.msgdisptime, CVAR_INT, 0, 0, 3600 },
{ "cl_showcoords", "cl_showcoords: show your position in the game world", (void*)&ud.coords, CVAR_BOOL, 0, 0, 1 },

View file

@ -3448,41 +3448,6 @@ void processinput(short snum)
{
if(p->frag_ps != snum)
{
char *s[] = {
"%^2%s WAS KICKED TO THE CURB BY %s",
"%^2%s WAS PICKED OFF BY %s",
"%^2%s TOOK %s'S SHOT TO THE FACE",
"%^2%s DANCED THE CHAINGUN CHA-CHA WITH %s",
"%^2%s TRIED TO MAKE A BONG OUT OF %s'S ROCKET",
"%^2%s EXPLODED. BLAME %s!",
"%^2%s FELT THE EFFECTS OF %s'S CORPORATE DOWNSIZING",
"%^2%s WAS TOO COOL FOR %s",
"%^2%s EXPANDED HIS HORIZONS WITH HELP FROM %s",
"%^2%s THINKS %s SHOULD CHECK HIS GLASSES",
"%^2%s TOOK %s'S BOOT TO THE HEAD",
"%^2%s FELL VICTIM TO %s's MAGIC AUTOAIMING PISTOL",
"%^2%s WAS CHASED OFF OF %s'S PORCH",
"%^2%s COULDN'T DANCE FAST ENOUGH FOR %s",
"%^2%s TRIED TO OUTRUN %s'S ROCKET",
"%^2%s FINALLY FOUND %s'S HIDDEN WMDS",
"%^2%s SHOULDN'T HAVE DELETED ALL THE VIAGRA SPAM FROM %s",
"%^2%s HAD TO SIT AND LISTEN TO %s QUOTE TERMINATOR 2 AGAIN",
"%^2%s INFLATED FASTER THAN GASOLINE PRICES AND %s POCKETED THE PROFIT",
"%^2%s WISHES %s HAD PRACTICED BEFORE PLAYING",
"%^2%s WAS WALKED ALL OVER BY %s",
"%^2%s WAS PICKED OFF BY %s",
"%^2%s MASQUERADED AS QUAIL FOR VICE PRESIDENT %s",
"%^2%s HELPED %s RE-ENACT SCARFACE",
"%^2%s BECAME THE SALSA FOR %s'S CHIPS",
"%^2%s WONDERS WHY %s HATES FREEDOM",
"%^2%s'S HEIGHT DROPPED FASTER THAN %s'S ENRON STOCK",
"%^2%s WENT TO PIECES. %s, HOW COULD YOU?",
"%^2%s EXPANDED HIS HORIZONS WITH HELP FROM %s",
"%^2%s WONDERS IF %s WILL EVER KILL ENEMIES, NOT TEAMMATES",
};
ps[p->frag_ps].frag++;
frags[p->frag_ps][snum]++;
@ -3535,7 +3500,7 @@ void processinput(short snum)
Bstrcpy(name1,strip_color_codes(&ud.user_name[snum][0]));
Bstrcpy(name2,strip_color_codes(&ud.user_name[p->frag_ps][0]));
Bsprintf(tempbuf,s[i+(mulscale(krand(), 3, 16)*10)],name1,name2);
Bsprintf(tempbuf,fta_quotes[16300+i+(mulscale(krand(), 3, 16)*10)],name1,name2);
if(ScreenWidth >= 640)
adduserquote(tempbuf);
else OSD_Printf("%s\n",strip_color_codes(tempbuf));
@ -3543,12 +3508,6 @@ void processinput(short snum)
}
else
{
char *s[] = {
"%^2%s KILLED HIMSELF. WHAT A TOOL!",
"%^2%s TRIED TO LEAVE",
"%^2%s GOT FRAGGED BY A MONSTER. IT WAS PROBABLY A LIZTROOP."
};
p->fraggedself++;
if(badguypic(sprite[p->wackedbyactor].picnum))
@ -3557,7 +3516,7 @@ void processinput(short snum)
i = 1;
else i = 0;
Bsprintf(tempbuf,s[i],strip_color_codes(&ud.user_name[snum][0]));
Bsprintf(tempbuf,fta_quotes[16350+i],strip_color_codes(&ud.user_name[snum][0]));
adduserquote(tempbuf);
}