[Scummvm-cvs-logs] CVS: scummvm/simon simon.cpp,1.289,1.290

Travis Howell kirben at users.sourceforge.net
Sun Aug 10 08:59:02 CEST 2003


Update of /cvsroot/scummvm/scummvm/simon
In directory sc8-pr-cvs1:/tmp/cvs-serv27231/simon

Modified Files:
	simon.cpp 
Log Message:

Add missing code for f10 key, thanks to Jamieson
Stops multiple flashing star occuring on one character/object


Index: simon.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/simon/simon.cpp,v
retrieving revision 1.289
retrieving revision 1.290
diff -u -d -r1.289 -r1.290
--- simon.cpp	10 Aug 2003 15:49:06 -0000	1.289
+++ simon.cpp	10 Aug 2003 15:58:38 -0000	1.290
@@ -1740,7 +1740,7 @@
 }
 
 void SimonEngine::f10_key() {
-	HitArea *ha;
+	HitArea *ha, *dha;
 	uint count;
 	uint y_, x_;
 	byte *dst;
@@ -1763,7 +1763,21 @@
 		do {
 			if (ha->id != 0 && ha->flags & 0x20 && !(ha->flags & 0x40)) {
 
-				 if (ha->y >= 0xc8 || ha->y >= _vga_var8)
+				dha = _hit_areas;
+				if (ha->flags & 1) {
+					while (dha != ha && dha->flags != ha->flags)
+						++dha;
+					if (dha != ha && dha->flags == ha->flags)
+						continue;
+				} else {
+					dha = _hit_areas;
+					while (dha != ha && dha->item_ptr != ha->item_ptr)
+						++dha;
+					if (dha != ha && dha->item_ptr == ha->item_ptr)
+						continue;
+				}
+
+				if (ha->y >= 0xc8 || ha->y >= _vga_var8)
 					continue;
 
 				y_ = (ha->height >> 1) - 4 + ha->y;





More information about the Scummvm-git-logs mailing list