Browse Source

[love2d] Fixed vertex color multiplier. We support both the old 0-255 and the new 0-1 RGBA range. Closes #1392.

badlogic 6 years ago
parent
commit
2fee7b4bdf
1 changed files with 22 additions and 20 deletions
  1. 22 20
      spine-love/spine-love/spine.lua

+ 22 - 20
spine-love/spine-love/spine.lua

@@ -200,20 +200,22 @@ function PolygonBatcher:draw (texture, vertices, uvs, numVertices, indices, colo
 	local vertexStart = self.verticesLength + 1
 	local vertexEnd = vertexStart + numVertices
 	local vertex = self.vertex
+  local colorScalar = 1;
+  if love._version_major <= 10 then colorScalar = 255 end
 	if not self.useTwoColorTint then
-		vertex[5] = color.r * 255
-		vertex[6] = color.g * 255
-		vertex[7] = color.b * 255
-		vertex[8] = color.a * 255
+		vertex[5] = color.r * colorScalar
+		vertex[6] = color.g * colorScalar
+		vertex[7] = color.b * colorScalar
+		vertex[8] = color.a * colorScalar
 	else
-		vertex[5] = color.r * 255
-		vertex[6] = color.g * 255
-		vertex[7] = color.b * 255
-		vertex[8] = color.a * 255
-		vertex[9] = darkColor.r * 255
-		vertex[10] = darkColor.g * 255
-		vertex[11] = darkColor.b * 255
-		vertex[12] = darkColor.a * 255
+		vertex[5] = color.r * colorScalar
+		vertex[6] = color.g * colorScalar
+		vertex[7] = color.b * colorScalar
+		vertex[8] = color.a * colorScalar
+		vertex[9] = darkColor.r * colorScalar
+		vertex[10] = darkColor.g * colorScalar
+		vertex[11] = darkColor.b * colorScalar
+		vertex[12] = darkColor.a * colorScalar
 	end
 	
 	local v = 1
@@ -231,15 +233,15 @@ function PolygonBatcher:draw (texture, vertices, uvs, numVertices, indices, colo
 			vertex[2] = tempVertex.y
 			vertex[3] = tempVertex.u
 			vertex[4] = tempVertex.v
-			vertex[5] = tempVertex.light.r * 255
-			vertex[6] = tempVertex.light.g * 255
-			vertex[7] = tempVertex.light.b * 255
-			vertex[8] = tempVertex.light.a * 255
+			vertex[5] = tempVertex.light.r * colorScalar
+			vertex[6] = tempVertex.light.g * colorScalar
+			vertex[7] = tempVertex.light.b * colorScalar
+			vertex[8] = tempVertex.light.a * colorScalar
 			if (self.useTwoColorTint) then
-				vertex[9] = tempVertex.dark.r * 255
-				vertex[10] = tempVertex.dark.g * 255
-				vertex[11] = tempVertex.dark.b * 255
-				vertex[12] = tempVertex.dark.a * 255
+				vertex[9] = tempVertex.dark.r * colorScalar
+				vertex[10] = tempVertex.dark.g * colorScalar
+				vertex[11] = tempVertex.dark.b * colorScalar
+				vertex[12] = tempVertex.dark.a * colorScalar
 			end
 			mesh:setVertex(vertexStart, vertex)
 			vertexStart = vertexStart + 1