[Scummvm-cvs-logs] SF.net SVN: scummvm:[35296] scummvm/trunk/engines/saga

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Dec 10 20:39:26 CET 2008


Revision: 35296
          http://scummvm.svn.sourceforge.net/scummvm/?rev=35296&view=rev
Author:   thebluegr
Date:     2008-12-10 19:39:26 +0000 (Wed, 10 Dec 2008)

Log Message:
-----------
Some more dirty rectangle fixes, only 2 known glitches are left

Modified Paths:
--------------
    scummvm/trunk/engines/saga/events.cpp
    scummvm/trunk/engines/saga/font.cpp
    scummvm/trunk/engines/saga/render.cpp

Modified: scummvm/trunk/engines/saga/events.cpp
===================================================================
--- scummvm/trunk/engines/saga/events.cpp	2008-12-09 21:49:45 UTC (rev 35295)
+++ scummvm/trunk/engines/saga/events.cpp	2008-12-10 19:39:26 UTC (rev 35296)
@@ -383,8 +383,6 @@
 		free(buf);
 		free(resourceData);
 
-		_vm->_render->setFullRefresh(true);
-
 		// Draw the scene. It won't be drawn by Render::drawScene(), as a placard is up
 		_vm->_scene->draw();
 		}

Modified: scummvm/trunk/engines/saga/font.cpp
===================================================================
--- scummvm/trunk/engines/saga/font.cpp	2008-12-09 21:49:45 UTC (rev 35295)
+++ scummvm/trunk/engines/saga/font.cpp	2008-12-10 19:39:26 UTC (rev 35296)
@@ -409,8 +409,7 @@
 	} // end per-character processing
 
 	rowLimit = (_vm->_gfx->getBackBufferHeight() < (textPoint.y + drawFont.header.charHeight)) ? _vm->_gfx->getBackBufferHeight() : textPoint.y + drawFont.header.charHeight;
-	// TODO: for now we add a dirty rect that ends at the right of the screen
-	_vm->_render->addDirtyRect(Common::Rect(textPoint.x, textPoint.y, _vm->_gfx->getBackBufferWidth(), rowLimit));
+	_vm->_render->addDirtyRect(Common::Rect(point.x, point.y, textPoint.x, rowLimit));
 }
 
 

Modified: scummvm/trunk/engines/saga/render.cpp
===================================================================
--- scummvm/trunk/engines/saga/render.cpp	2008-12-09 21:49:45 UTC (rev 35295)
+++ scummvm/trunk/engines/saga/render.cpp	2008-12-10 19:39:26 UTC (rev 35296)
@@ -82,7 +82,10 @@
 	int curMode = _vm->_interface->getMode();
 	assert(_initialized);
 
-	// TODO: Remove this
+	// TODO: Remove this to use dirty rectangles
+	// 2 known glitches exist:
+	// - When a placard is up, the text is not shown correctly
+	// - Sprite::drawClip() can draw sprites incorrectly in isometric scenes in ITE
 	_fullRefresh = true;
 
 #ifdef SAGA_DEBUG
@@ -221,7 +224,8 @@
 				break;	// we need to break now, as the list is changed
 			}
 		}
-		_dirtyRects.push_back(rectClipped);
+		if (_vm->_interface->getFadeMode() != kFadeOut)
+			_dirtyRects.push_back(rectClipped);
 	}
 }
 


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