This is an automated email from the git hooks/post-receive script. smcv pushed a commit to branch master in repository ioquake3.
commit fe3418c6f3652ad91cea5231c59426d771f9206a Author: Simon McVittie <[email protected]> Date: Wed Apr 29 09:30:26 2015 +0100 Imported Upstream version 1.36+u20150412+dfsg1 --- Makefile | 9 ++++----- code/cgame/cg_draw.c | 21 +++++++++++---------- code/game/ai_dmq3.c | 1 + code/qcommon/common.c | 2 +- code/qcommon/unzip.c | 6 ++++++ code/qcommon/vm_x86.c | 7 ++++--- code/renderergl1/tr_animation.c | 2 +- code/renderergl2/tr_animation.c | 2 +- code/renderergl2/tr_backend.c | 17 ++--------------- code/renderergl2/tr_extramath.c | 2 +- code/renderergl2/tr_image.c | 2 +- code/renderergl2/tr_shade.c | 30 +++++++++++++++++++----------- 12 files changed, 52 insertions(+), 49 deletions(-) diff --git a/Makefile b/Makefile index d0d2007..b6796f6 100644 --- a/Makefile +++ b/Makefile @@ -1074,11 +1074,10 @@ ifeq ($(USE_INTERNAL_JPEG),1) BASE_CFLAGS += -DUSE_INTERNAL_JPEG BASE_CFLAGS += -I$(JPDIR) else - # libjpeg doesn't have pkg-config yet, but let users override with - # "make JPEG_CFLAGS=-I/opt/jpeg/include JPEG_LIBS='-L/opt/jpeg/lib -ljpeg'" - # if they need to - JPEG_CFLAGS ?= - JPEG_LIBS ?= -ljpeg + # IJG libjpeg doesn't have pkg-config, but libjpeg-turbo uses libjpeg.pc; + # we fall back to hard-coded answers if libjpeg.pc is unavailable + JPEG_CFLAGS ?= $(shell pkg-config --silence-errors --cflags libjpeg || true) + JPEG_LIBS ?= $(shell pkg-config --silence-errors --libs libjpeg || echo -ljpeg) BASE_CFLAGS += $(JPEG_CFLAGS) RENDERER_LIBS += $(JPEG_LIBS) endif diff --git a/code/cgame/cg_draw.c b/code/cgame/cg_draw.c index e9c7d4d..cb914c9 100644 --- a/code/cgame/cg_draw.c +++ b/code/cgame/cg_draw.c @@ -679,6 +679,11 @@ static float CG_DrawAttacker( float y ) { return y; } + if ( !cgs.clientinfo[clientNum].infoValid ) { + cg.attackerTime = 0; + return y; + } + t = cg.time - cg.attackerTime; if ( t > ATTACKER_HEAD_TIME ) { cg.attackerTime = 0; @@ -1899,6 +1904,8 @@ static void CG_DrawCrosshair(void) trap_R_DrawStretchPic( x + cg.refdef.x + 0.5 * (cg.refdef.width - w), y + cg.refdef.y + 0.5 * (cg.refdef.height - h), w, h, 0, 0, 1, 1, hShader ); + + trap_R_SetColor( NULL ); } /* @@ -2298,8 +2305,7 @@ static void CG_DrawProxWarning( void ) { char s [32]; int w; static int proxTime; - static int proxCounter; - static int proxTick; + int proxTick; if( !(cg.snap->ps.eFlags & EF_TICKING ) ) { proxTime = 0; @@ -2307,17 +2313,12 @@ static void CG_DrawProxWarning( void ) { } if (proxTime == 0) { - proxTime = cg.time + 5000; - proxCounter = 5; - proxTick = 0; + proxTime = cg.time; } - if (cg.time > proxTime) { - proxTick = proxCounter--; - proxTime = cg.time + 1000; - } + proxTick = 10 - ((cg.time - proxTime) / 1000); - if (proxTick != 0) { + if (proxTick > 0 && proxTick <= 5) { Com_sprintf(s, sizeof(s), "INTERNAL COMBUSTION IN: %i", proxTick); } else { Com_sprintf(s, sizeof(s), "YOU HAVE BEEN MINED"); diff --git a/code/game/ai_dmq3.c b/code/game/ai_dmq3.c index 7248645..7574922 100644 --- a/code/game/ai_dmq3.c +++ b/code/game/ai_dmq3.c @@ -2876,6 +2876,7 @@ float BotEntityVisible(int viewer, vec3_t eye, vec3_t viewangles, float fov, int BotAI_Trace(&trace, start, NULL, NULL, end, passent, contents_mask); //if water was hit waterfactor = 1.0; + //note: trace.contents is always 0, see BotAI_Trace if (trace.contents & (CONTENTS_LAVA|CONTENTS_SLIME|CONTENTS_WATER)) { //if the water surface is translucent if (1) { diff --git a/code/qcommon/common.c b/code/qcommon/common.c index 3f06c75..c72ae37 100644 --- a/code/qcommon/common.c +++ b/code/qcommon/common.c @@ -3552,7 +3552,7 @@ void Com_RandomBytes( byte *string, int len ) Com_Printf( "Com_RandomBytes: using weak randomization\n" ); for( i = 0; i < len; i++ ) - string[i] = (unsigned char)( rand() % 255 ); + string[i] = (unsigned char)( rand() % 256 ); } diff --git a/code/qcommon/unzip.c b/code/qcommon/unzip.c index 4fb2d3a..b5043c1 100644 --- a/code/qcommon/unzip.c +++ b/code/qcommon/unzip.c @@ -1,4 +1,10 @@ /* unzip.c -- IO for uncompress .zip files using zlib + + Modified for Quake III Arena to use the Z_Malloc() memory pool; + this means a system copy of minizip is not a suitable replacement. + + Based on minizip: + Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant diff --git a/code/qcommon/vm_x86.c b/code/qcommon/vm_x86.c index 77aba05..3ec42ee 100644 --- a/code/qcommon/vm_x86.c +++ b/code/qcommon/vm_x86.c @@ -412,23 +412,24 @@ static void DoSyscall(void) if(vm_syscallNum < 0) { - int *data; + int *data, *ret; #if idx64 int index; intptr_t args[MAX_VMSYSCALL_ARGS]; #endif data = (int *) (savedVM->dataBase + vm_programStack + 4); + ret = &vm_opStackBase[vm_opStackOfs + 1]; #if idx64 args[0] = ~vm_syscallNum; for(index = 1; index < ARRAY_LEN(args); index++) args[index] = data[index]; - vm_opStackBase[vm_opStackOfs + 1] = savedVM->systemCall(args); + *ret = savedVM->systemCall(args); #else data[0] = ~vm_syscallNum; - vm_opStackBase[vm_opStackOfs + 1] = savedVM->systemCall((intptr_t *) data); + *ret = savedVM->systemCall((intptr_t *) data); #endif } else diff --git a/code/renderergl1/tr_animation.c b/code/renderergl1/tr_animation.c index 7bcc5bd..b01cf81 100644 --- a/code/renderergl1/tr_animation.c +++ b/code/renderergl1/tr_animation.c @@ -346,7 +346,7 @@ void RB_MDRSurfaceAnim( mdrSurface_t *surface ) oldFrame = (mdrFrame_t *)((byte *)header + header->ofsFrames + backEnd.currentEntity->e.oldframe * frameSize ); - RB_CheckOverflow( surface->numVerts, surface->numTriangles ); + RB_CHECKOVERFLOW( surface->numVerts, surface->numTriangles * 3 ); triangles = (int *) ((byte *)surface + surface->ofsTriangles); indexes = surface->numTriangles * 3; diff --git a/code/renderergl2/tr_animation.c b/code/renderergl2/tr_animation.c index 7422675..53e5ee9 100644 --- a/code/renderergl2/tr_animation.c +++ b/code/renderergl2/tr_animation.c @@ -350,7 +350,7 @@ void RB_MDRSurfaceAnim( mdrSurface_t *surface ) oldFrame = (mdrFrame_t *)((byte *)header + header->ofsFrames + backEnd.currentEntity->e.oldframe * frameSize ); - RB_CheckOverflow( surface->numVerts, surface->numTriangles ); + RB_CHECKOVERFLOW( surface->numVerts, surface->numTriangles * 3 ); triangles = (int *) ((byte *)surface + surface->ofsTriangles); indexes = surface->numTriangles * 3; diff --git a/code/renderergl2/tr_backend.c b/code/renderergl2/tr_backend.c index e74f8f2..c8c7200 100644 --- a/code/renderergl2/tr_backend.c +++ b/code/renderergl2/tr_backend.c @@ -127,25 +127,12 @@ void GL_Cull( int cullType ) { } else { - qboolean cullFront; + qboolean cullFront = (cullType == CT_FRONT_SIDED); if ( glState.faceCulling == CT_TWO_SIDED ) - { qglEnable( GL_CULL_FACE ); - } - - cullFront = (cullType == CT_FRONT_SIDED); - if ( backEnd.viewParms.isMirror ) - { - cullFront = !cullFront; - } - - if ( backEnd.currentEntity && backEnd.currentEntity->mirrored ) - { - cullFront = !cullFront; - } - if (glState.faceCullFront != cullFront) + if ( glState.faceCullFront != cullFront ) qglCullFace( cullFront ? GL_FRONT : GL_BACK ); glState.faceCullFront = cullFront; diff --git a/code/renderergl2/tr_extramath.c b/code/renderergl2/tr_extramath.c index da9a94d..bded757 100644 --- a/code/renderergl2/tr_extramath.c +++ b/code/renderergl2/tr_extramath.c @@ -225,7 +225,7 @@ uint16_t FloatToHalf(float in) f32.f = in; - f16.pack.exponent = CLAMP(f32.pack.exponent - 112, 0, 31); + f16.pack.exponent = CLAMP((int)(f32.pack.exponent) - 112, 0, 31); f16.pack.fraction = f32.pack.fraction >> 13; f16.pack.sign = f32.pack.sign; diff --git a/code/renderergl2/tr_image.c b/code/renderergl2/tr_image.c index e95b559..768cce3 100644 --- a/code/renderergl2/tr_image.c +++ b/code/renderergl2/tr_image.c @@ -2714,7 +2714,7 @@ void R_CreateBuiltinImages( void ) { { for( x = 0; x < MAX_DLIGHTS; x++) { - tr.shadowCubemaps[x] = R_CreateImage(va("*shadowcubemap%i", x), (byte *)data, DEFAULT_SIZE, DEFAULT_SIZE, IMGTYPE_COLORALPHA, IMGFLAG_CLAMPTOEDGE | IMGFLAG_CUBEMAP, 0); + tr.shadowCubemaps[x] = R_CreateImage(va("*shadowcubemap%i", x), NULL, PSHADOW_MAP_SIZE, PSHADOW_MAP_SIZE, IMGTYPE_COLORALPHA, IMGFLAG_CLAMPTOEDGE | IMGFLAG_CUBEMAP, 0); } } diff --git a/code/renderergl2/tr_shade.c b/code/renderergl2/tr_shade.c index 70b4353..0a652fb 100644 --- a/code/renderergl2/tr_shade.c +++ b/code/renderergl2/tr_shade.c @@ -1505,20 +1505,28 @@ void RB_StageIteratorGeneric( void ) // // set face culling appropriately // - if ((backEnd.viewParms.flags & VPF_DEPTHSHADOW)) + if (input->shader->cullType == CT_TWO_SIDED) { - //GL_Cull( CT_TWO_SIDED ); - - if (input->shader->cullType == CT_TWO_SIDED) - GL_Cull( CT_TWO_SIDED ); - else if (input->shader->cullType == CT_FRONT_SIDED) - GL_Cull( CT_BACK_SIDED ); - else - GL_Cull( CT_FRONT_SIDED ); - + GL_Cull( CT_TWO_SIDED ); } else - GL_Cull( input->shader->cullType ); + { + qboolean cullFront = (input->shader->cullType == CT_FRONT_SIDED); + + if ( backEnd.viewParms.flags & VPF_DEPTHSHADOW ) + cullFront = !cullFront; + + if ( backEnd.viewParms.isMirror ) + cullFront = !cullFront; + + if ( backEnd.currentEntity && backEnd.currentEntity->mirrored ) + cullFront = !cullFront; + + if (cullFront) + GL_Cull( CT_FRONT_SIDED ); + else + GL_Cull( CT_BACK_SIDED ); + } // set polygon offset if necessary if ( input->shader->polygonOffset ) -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/ioquake3.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

