[Scummvm-cvs-logs] scummvm master -> 2f077dba80bb35555bde3360d3a43e4f49c7bcb2

dreammaster dreammaster at scummvm.org
Sat Aug 22 02:56:09 CEST 2015


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
2f077dba80 SHERLOCK: RT: Fix flickering newspaper inside Baker Street


Commit: 2f077dba80bb35555bde3360d3a43e4f49c7bcb2
    https://github.com/scummvm/scummvm/commit/2f077dba80bb35555bde3360d3a43e4f49c7bcb2
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-08-21T20:55:31-04:00

Commit Message:
SHERLOCK: RT: Fix flickering newspaper inside Baker Street

Changed paths:
    engines/sherlock/tattoo/tattoo_scene.cpp



diff --git a/engines/sherlock/tattoo/tattoo_scene.cpp b/engines/sherlock/tattoo/tattoo_scene.cpp
index 6f96730..2f88f4c 100644
--- a/engines/sherlock/tattoo/tattoo_scene.cpp
+++ b/engines/sherlock/tattoo/tattoo_scene.cpp
@@ -43,15 +43,16 @@ struct ShapeEntry {
 	TattooPerson *_person;
 	bool _isAnimation;
 	int _yp;
+	int _objNum;
 
-	ShapeEntry(TattooPerson *person, int yp) : _shape(nullptr), _person(person), _yp(yp), _isAnimation(false) {}
-	ShapeEntry(Object *shape, int yp) : _shape(shape), _person(nullptr), _yp(yp), _isAnimation(false) {}
-	ShapeEntry(int yp) : _shape(nullptr), _person(nullptr), _yp(yp), _isAnimation(true) {}
+	ShapeEntry(TattooPerson *person, int yp) : _shape(nullptr), _person(person), _yp(yp), _isAnimation(false), _objNum(-1) {}
+	ShapeEntry(Object *shape, int yp, int objNum) : _shape(shape), _person(nullptr), _yp(yp), _isAnimation(false), _objNum(objNum) {}
+	ShapeEntry(int yp) : _shape(nullptr), _person(nullptr), _yp(yp), _isAnimation(true), _objNum(-1) {}
 };
 typedef Common::List<ShapeEntry> ShapeList;
 
 static bool sortImagesY(const ShapeEntry &s1, const ShapeEntry &s2) {
-	return s1._yp <= s2._yp;
+	return s1._yp < s2._yp || (s1._yp == s2._yp && s1._objNum < s2._objNum);
 }
 
 /*----------------------------------------------------------------*/
@@ -149,10 +150,10 @@ void TattooScene::drawAllShapes() {
 		if (obj._type == ACTIVE_BG_SHAPE && (obj._misc == NORMAL_BEHIND || obj._misc == NORMAL_FORWARD)) {
 			if (obj._scaleVal == SCALE_THRESHOLD)
 				shapeList.push_back(ShapeEntry(&obj, obj._position.y + obj._imageFrame->_offset.y +
-					obj._imageFrame->_height));
+					obj._imageFrame->_height, idx));
 			else
 				shapeList.push_back(ShapeEntry(&obj, obj._position.y + obj._imageFrame->sDrawYOffset(obj._scaleVal) +
-					obj._imageFrame->sDrawYSize(obj._scaleVal)));
+					obj._imageFrame->sDrawYSize(obj._scaleVal), idx));
 		}
 	}
 






More information about the Scummvm-git-logs mailing list