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:
parent
afdd9f0d0f
commit
f0a1318c2b
7 changed files with 44 additions and 26 deletions
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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:"
|
||||||
|
|
Loading…
Reference in a new issue