aboutsummaryrefslogtreecommitdiffstats
path: root/code
diff options
context:
space:
mode:
authortma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-08-13 17:09:05 +0000
committertma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea>2006-08-13 17:09:05 +0000
commitcc33a20368bd39f76401f849f4edab15a4ae45a6 (patch)
tree41aad63e12d7ff529434217f02427770f798fd79 /code
parent36ab05bf4cd9f33289411e212de353f75a5e07c5 (diff)
downloadioquake3-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.c2
-rw-r--r--code/client/cl_main.c3
-rw-r--r--code/client/client.h2
-rw-r--r--code/renderer/tr_image.c10
-rw-r--r--code/renderer/tr_init.c4
-rw-r--r--code/server/sv_snapshot.c4
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;
}