[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