[Scummvm-cvs-logs] SF.net SVN: scummvm:[53322] scummvm/trunk/engines/sword25/gfx/image

sev at users.sourceforge.net sev at users.sourceforge.net
Wed Oct 13 01:37:35 CEST 2010


Revision: 53322
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53322&view=rev
Author:   sev
Date:     2010-10-12 23:37:35 +0000 (Tue, 12 Oct 2010)

Log Message:
-----------
SWORD25: Further fixes to vector images. Still not finished.

Modified Paths:
--------------
    scummvm/trunk/engines/sword25/gfx/image/vectorimage.cpp
    scummvm/trunk/engines/sword25/gfx/image/vectorimagerenderer.cpp

Modified: scummvm/trunk/engines/sword25/gfx/image/vectorimage.cpp
===================================================================
--- scummvm/trunk/engines/sword25/gfx/image/vectorimage.cpp	2010-10-12 23:37:13 UTC (rev 53321)
+++ scummvm/trunk/engines/sword25/gfx/image/vectorimage.cpp	2010-10-12 23:37:35 UTC (rev 53322)
@@ -446,8 +446,8 @@
 
 				double newX = curX + controlDeltaX;
 				double newY = curY + controlDeltaY;
-				double anchorX = curX + anchorDeltaX;
-				double anchorY = curY + anchorDeltaY;
+				double anchorX = newX + anchorDeltaX;
+				double anchorY = newY + anchorDeltaY;
 
 #define WEIGHT (2.0/3.0)
 

Modified: scummvm/trunk/engines/sword25/gfx/image/vectorimagerenderer.cpp
===================================================================
--- scummvm/trunk/engines/sword25/gfx/image/vectorimagerenderer.cpp	2010-10-12 23:37:13 UTC (rev 53321)
+++ scummvm/trunk/engines/sword25/gfx/image/vectorimagerenderer.cpp	2010-10-12 23:37:35 UTC (rev 53322)
@@ -341,10 +341,17 @@
 #endif
 
 	vec1 = art_bez_path_to_vec(bez1, 0.5);
-	vec2 = art_bez_path_to_vec(bez2, 0.5);
-	vec2 = art_vpath_reverse_free(vec2);
-	vec = art_vpath_cat(vec1, vec2);
+	if (bez2 != 0) {
+		vec2 = art_bez_path_to_vec(bez2, 0.5);
+		vec2 = art_vpath_reverse_free(vec2);
+		vec = art_vpath_cat(vec1, vec2);
 
+		art_free(vec1);
+		art_free(vec2);
+	} else {
+		vec = vec1;
+	}
+
 	if (scaleX != 1.0 || scaleY != 1.0) {
 		ArtVpath *vect;
 		int size = art_vpath_len(vec);
@@ -363,7 +370,7 @@
 		vec = vect;
 	}
 
-	if (penWidth != -1) {
+	if (bez2 == 0) { // Line drawing
 		svp = art_svp_vpath_stroke(vec, ART_PATH_STROKE_JOIN_ROUND, ART_PATH_STROKE_CAP_ROUND, penWidth, 1.0, 0.5);
 	} else {
 		svp = art_svp_from_vpath(vec);
@@ -427,7 +434,7 @@
 			(*fill0pos).code = ART_END;
 			(*fill1pos).code = ART_END;
 
-			drawBez(fill0, fill1, _pixelData, width, height, scaleX, scaleY, -1, _elements[e].getFillStyleColor(s));
+			drawBez(fill1, fill0, _pixelData, width, height, scaleX, scaleY, -1, _elements[e].getFillStyleColor(s));
 
 			art_free(fill0);
 			art_free(fill1);


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