[Scummvm-cvs-logs] CVS: scummvm/common scaler.cpp,1.55,1.56

Max Horn fingolfin at users.sourceforge.net
Mon Apr 12 14:31:01 CEST 2004


Update of /cvsroot/scummvm/scummvm/common
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21947

Modified Files:
	scaler.cpp 
Log Message:
Updated to match scale2x 2.0

Index: scaler.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/common/scaler.cpp,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- scaler.cpp	27 Feb 2004 15:52:23 -0000	1.55
+++ scaler.cpp	12 Apr 2004 21:16:32 -0000	1.56
@@ -176,10 +176,18 @@
 			A = B; B = C; C = *(p - nextlineSrc);
 			D = E; E = F; F = *(p);
 			G = H; H = I; I = *(p + nextlineSrc);
-			*(q + 0) = D == B && B != F && D != H ? D : E;
-			*(q + 1) = B == F && B != D && F != H ? F : E;
-			*(q + nextlineDst + 0) = D == H && D != B && H != F ? D : E;
-			*(q + nextlineDst + 1) = H == F && D != H && B != F ? F : E;
+
+			if (B != H && D != F) {
+				*(q + 0) = D == B ? D : E;
+				*(q + 1) = B == F ? F : E;
+				*(q + nextlineDst + 0) = D == H ? D : E;
+				*(q + nextlineDst + 1) = H == F ? F : E;
+			} else {
+				*(q + 0) = E;
+				*(q + 1) = E;
+				*(q + nextlineDst + 0) = E;
+				*(q + nextlineDst + 1) = E;
+			}
 			q += 2;
 		}
 		p += nextlineSrc - width;
@@ -216,16 +224,29 @@
 			A = B; B = C; C = *(p - nextlineSrc);
 			D = E; E = F; F = *(p);
 			G = H; H = I; I = *(p + nextlineSrc);
+		
+			if (B != H && D != F) {
+				*(q + 0) = D == B ? D : E;
+				*(q + 1) = (D == B && E != C) || (B == F && E != A) ? B : E;
+				*(q + 2) = B == F ? F : E;
+				*(q + nextlineDst + 0) = (D == B && E != G) || (D == B && E != A) ? D : E;
+				*(q + nextlineDst + 1) = E;
+				*(q + nextlineDst + 2) = (B == F && E != I) || (H == F && E != C) ? F : E;
+				*(q + 2 * nextlineDst + 0) = D == H ? D : E;
+				*(q + 2 * nextlineDst + 1) = (D == H && E != I) || (H == F && E != G) ? H : E;
+				*(q + 2 * nextlineDst + 2) = H == F ? F : E;
+			} else {
+				*(q + 0) = E;
+				*(q + 1) = E;
+				*(q + 2) = E;
+				*(q + nextlineDst + 0) = E;
+				*(q + nextlineDst + 1) = E;
+				*(q + nextlineDst + 2) = E;
+				*(q + 2 * nextlineDst + 0) = E;
+				*(q + 2 * nextlineDst + 1) = E;
+				*(q + 2 * nextlineDst + 2) = E;
+			}
 
-			*(q) = D == B && B != F && D != H ? D : E;
-			*(q + 1) = E;
-			*(q + 2) = B == F && B != D && F != H ? F : E;
-			*(q + nextlineDst) = E;
-			*(q + nextlineDst + 1) = E;
-			*(q + nextlineDst + 2) = E;
-			*(q + 2 * nextlineDst) = D == H && D != B && H != F ? D : E;
-			*(q + 2 * nextlineDst + 1) = E;
-			*(q + 2 * nextlineDst + 2) = H == F && D != H && B != F ? F : E;
 			q += 3;
 		}
 		p += nextlineSrc - width;





More information about the Scummvm-git-logs mailing list