1
0
Fork 0
forked from fte/fteqw

Misc attempts at fixes.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3708 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2010-12-23 03:55:10 +00:00
parent afdd9f0d0f
commit f0a1318c2b
7 changed files with 44 additions and 26 deletions

View file

@ -560,10 +560,7 @@ void Con_PrintCon (console_t *con, char *txt)
{ {
conchar_t *o; conchar_t *o;
/*if ((*c&CON_CHARMASK)=='\t') switch (*c & (CON_CHARMASK))
*c = (*c&~CON_CHARMASK)|' ';
*/
switch (*c & (CON_CHARMASK&~CON_HIGHCHARSMASK))
{ {
case '\r': case '\r':
cr = true; cr = true;

View file

@ -406,6 +406,9 @@ int wildcmp(const char *wild, const char *string)
{ {
if (!*++wild) //a * at the end of the wild string matches anything the checked string has if (!*++wild) //a * at the end of the wild string matches anything the checked string has
{ {
string = strchr(string, '/');
if (string && string[1]) /*don't match it if there's a / with something after it*/
return 0;
return 1; return 1;
} }
mp = wild; mp = wild;

View file

@ -575,8 +575,7 @@ reeval:
fnum = OPA->function; fnum = OPA->function;
if ((fnum & ~0xff000000)==0) if ((fnum & ~0xff000000)==0)
{ {
pr_trace++; PR_RunError(progfuncs, "NULL function from qc (%s).\n", progfuncs->stringtable + pr_xfunction->s_name);
printf("NULL function from qc (%s).\n", progfuncs->stringtable + pr_xfunction->s_name);
#ifndef DEBUGABLE #ifndef DEBUGABLE
goto cont; goto cont;
#endif #endif

View file

@ -536,8 +536,8 @@ typedef struct client_s
qbyte vweap; qbyte vweap;
} otherclientsknown[MAX_CLIENTS]; //updated as needed. Flag at a time, or all flags. } otherclientsknown[MAX_CLIENTS]; //updated as needed. Flag at a time, or all flags.
struct client_s *controller; struct client_s *controller; /*first in splitscreen chain, NULL=nosplitscreen*/
struct client_s *controlled; struct client_s *controlled; /*next in splitscreen chain*/
int rate; int rate;

View file

@ -398,6 +398,14 @@ or crashing.
void SV_DropClient (client_t *drop) void SV_DropClient (client_t *drop)
{ {
laggedpacket_t *lp; laggedpacket_t *lp;
/*drop the first in the chain first*/
if (drop->controller && drop->controller != drop)
{
SV_DropClient(drop->controller);
return;
}
if (!drop->controller) if (!drop->controller)
{ {
// add the disconnect // add the disconnect
@ -596,6 +604,7 @@ void SV_DropClient (client_t *drop)
{ {
drop->controlled->controller = NULL; drop->controlled->controller = NULL;
SV_DropClient(drop->controlled); SV_DropClient(drop->controlled);
drop->controlled = NULL;
} }
} }

View file

@ -2187,13 +2187,7 @@ void SV_VoiceReadPacket(void)
continue; continue;
} }
//make sure we don't send the say to the same client 20 times due to splitscreen ring->receiver[j>>3] |= 1<<(j&3);
if (cl->controller)
cln = cl->controller - svs.clients;
else
cln = j;
ring->receiver[cln>>3] |= 1<<(cln&3);
} }
if (sv.mvdrecording && sv_voip_record.ival && !(sv_voip_record.ival == 2 && !host_client->spectator)) if (sv.mvdrecording && sv_voip_record.ival && !(sv_voip_record.ival == 2 && !host_client->spectator))
@ -2230,9 +2224,14 @@ void SV_VoiceInitClient(client_t *client)
} }
void SV_VoiceSendPacket(client_t *client, sizebuf_t *buf) void SV_VoiceSendPacket(client_t *client, sizebuf_t *buf)
{ {
unsigned int clno = client - svs.clients; unsigned int clno;
qboolean send; qboolean send;
struct voice_ring_s *ring; struct voice_ring_s *ring;
client_t *split;
if (client->controller)
client = client->controller;
clno = client - svs.clients;
if (!(client->fteprotocolextensions2 & PEXT2_VOICECHAT)) if (!(client->fteprotocolextensions2 & PEXT2_VOICECHAT))
return; return;
@ -2254,13 +2253,12 @@ void SV_VoiceSendPacket(client_t *client, sizebuf_t *buf)
send = false; send = false;
if (ring->receiver[clno>>3] & (1<<(clno&3))) if (ring->receiver[clno>>3] & (1<<(clno&3)))
send = true; send = true;
else
{ /*if you're spectating, you can hear whatever your tracked player can hear*/
/*if you're spectating, you can hear whatever your tracked player can hear*/ if (host_client->spectator && host_client->spec_track)
if (host_client->spectator && host_client->spec_track) if (ring->receiver[(host_client->spec_track-1)>>3] & (1<<((host_client->spec_track-1)&3)))
if (ring->receiver[(host_client->spec_track-1)>>3] & (1<<((host_client->spec_track-1)&3))) send = true;
send = true;
}
if (client->voice_mute[ring->sender>>3] & (1<<(ring->sender&3))) if (client->voice_mute[ring->sender>>3] & (1<<(ring->sender&3)))
send = false; send = false;

View file

@ -39,6 +39,12 @@
} }
"Entry" "Entry"
{ {
"MsmKey" = "8:_3BDB7011AA4B3758AF86E84F0C1DAF60"
"OwnerKey" = "8:_3D8125FEDA5B43DFAE7E3CF1642F05A8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_3D8125FEDA5B43DFAE7E3CF1642F05A8" "MsmKey" = "8:_3D8125FEDA5B43DFAE7E3CF1642F05A8"
"OwnerKey" = "8:_UNDEFINED" "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
@ -69,6 +75,12 @@
} }
"Entry" "Entry"
{ {
"MsmKey" = "8:_71CBEB9164DF59638557E9DDA2701375"
"OwnerKey" = "8:_3D8125FEDA5B43DFAE7E3CF1642F05A8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_A5F125D3E3DE4FE997E5899F1ED3F491" "MsmKey" = "8:_A5F125D3E3DE4FE997E5899F1ED3F491"
"OwnerKey" = "8:_UNDEFINED" "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
@ -430,14 +442,14 @@
{ {
"Name" = "8:Microsoft Visual Studio" "Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:FTEQuake" "ProductName" = "8:FTEQuake"
"ProductCode" = "8:{8DBC0030-CAE5-498F-BCE4-6E0BAB189EE7}" "ProductCode" = "8:{1E2732CA-B825-4859-B5F7-41749C2BCBA3}"
"PackageCode" = "8:{02F08071-FD7D-46B8-B530-FFA7DBD2505A}" "PackageCode" = "8:{C7794AE3-06F3-4BEB-BEDD-18434AE7855A}"
"UpgradeCode" = "8:{ED40A57B-C477-465A-8F0E-02E662BD739A}" "UpgradeCode" = "8:{ED40A57B-C477-465A-8F0E-02E662BD739A}"
"RestartWWWService" = "11:FALSE" "RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE" "RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:TRUE" "InstallAllUsers" = "11:TRUE"
"ProductVersion" = "8:1.0.0" "ProductVersion" = "8:1.0.1"
"Manufacturer" = "8:Forethought Entertainment" "Manufacturer" = "8:Forethought Entertainment"
"ARPHELPTELEPHONE" = "8:" "ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:" "ARPHELPLINK" = "8:"