[Scummvm-cvs-logs] SF.net SVN: scummvm:[33216] scummvm/branches/gsoc2008-gui

Tanoku at users.sourceforge.net Tanoku at users.sourceforge.net
Tue Jul 22 22:07:54 CEST 2008


Revision: 33216
          http://scummvm.svn.sourceforge.net/scummvm/?rev=33216&view=rev
Author:   Tanoku
Date:     2008-07-22 20:07:53 +0000 (Tue, 22 Jul 2008)

Log Message:
-----------
Dirty rectangle handling, round four. :/

Modified Paths:
--------------
    scummvm/branches/gsoc2008-gui/common/rect.h
    scummvm/branches/gsoc2008-gui/engines/drascula/talk.cpp
    scummvm/branches/gsoc2008-gui/engines/m4/converse.cpp
    scummvm/branches/gsoc2008-gui/engines/m4/resource.cpp
    scummvm/branches/gsoc2008-gui/engines/parallaction/objects.h
    scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp

Modified: scummvm/branches/gsoc2008-gui/common/rect.h
===================================================================
--- scummvm/branches/gsoc2008-gui/common/rect.h	2008-07-22 19:32:21 UTC (rev 33215)
+++ scummvm/branches/gsoc2008-gui/common/rect.h	2008-07-22 20:07:53 UTC (rev 33216)
@@ -124,6 +124,16 @@
 		return contains(p.x, p.y);
 	}
 
+	/*! @brief check if the given rect is _fully_ contained inside this rectangle
+
+		@param r The rectangle to check
+
+		@retur true if the given rect is inside, false otherwise
+	*/
+	bool contains(const Rect &r) const {
+		return (left < r.left) && (right > r.right) && (top < r.top) && (bottom > r.bottom);
+	}
+
 	/*!	@brief check if given rectangle intersects with this rectangle
 
 		@param r the rectangle to check

Modified: scummvm/branches/gsoc2008-gui/engines/drascula/talk.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/engines/drascula/talk.cpp	2008-07-22 19:32:21 UTC (rev 33215)
+++ scummvm/branches/gsoc2008-gui/engines/drascula/talk.cpp	2008-07-22 20:07:53 UTC (rev 33216)
@@ -60,7 +60,7 @@
 	int x_talk1[8] = {  56,  86, 116, 146, 176, 206, 236, 266 };
 	int x_talk3[4] = {  80, 102, 124, 146 };
 	int x_talk4[4] = { 119, 158, 197, 236 };
-	int face;
+	int face = 0;
 	int length = strlen(said);
 
 	color_abc(kColorWhite);

Modified: scummvm/branches/gsoc2008-gui/engines/m4/converse.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/engines/m4/converse.cpp	2008-07-22 19:32:21 UTC (rev 33215)
+++ scummvm/branches/gsoc2008-gui/engines/m4/converse.cpp	2008-07-22 20:07:53 UTC (rev 33216)
@@ -379,8 +379,8 @@
 	uint32 header = convS->readUint32LE();
 	uint32 size;
 	uint32 chunk;
-	uint32 data;
-	uint32 i;
+	uint32 data = 0;
+	uint32 i = 0;
 	ConvEntry* curEntry = NULL;
 	ConvEntry* replyEntry = NULL;
 	int32 currentWeightedEntry = -1;

Modified: scummvm/branches/gsoc2008-gui/engines/m4/resource.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/engines/m4/resource.cpp	2008-07-22 19:32:21 UTC (rev 33215)
+++ scummvm/branches/gsoc2008-gui/engines/m4/resource.cpp	2008-07-22 20:07:53 UTC (rev 33216)
@@ -310,7 +310,7 @@
 
 Common::SeekableReadStream *MADSResourceManager::loadResource(const char *resourceName, bool loadFlag) {
 	Common::File hagFile;
-	uint32 offset, size;
+	uint32 offset = 0, size = 0;
 
 	// If the first character is a '@' then look for an external file
 	

Modified: scummvm/branches/gsoc2008-gui/engines/parallaction/objects.h
===================================================================
--- scummvm/branches/gsoc2008-gui/engines/parallaction/objects.h	2008-07-22 19:32:21 UTC (rev 33215)
+++ scummvm/branches/gsoc2008-gui/engines/parallaction/objects.h	2008-07-22 20:07:53 UTC (rev 33216)
@@ -94,7 +94,7 @@
 
 
 enum CommandFlags {
-	kFlagsAll			= 0xFFFFFFFFU,
+	kFlagsAll			= 0x7FFFFFFFU,
 
 	kFlagsVisited		= 1,
 	kFlagsExit			= 0x10000000,

Modified: scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp
===================================================================
--- scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp	2008-07-22 19:32:21 UTC (rev 33215)
+++ scummvm/branches/gsoc2008-gui/gui/ThemeRenderer.cpp	2008-07-22 20:07:53 UTC (rev 33216)
@@ -586,6 +586,7 @@
 	}
 		
 	renderDirtyScreen();
+//	_vectorRenderer->copyWholeFrame(_system);
 }
 
 void ThemeRenderer::renderDirtyScreen() {
@@ -595,7 +596,7 @@
 	Common::List<Common::Rect>::const_iterator i, j;
 	for (i = _dirtyScreen.begin(); i != _dirtyScreen.end(); ++i) {
 		for (j = i; j != _dirtyScreen.end(); ++j)
-			if (j != i && i->intersects(*j))
+			if (j != i && i->contains(*j))
 				j = _dirtyScreen.reverse_erase(j);
 
 		_vectorRenderer->copyFrame(_system, *i);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list