divide negative window x-coordinates properly, fixing random crashes
authorChris Taylor <chris@icculus.org>
Wed, 13 Dec 2006 07:09:24 +0000 (07:09 +0000)
committerChris Taylor <chris@icculus.org>
Wed, 13 Dec 2006 07:09:24 +0000 (07:09 +0000)
ChangeLog
texmap/tmapflat.c

index dedbba9..b9fdf08 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-12-13  Chris Taylor  <chris@icculus.org>
+
+       * texmap/tmapflat.c: divide negative window x-coordinates properly,
+       fixing random crashes
+
 2006-12-03  Chris Taylor  <chris@icculus.org>
 
        * texmap/tmapppro.S: fix assemble error for gas (fix bug #2312)
index 807561c..1e2ac39 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: tmapflat.c,v 1.6 2004-08-28 23:17:46 schaffner Exp $ */
+/* $Id: tmapflat.c,v 1.7 2006-12-13 07:09:24 chris Exp $ */
 /*
 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
@@ -48,8 +48,8 @@ void tmap_scanline_flat(int y, fix xleft, fix xright)
        // setup to call assembler scanline renderer
 
        fx_y = y;
-       fx_xleft = f2i(xleft);
-       fx_xright = f2i(xright);
+       fx_xleft = xleft/F1_0;          // (xleft >> 16) != xleft/F1_0 for negative numbers, f2i caused random crashes
+       fx_xright = xright/F1_0;
 
        if ( Gr_scanline_darkening_level >= GR_FADE_LEVELS )
                cur_tmap_scanline_flat();