[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [netPanzer-CVS] netpanzer/src Makefile Lib/2D/Surface.cpp Lib/2...,
Matthias Braun <=