27 Feb 2016

This commit is contained in:
g-cont 2016-02-27 00:00:00 +03:00 committed by Alibek Omarov
parent 93c062c19e
commit 0154fe4aa2
10 changed files with 41 additions and 41 deletions

View File

@ -574,8 +574,8 @@ void CL_UpdateStudioVars( cl_entity_t *ent, entity_state_t *newstate, qboolean n
{
// client got new packet, shuffle animtimes
ent->latched.prevanimtime = ent->curstate.animtime;
VectorCopy( newstate->origin, ent->latched.prevorigin );
VectorCopy( newstate->angles, ent->latched.prevangles );
VectorCopy( ent->curstate.origin, ent->latched.prevorigin );
VectorCopy( ent->curstate.angles, ent->latched.prevangles );
for( i = 0; i < 4; i++ )
ent->latched.prevcontroller[i] = newstate->controller[i];
@ -591,12 +591,6 @@ void CL_UpdateStudioVars( cl_entity_t *ent, entity_state_t *newstate, qboolean n
// copy blends
for( i = 0; i < 2; i++ )
ent->latched.prevblending[i] = ent->curstate.blending[i];
if( !VectorCompare( newstate->origin, ent->curstate.origin ))
VectorCopy( ent->curstate.origin, ent->latched.prevorigin );
if( !VectorCompare( newstate->angles, ent->curstate.angles ))
VectorCopy( ent->curstate.angles, ent->latched.prevangles );
}
/*

View File

@ -1155,7 +1155,7 @@ void CL_PrepVideo( void )
// let the render dll load the map
Q_strncpy( mapname, cl.model_precache[1], MAX_STRING );
Mod_LoadWorld( mapname, &map_checksum, false );
Mod_LoadWorld( mapname, &map_checksum, cl.maxclients > 1 );
cl.worldmodel = Mod_Handle( 1 ); // get world pointer
Cvar_SetFloat( "scr_loading", 25.0f );
@ -1616,8 +1616,8 @@ void CL_InitLocal( void )
// userinfo
Cvar_Get( "password", "", CVAR_USERINFO, "player password" );
name = Cvar_Get( "name", Sys_GetCurrentUser(), CVAR_USERINFO|CVAR_ARCHIVE|CVAR_PRINTABLEONLY, "player name" );
model = Cvar_Get( "model", "player", CVAR_USERINFO|CVAR_ARCHIVE, "player model ('player' is a singleplayer model)" );
name = Cvar_Get( "name", Sys_GetCurrentUser(), CVAR_USERINFO|CVAR_ARCHIVE|CVAR_PRINTABLEONLY, "player name" );
topcolor = Cvar_Get( "topcolor", "0", CVAR_USERINFO|CVAR_ARCHIVE, "player top color" );
bottomcolor = Cvar_Get( "bottomcolor", "0", CVAR_USERINFO|CVAR_ARCHIVE, "player bottom color" );
rate = Cvar_Get( "rate", "25000", CVAR_USERINFO|CVAR_ARCHIVE, "player network rate" );

View File

@ -762,13 +762,14 @@ void CL_RunUsercmd( local_state_t *from, local_state_t *to, usercmd_t *u, qboole
pmove->watertype = fcd->watertype;
pmove->onground = fcd->flags & FL_ONGROUND;
pmove->deadflag = fcd->deadflag;
VectorCopy(fcd->velocity, pmove->velocity);
VectorCopy(fcd->view_ofs, pmove->view_ofs);
VectorCopy(fs->origin, pmove->origin);
VectorCopy(fs->basevelocity, pmove->basevelocity);
VectorCopy(fcd->punchangle, pmove->punchangle);
VectorCopy(fs->angles, pmove->angles);
VectorCopy(fs->angles, pmove->oldangles);
VectorCopy( fcd->velocity, pmove->velocity );
VectorCopy( fcd->view_ofs, pmove->view_ofs );
VectorCopy( fs->origin, pmove->origin );
VectorCopy( fs->basevelocity, pmove->basevelocity );
VectorCopy( fcd->punchangle, pmove->punchangle );
VectorCopy( fs->angles, pmove->angles );
pmove->angles[PITCH] = -( fs->angles[PITCH] * 3.0f ); // restore viewangle pitch
VectorCopy( pmove->angles, pmove->oldangles );
pmove->friction = fs->friction;
pmove->usehull = fs->usehull;
pmove->oldbuttons = fs->oldbuttons;
@ -791,10 +792,10 @@ void CL_RunUsercmd( local_state_t *from, local_state_t *to, usercmd_t *u, qboole
pmove->fuser2 = fcd->fuser2;
pmove->fuser3 = fcd->fuser3;
pmove->fuser4 = fcd->fuser4;
VectorCopy(fcd->vuser1, pmove->vuser1);
VectorCopy(fcd->vuser2, pmove->vuser2);
VectorCopy(fcd->vuser3, pmove->vuser3);
VectorCopy(fcd->vuser4, pmove->vuser4);
VectorCopy( fcd->vuser1, pmove->vuser1 );
VectorCopy( fcd->vuser2, pmove->vuser2 );
VectorCopy( fcd->vuser3, pmove->vuser3 );
VectorCopy( fcd->vuser4, pmove->vuser4 );
clgame.dllFuncs.pfnPlayerMove( pmove, false );
@ -808,11 +809,13 @@ void CL_RunUsercmd( local_state_t *from, local_state_t *to, usercmd_t *u, qboole
tcd->waterlevel = pmove->waterlevel;
tcd->maxspeed = pmove->clientmaxspeed;
tcd->deadflag = pmove->deadflag;
VectorCopy(pmove->velocity, tcd->velocity);
VectorCopy(pmove->view_ofs, tcd->view_ofs);
VectorCopy(pmove->origin, ts->origin);
VectorCopy(pmove->basevelocity, ts->basevelocity);
VectorCopy(pmove->punchangle, tcd->punchangle);
VectorCopy( pmove->velocity, tcd->velocity );
VectorCopy( pmove->view_ofs, tcd->view_ofs );
VectorCopy( pmove->origin, ts->origin );
VectorCopy( pmove->basevelocity, ts->basevelocity );
VectorCopy( pmove->punchangle, tcd->punchangle );
VectorCopy( pmove->angles, ts->angles );
ts->angles[PITCH] = -( pmove->angles[PITCH] / 3.0f );
ts->oldbuttons = pmove->oldbuttons;
ts->friction = pmove->friction;
ts->movetype = pmove->movetype;

View File

@ -716,7 +716,7 @@ void CRC32_ProcessBuffer( dword *pulCRC, const void *pBuffer, int nBuffer );
void CRC32_ProcessByte( dword *pulCRC, byte ch );
void CRC32_Final( dword *pulCRC );
qboolean CRC32_File( dword *crcvalue, const char *filename );
qboolean CRC32_MapFile( dword *crcvalue, const char *filename );
qboolean CRC32_MapFile( dword *crcvalue, const char *filename, qboolean multiplayer );
void MD5Init( MD5Context_t *ctx );
void MD5Update( MD5Context_t *ctx, const byte *buf, uint len );
void MD5Final( byte digest[16], MD5Context_t *ctx );

View File

@ -228,7 +228,7 @@ qboolean CRC32_File( dword *crcvalue, const char *filename )
return true;
}
qboolean CRC32_MapFile( dword *crcvalue, const char *filename )
qboolean CRC32_MapFile( dword *crcvalue, const char *filename, qboolean multiplayer )
{
file_t *f;
dheader_t *header;
@ -241,7 +241,7 @@ qboolean CRC32_MapFile( dword *crcvalue, const char *filename )
if( !crcvalue ) return false;
// always calc same checksum for singleplayer
if( cls.state >= ca_connected && SV_Active() && CL_GetMaxClients() == 1 )
if( multiplayer == false )
{
*crcvalue = (('H'<<24)+('S'<<16)+('A'<<8)+'X');
return true;

View File

@ -107,7 +107,7 @@ void Mod_PrintBSPFileSizes( void );
void Mod_SetupHulls( vec3_t mins[MAX_MAP_HULLS], vec3_t maxs[MAX_MAP_HULLS] );
void Mod_GetBounds( int handle, vec3_t mins, vec3_t maxs );
void Mod_GetFrames( int handle, int *numFrames );
void Mod_LoadWorld( const char *name, uint *checksum, qboolean force );
void Mod_LoadWorld( const char *name, uint *checksum, qboolean multiplayer );
void Mod_FreeUnused( void );
void *Mod_Calloc( int number, size_t size );
void *Mod_CacheCheck( struct cache_user_s *c );

View File

@ -2997,7 +2997,7 @@ Mod_LoadWorld
Loads in the map and all submodels
==================
*/
void Mod_LoadWorld( const char *name, uint *checksum, qboolean force )
void Mod_LoadWorld( const char *name, uint *checksum, qboolean multiplayer )
{
int i;
@ -3011,8 +3011,11 @@ void Mod_LoadWorld( const char *name, uint *checksum, qboolean force )
world.block_size = BLOCK_SIZE_MAX;
else world.block_size = BLOCK_SIZE_DEFAULT;
if( !Q_stricmp( cm_models[0].name, name ) && !force )
if( !Q_stricmp( cm_models[0].name, name ))
{
// recalc the checksum in force-mode
CRC32_MapFile( &world.checksum, worldmodel->name, multiplayer );
// singleplayer mode: server already loaded map
if( checksum ) *checksum = world.checksum;
@ -3038,7 +3041,7 @@ void Mod_LoadWorld( const char *name, uint *checksum, qboolean force )
// load the newmap
world.loading = true;
worldmodel = Mod_ForName( name, true );
CRC32_MapFile( &world.checksum, worldmodel->name );
CRC32_MapFile( &world.checksum, worldmodel->name, multiplayer );
world.loading = false;
if( checksum ) *checksum = world.checksum;

View File

@ -1035,10 +1035,10 @@ qboolean Delta_CompareField( delta_t *pField, void *from, void *to, float timeba
}
else if( pField->flags & DT_TIMEWINDOW_8 )
{
val_a = (*(float *)((byte *)from + pField->offset )) * 100.0f;
val_b = (*(float *)((byte *)to + pField->offset )) * 100.0f;
val_a -= (timebase * 100.0f);
val_b -= (timebase * 100.0f);
val_a = Q_rint((*(float *)((byte *)from + pField->offset )) * 100.0f );
val_b = Q_rint((*(float *)((byte *)to + pField->offset )) * 100.0f );
val_a -= Q_rint(timebase * 100.0f);
val_b -= Q_rint(timebase * 100.0f);
fromF = *((int *)&val_a);
toF = *((int *)&val_b);
}
@ -1137,7 +1137,7 @@ qboolean Delta_WriteField( sizebuf_t *msg, delta_t *pField, void *from, void *to
else if( pField->flags & DT_TIMEWINDOW_8 )
{
flValue = *(float *)((byte *)to + pField->offset );
flTime = (timebase * 100.0f) - (flValue * 100.0f);
flTime = Q_rint( timebase * 100.0f ) - Q_rint(flValue * 100.0f);
iValue = (uint)abs( flTime );
BF_WriteBitLong( msg, iValue, pField->bits, bSigned );

View File

@ -1820,12 +1820,12 @@ void SV_UserinfoChanged( sv_client_t *cl, const char *userinfo )
Q_snprintf( temp2, sizeof( temp2 ), "%s (%u)", temp1, dupc++ );
Info_SetValueForKey( cl->userinfo, "name", temp2 );
val = Info_ValueForKey( cl->userinfo, "name" );
Q_strcpy( cl->name, temp2 );
Q_strncpy( cl->name, temp2, sizeof( cl->name ));
}
else
{
if( dupc == 1 ) // unchanged
Q_strcpy( cl->name, temp1 );
Q_strncpy( cl->name, temp1, sizeof( cl->name ));
break;
}
}

View File

@ -551,7 +551,7 @@ qboolean SV_SpawnServer( const char *mapname, const char *startspot )
else sv.startspot[0] = '\0';
Q_snprintf( sv.model_precache[1], sizeof( sv.model_precache[0] ), "maps/%s.bsp", sv.name );
Mod_LoadWorld( sv.model_precache[1], &sv.checksum, false );
Mod_LoadWorld( sv.model_precache[1], &sv.checksum, sv_maxclients->integer > 1 );
sv.worldmodel = Mod_Handle( 1 ); // get world pointer
for( i = 1; i < sv.worldmodel->numsubmodels; i++ )