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

Reply via email to