netpanzer-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netPanzer-CVS] netpanzer/src Makefile Lib/2D/Surface.cpp Lib/2...


From: Matthias Braun
Subject: [netPanzer-CVS] netpanzer/src Makefile Lib/2D/Surface.cpp Lib/2...
Date: Wed, 03 Sep 2003 04:26:34 -0400

CVSROOT:        /cvsroot/netpanzer
Module name:    netpanzer
Branch:         
Changes by:     Matthias Braun <address@hidden> 03/09/03 04:26:34

Modified files:
        src            : Makefile 
        src/Lib/2D     : Surface.cpp Surface.hpp 
        src/Lib/PObject/Templates: ArrayGrowableTemplate.hpp 
                                   ArrayTemplate.hpp 
                                   BucketArrayTemplate.hpp 
                                   LinkListDoubleTemplate.hpp 
                                   LinkListSingleTemplate.hpp 
                                   QueueTemplate.hpp 

Log message:
        -added a software routine for the bltTrans routine. This makes the 
mouse cursor
        appear in mingw. Though still lots of other blitting routines missing. 
(In the
        end we should replace them with SDL anyway...)
        -Fixed several bugs because of uninitialized variables in the Template 
classes.
        Also cleaned some code up there.

Patches:
Index: netpanzer/src/Lib/2D/Surface.cpp
diff -u netpanzer/src/Lib/2D/Surface.cpp:1.2 
netpanzer/src/Lib/2D/Surface.cpp:1.3
--- netpanzer/src/Lib/2D/Surface.cpp:1.2        Mon Sep  1 16:24:18 2003
+++ netpanzer/src/Lib/2D/Surface.cpp    Wed Sep  3 04:26:33 2003
@@ -575,15 +575,14 @@
        if (stride == pixelsPerRow && dest.stride == pixelsPerRow)
        {
                memcpy(dPtr, sPtr, pixelsPerRow * numRows * sizeof(PIX));
-       }       else
+       } else {
+               do
                {
-                       do
-                       {
-                               memcpy(dPtr, sPtr, pixelsPerRow * sizeof(PIX));
-                               sPtr += stride;
-                               dPtr += dest.stride;
-                       } while (--numRows > 0);
-         }
+                       memcpy(dPtr, sPtr, pixelsPerRow * sizeof(PIX));
+                       sPtr += stride;
+                       dPtr += dest.stride;
+               } while (--numRows > 0);
+       }
 } // end Surface::blt
 
 // bltTrans
@@ -635,10 +634,11 @@
        {
                pixelsPerRow +=  min.x; // This will subtract the neg. x value.
                sRow         += -min.x; // This will move the sRow to x = 0, 
from the neg. x.
-       }       else
-               {
+       } 
+       else
+       {
                dRow += min.x;
-               }
+       }
 
        // CLIP RIGHT
        // This subtracts only the portion hanging over the right edge of the
@@ -650,10 +650,11 @@
        {
                numRows += min.y;
                sRow    -= min.y * stride;
-       }       else
-               {
-                 dRow += min.y * dest.stride;
-               }
+       }
+       else
+       {
+               dRow += min.y * dest.stride;
+       }
 
        // CLIP BOTTOM
        // This subtracts only the portion hanging over the bottom edge of the
@@ -669,15 +670,30 @@
        assert(signed(pixelsPerRow) > 0);
        assert(signed(numRows) > 0);
 
-       //int srcAdjustment  = stride      - pixelsPerRow;
-       //int destAdjustment = dest.stride - pixelsPerRow;
-
+#ifndef MSVC
+       int srcAdjustment  = stride      - pixelsPerRow;
+       int destAdjustment = dest.stride - pixelsPerRow;
+#endif
        for (int row = 0; row < numRows; row++)
        {
+               // XXX we don't use the assembler stuff when not on msvc
+#ifdef MSVC
                bltTransSpan(dRow, sRow, pixelsPerRow);
 
                sRow += stride;
                dRow += dest.stride;
+#else
+               for (int col = 0; col < pixelsPerRow; col++)
+               {
+                       if (*sRow != 0) 
+                               *dRow = *sRow;
+                       sRow++;
+                       dRow++;
+               }
+               
+               sRow += srcAdjustment;
+               dRow += destAdjustment;
+#endif
        }
 
 } // end Surface::bltTrans
@@ -2088,7 +2104,6 @@
 }
 
 void Surface::bltScaleTrans(const Surface &source, const iRect &destRect) 
const {
-
 
 //00401151   mov         dword ptr [edi],edx
 //00401153   add         edi,4
Index: netpanzer/src/Lib/2D/Surface.hpp
diff -u netpanzer/src/Lib/2D/Surface.hpp:1.2 
netpanzer/src/Lib/2D/Surface.hpp:1.3
--- netpanzer/src/Lib/2D/Surface.hpp:1.2        Mon Sep  1 16:24:18 2003
+++ netpanzer/src/Lib/2D/Surface.hpp    Wed Sep  3 04:26:33 2003
@@ -118,12 +118,14 @@
 class Surface
 {
 public:
+// XXX this function seems pointless and does a noop
+#if 0
        void setTransPix()
        {
-               // XXX transPix is unisgned long, so >= 0 doesn't make sense...
-               //assert(transPix >= 0);
+               assert(transPix >= 0);
                Surface::transPix = transPix;
        }
+#endif
        void setOffset(const iXY &offset) { Surface::offset = offset; }
        void setOffsetX(int offset) { Surface::offset.x = offset; }
        void setOffsetY(int offset) { Surface::offset.y = offset; }
Index: netpanzer/src/Lib/PObject/Templates/ArrayGrowableTemplate.hpp
diff -u netpanzer/src/Lib/PObject/Templates/ArrayGrowableTemplate.hpp:1.2 
netpanzer/src/Lib/PObject/Templates/ArrayGrowableTemplate.hpp:1.3
--- netpanzer/src/Lib/PObject/Templates/ArrayGrowableTemplate.hpp:1.2   Mon Sep 
 1 16:24:18 2003
+++ netpanzer/src/Lib/PObject/Templates/ArrayGrowableTemplate.hpp       Wed Sep 
 3 04:26:34 2003
@@ -58,7 +58,7 @@
 
   void setGrowIncrement( unsigned long growIncrement );
 
-  inline unsigned long getSize( void )
+  inline unsigned long getSize( void ) const
    {
     return( size );
    }
@@ -89,6 +89,7 @@
 ArrayGrowableTemplate< TYPE >::
         ArrayGrowableTemplate( unsigned long size, unsigned long 
growIncrement, 
                            unsigned long growLimit )
+       : array(0)
  {
   initialize( size , growIncrement, growLimit );
  }
@@ -97,6 +98,7 @@
 template< class TYPE > 
 ArrayGrowableTemplate< TYPE >::
         ArrayGrowableTemplate( unsigned long size, unsigned long growIncrement 
)
+       : array(0)
  {
   initialize( size , growIncrement, 0xFFFFFFFF );
  }
@@ -105,6 +107,7 @@
 template< class TYPE > 
 ArrayGrowableTemplate< TYPE >::
         ArrayGrowableTemplate( unsigned long size )
+       : array(0)
  {
   initialize( size , 1, 0xFFFFFFFF );
  }
Index: netpanzer/src/Lib/PObject/Templates/ArrayTemplate.hpp
diff -u netpanzer/src/Lib/PObject/Templates/ArrayTemplate.hpp:1.2 
netpanzer/src/Lib/PObject/Templates/ArrayTemplate.hpp:1.3
--- netpanzer/src/Lib/PObject/Templates/ArrayTemplate.hpp:1.2   Mon Sep  1 
16:24:18 2003
+++ netpanzer/src/Lib/PObject/Templates/ArrayTemplate.hpp       Wed Sep  3 
04:26:34 2003
@@ -54,7 +54,7 @@
     memmove( (void *) &array[index], (void *) &object, sizeof( TYPE ) );
    }  
 
-  inline unsigned long getSize( void )
+  inline unsigned long getSize( void ) const
    {
     return( size );
    }
@@ -63,7 +63,7 @@
    {
     if ( array != 0 )
      {
-      delete [size] array;
+      delete[] array;
       array = 0;
      }
     
@@ -79,14 +79,12 @@
  {
   ArrayTemplate< TYPE >::size = size;
   array = new TYPE [ size ];
-  assert( array != 0 );
  }
 
 template< class TYPE >
 ArrayTemplate< TYPE >::~ArrayTemplate( void )
  {
-  if ( array != 0 )
-   delete [size] array;
+   delete[] array;
  }
 
 template< class TYPE >
@@ -94,14 +92,8 @@
  { 
   ArrayTemplate< TYPE >::size = size;
   
-  if ( array != 0 )
-   {
-    delete [size] array ;
-    array = 0;
-   } 
-  
+  delete[] array ;
   array = new TYPE [ size ];
-  assert( array != 0 );
  }
  
 
Index: netpanzer/src/Lib/PObject/Templates/BucketArrayTemplate.hpp
diff -u netpanzer/src/Lib/PObject/Templates/BucketArrayTemplate.hpp:1.2 
netpanzer/src/Lib/PObject/Templates/BucketArrayTemplate.hpp:1.3
--- netpanzer/src/Lib/PObject/Templates/BucketArrayTemplate.hpp:1.2     Mon Sep 
 1 16:24:18 2003
+++ netpanzer/src/Lib/PObject/Templates/BucketArrayTemplate.hpp Wed Sep  3 
04:26:34 2003
@@ -48,7 +48,7 @@
  
    void deallocate( void );
 
-   inline unsigned long getSize( void )
+   inline unsigned long getSize( void ) const
     { return( size ); }
    
    inline void addObject( unsigned long bucket_index, TYPE *object )
@@ -161,7 +161,7 @@
     array[ bucket_index ].deallocate();
    }
   
-  delete [size] array;
+  delete[] array;
   
   array = 0;
   size = 0;
Index: netpanzer/src/Lib/PObject/Templates/LinkListDoubleTemplate.hpp
diff -u netpanzer/src/Lib/PObject/Templates/LinkListDoubleTemplate.hpp:1.2 
netpanzer/src/Lib/PObject/Templates/LinkListDoubleTemplate.hpp:1.3
--- netpanzer/src/Lib/PObject/Templates/LinkListDoubleTemplate.hpp:1.2  Mon Sep 
 1 16:24:18 2003
+++ netpanzer/src/Lib/PObject/Templates/LinkListDoubleTemplate.hpp      Wed Sep 
 3 04:26:34 2003
@@ -31,10 +31,8 @@
   public:
 
   LinkListDoubleTemplate() 
-   { 
-       front = 0;
-       rear = 0;
-   }
+         : front(0), rear(0)
+   { }
 
   LinkListDoubleTemplate( unsigned long size );  
   
@@ -399,6 +397,7 @@
 
 template< class TYPE >
 LinkListDoubleTemplate< TYPE >::LinkListDoubleTemplate( unsigned long size )
+       : front(0), rear(0)
  {
   initialize( size );
  }
Index: netpanzer/src/Lib/PObject/Templates/LinkListSingleTemplate.hpp
diff -u netpanzer/src/Lib/PObject/Templates/LinkListSingleTemplate.hpp:1.2 
netpanzer/src/Lib/PObject/Templates/LinkListSingleTemplate.hpp:1.3
--- netpanzer/src/Lib/PObject/Templates/LinkListSingleTemplate.hpp:1.2  Mon Sep 
 1 16:24:18 2003
+++ netpanzer/src/Lib/PObject/Templates/LinkListSingleTemplate.hpp      Wed Sep 
 3 04:26:34 2003
@@ -31,9 +31,8 @@
   public:
 
   LinkListSingleTemplate() 
+         : front(0), rear(0)
    { 
-       front = 0;
-       rear = 0;
    }
 
   LinkListSingleTemplate( unsigned long size );  
@@ -205,6 +204,7 @@
 
 template< class TYPE >
 LinkListSingleTemplate< TYPE >::LinkListSingleTemplate( unsigned long size )
+       : front(0), rear(0)
  {
   initialize( size );
  }
Index: netpanzer/src/Lib/PObject/Templates/QueueTemplate.hpp
diff -u netpanzer/src/Lib/PObject/Templates/QueueTemplate.hpp:1.2 
netpanzer/src/Lib/PObject/Templates/QueueTemplate.hpp:1.3
--- netpanzer/src/Lib/PObject/Templates/QueueTemplate.hpp:1.2   Mon Sep  1 
16:24:18 2003
+++ netpanzer/src/Lib/PObject/Templates/QueueTemplate.hpp       Wed Sep  3 
04:26:34 2003
@@ -80,31 +80,22 @@
     }
    
    
-   inline bool isEmpty( void )
+   inline bool isEmpty( void ) const
     {
-     if( front == rear )
-      return ( true );
-         
-      return( false );
+     return front == rear;
     }
 
-   inline bool isFull ( void )
+   inline bool isFull ( void ) const
     {
-     if ( front == (rear + 1) % size )
-      return( true );
-
-     return( false );
+     return front == (rear + 1) % size;
     }
 
-   inline bool isReady( void )
+   inline bool isReady( void ) const
     {
-     if( front == rear )
-      return ( false );
-         
-      return( true );
+     return front != rear;
     }
 
-   inline unsigned long itemCount( void )
+   inline unsigned long itemCount( void ) const
     {
      if ( front > rear ) 
       return ( (rear+1) + ( (size-1) - front ) );
Index: netpanzer/src/Makefile
diff -u netpanzer/src/Makefile:1.2 netpanzer/src/Makefile:1.3
--- netpanzer/src/Makefile:1.2  Mon Sep  1 16:24:18 2003
+++ netpanzer/src/Makefile      Wed Sep  3 04:26:33 2003
@@ -32,7 +32,7 @@
 OBJECTS = $(SOURCES:.cpp=.o)
 # eventually disable if you don't have makedep installed (but you don't have
 # dependency checking then)
-#MAKEDEPEND=makedepend
+MAKEDEPEND=makedepend
 
 LINKFLAGS += -g3
 INCLUDEDIRS=$(DIRS) NetPanzer/Classes/Network




reply via email to

[Prev in Thread] Current Thread [Next in Thread]