diff options
| author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2006-08-13 17:09:05 +0000 | 
|---|---|---|
| committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2006-08-13 17:09:05 +0000 | 
| commit | cc33a20368bd39f76401f849f4edab15a4ae45a6 (patch) | |
| tree | 41aad63e12d7ff529434217f02427770f798fd79 /code | |
| parent | 36ab05bf4cd9f33289411e212de353f75a5e07c5 (diff) | |
| download | ioquake3-aero-cc33a20368bd39f76401f849f4edab15a4ae45a6.tar.gz ioquake3-aero-cc33a20368bd39f76401f849f4edab15a4ae45a6.zip  | |
* qvm files no longer installed by "make copyfiles"
* Loopback clients only get snapshots at the server frame rate now
  (Anonymous <nkylqinhvgcbyl@mailinator.com>)
* JPEG chroma subsampling disabled if the quality value is >= 85
  (Anonymous <nkylqinhvgcbyl@mailinator.com>)
* cl_lanForcePackets. When set to 0 (default is 1) the cl_maxpackets setting
  will be ignored if on a LAN. (Anonymous <nkylqinhvgcbyl@mailinator.com>)
git-svn-id: svn://svn.icculus.org/quake3/trunk@838 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code')
| -rw-r--r-- | code/client/cl_input.c | 2 | ||||
| -rw-r--r-- | code/client/cl_main.c | 3 | ||||
| -rw-r--r-- | code/client/client.h | 2 | ||||
| -rw-r--r-- | code/renderer/tr_image.c | 10 | ||||
| -rw-r--r-- | code/renderer/tr_init.c | 4 | ||||
| -rw-r--r-- | code/server/sv_snapshot.c | 4 | 
6 files changed, 20 insertions, 5 deletions
diff --git a/code/client/cl_input.c b/code/client/cl_input.c index 177a92b..8609d5a 100644 --- a/code/client/cl_input.c +++ b/code/client/cl_input.c @@ -645,7 +645,7 @@ qboolean CL_ReadyToSendPacket( void ) {  	}  	// send every frame for LAN -	if ( Sys_IsLANAddress( clc.netchan.remoteAddress ) ) { +	if ( cl_lanForcePackets->integer && Sys_IsLANAddress( clc.netchan.remoteAddress ) ) {  		return qtrue;  	} diff --git a/code/client/cl_main.c b/code/client/cl_main.c index 4c802a7..8c89d54 100644 --- a/code/client/cl_main.c +++ b/code/client/cl_main.c @@ -72,6 +72,8 @@ cvar_t	*cl_inGameVideo;  cvar_t	*cl_serverStatusResendTime;  cvar_t	*cl_trn; +cvar_t	*cl_lanForcePackets; +  clientActive_t		cl;  clientConnection_t	clc;  clientStatic_t		cls; @@ -2484,6 +2486,7 @@ void CL_Init( void ) {  	Cvar_Get( "cl_maxPing", "800", CVAR_ARCHIVE ); +	cl_lanForcePackets = Cvar_Get ("cl_lanForcePackets", "1", CVAR_ARCHIVE);  	// userinfo  	Cvar_Get ("name", "UnnamedPlayer", CVAR_USERINFO | CVAR_ARCHIVE ); diff --git a/code/client/client.h b/code/client/client.h index a9d0006..4da998b 100644 --- a/code/client/client.h +++ b/code/client/client.h @@ -355,6 +355,8 @@ extern	cvar_t	*cl_allowDownload;  extern	cvar_t	*cl_conXOffset;  extern	cvar_t	*cl_inGameVideo; +extern	cvar_t	*cl_lanForcePackets; +  //=================================================  // diff --git a/code/renderer/tr_image.c b/code/renderer/tr_image.c index d97a42a..30a9b6b 100644 --- a/code/renderer/tr_image.c +++ b/code/renderer/tr_image.c @@ -1816,6 +1816,11 @@ void SaveJPG(char * filename, int quality, int image_width, int image_height, un     * Here we just illustrate the use of quality (quantization table) scaling:     */    jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */); +  /* If quality is set high, disable chroma subsampling */ +  if (quality >= 85) { +    cinfo.comp_info[0].h_samp_factor = 1; +    cinfo.comp_info[0].v_samp_factor = 1; +  }    /* Step 4: Start compressor */ @@ -1890,6 +1895,11 @@ int SaveJPGToBuffer( byte *buffer, int quality,    jpeg_set_defaults(&cinfo);    jpeg_set_quality(&cinfo, quality, TRUE /* limit to baseline-JPEG values */); +  /* If quality is set high, disable chroma subsampling */ +  if (quality >= 85) { +    cinfo.comp_info[0].h_samp_factor = 1; +    cinfo.comp_info[0].v_samp_factor = 1; +  }    /* Step 4: Start compressor */    jpeg_start_compress(&cinfo, TRUE); diff --git a/code/renderer/tr_init.c b/code/renderer/tr_init.c index 347e7a7..24016c1 100644 --- a/code/renderer/tr_init.c +++ b/code/renderer/tr_init.c @@ -423,7 +423,7 @@ void RB_TakeScreenshotJPEG( int x, int y, int width, int height, char *fileName  	}  	ri.FS_WriteFile( fileName, buffer, 1 );		// create path -	SaveJPG( fileName, 95, glConfig.vidWidth, glConfig.vidHeight, buffer); +	SaveJPG( fileName, 90, glConfig.vidWidth, glConfig.vidHeight, buffer);  	ri.Hunk_FreeTempMemory( buffer );  } @@ -727,7 +727,7 @@ const void *RB_TakeVideoFrameCmd( const void *data )  	if( cmd->motionJpeg )  	{ -		frameSize = SaveJPGToBuffer( cmd->encodeBuffer, 95, +		frameSize = SaveJPGToBuffer( cmd->encodeBuffer, 90,  				cmd->width, cmd->height, cmd->captureBuffer );  		ri.CL_WriteAVIVideoFrame( cmd->encodeBuffer, frameSize );  	} diff --git a/code/server/sv_snapshot.c b/code/server/sv_snapshot.c index 2786b84..30001a1 100644 --- a/code/server/sv_snapshot.c +++ b/code/server/sv_snapshot.c @@ -583,11 +583,11 @@ void SV_SendMessageToClient( msg_t *msg, client_t *client ) {  	// set nextSnapshotTime based on rate and requested number of updates -	// local clients get snapshots every frame +	// local clients get snapshots every server frame  	// TTimo - https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=491  	// added sv_lanForceRate check  	if ( client->netchan.remoteAddress.type == NA_LOOPBACK || (sv_lanForceRate->integer && Sys_IsLANAddress (client->netchan.remoteAddress)) ) { -		client->nextSnapshotTime = svs.time - 1; +		client->nextSnapshotTime = svs.time + (1000/sv_fps->integer);  		return;  	}  | 
