Browse Source

Add transform tables to SpriteBatch:add() and SpriteBatch:addq().

vrld 14 years ago
parent
commit
dd143c76ac
2 changed files with 50 additions and 12 deletions
  1. 14 3
      src/scripts/graphics.lua
  2. 36 9
      src/scripts/graphics.lua.h

+ 14 - 3
src/scripts/graphics.lua

@@ -1293,16 +1293,27 @@ AAIAAAxQCuxfDzz1AB8IAAAAAAC6ufC4AAAAALrCZ5H+if4dCkwHbQAAAAgAAQAAAAAAAA==
 
 	local draw = love.graphics.draw
 	function love.graphics.draw(drawable, x, y, ...)
-		draw(drawable, x, y, unpack_transform(...))
+		return draw(drawable, x, y, unpack_transform(...))
 	end
 
 	local drawq = love.graphics.drawq
 	function love.graphics.drawq(img, quad, x, y, ...)
-		drawq(img, quad, x, y, unpack_transform(...))
+		return drawq(img, quad, x, y, unpack_transform(...))
 	end
 
 	local lgprint = love.graphics.print1 -- << notice the 1
 	function love.graphics.print(text, x,y, ...)
-		lgprint(text, x,y, unpack_transform(...))
+		return lgprint(text, x,y, unpack_transform(...))
+	end
+
+	local temp_img = love.graphics.newImage(love.image.newImageData(0,0))
+	local temp_spritebatch = love.graphics.newSpriteBatch(temp_img, 0)
+	local sb_meta = getmetatable(temp_spritebatch)
+	local add, addq = sb_meta.add, sb_meta.addq
+	function sb_meta:add(x,y, ...)
+		return add(self, x,y, unpack_transform(...))
+	end
+	function sb_meta:addq(quad, x,y, ...)
+		return addq(self, quad, x,y, unpack_transform(...))
 	end
 end

+ 36 - 9
src/scripts/graphics.lua.h

@@ -5062,18 +5062,18 @@ const unsigned char graphics_lua[] =
 	0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 
 	0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x72, 0x61, 0x77, 0x28, 0x64, 0x72, 0x61, 0x77, 0x61, 0x62, 0x6c, 
 	0x65, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a,
-	0x09, 0x09, 0x64, 0x72, 0x61, 0x77, 0x28, 0x64, 0x72, 0x61, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x2c, 0x20, 0x78, 
-	0x2c, 0x20, 0x79, 0x2c, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 
-	0x6f, 0x72, 0x6d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x29, 0x0a,
+	0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x72, 0x61, 0x77, 0x28, 0x64, 0x72, 0x61, 0x77, 
+	0x61, 0x62, 0x6c, 0x65, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 
+	0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x29, 0x0a,
 	0x09, 0x65, 0x6e, 0x64, 0x0a,0x0a,
 	0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x72, 0x61, 0x77, 0x71, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 
 	0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x72, 0x61, 0x77, 0x71, 0x0a,
 	0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 
 	0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x64, 0x72, 0x61, 0x77, 0x71, 0x28, 0x69, 0x6d, 0x67, 0x2c, 0x20, 0x71, 
 	0x75, 0x61, 0x64, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a,
-	0x09, 0x09, 0x64, 0x72, 0x61, 0x77, 0x71, 0x28, 0x69, 0x6d, 0x67, 0x2c, 0x20, 0x71, 0x75, 0x61, 0x64, 0x2c, 
-	0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x6e, 
-	0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x29, 0x0a,
+	0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x72, 0x61, 0x77, 0x71, 0x28, 0x69, 0x6d, 0x67, 
+	0x2c, 0x20, 0x71, 0x75, 0x61, 0x64, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x75, 0x6e, 0x70, 0x61, 
+	0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x29, 0x0a,
 	0x09, 0x65, 0x6e, 0x64, 0x0a,0x0a,
 	0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x67, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6c, 
 	0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x6e, 0x74, 
@@ -5082,9 +5082,36 @@ const unsigned char graphics_lua[] =
 	0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 
 	0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x65, 0x78, 0x74, 0x2c, 0x20, 
 	0x78, 0x2c, 0x79, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a,
-	0x09, 0x09, 0x6c, 0x67, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x28, 0x74, 0x65, 0x78, 0x74, 0x2c, 0x20, 0x78, 0x2c, 
-	0x79, 0x2c, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 
-	0x6d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x29, 0x0a,
+	0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x67, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x28, 0x74, 
+	0x65, 0x78, 0x74, 0x2c, 0x20, 0x78, 0x2c, 0x79, 0x2c, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 
+	0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x29, 0x0a,
+	0x09, 0x65, 0x6e, 0x64, 0x0a,0x0a,
+	0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x69, 0x6d, 0x67, 0x20, 0x3d, 0x20, 
+	0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x49, 
+	0x6d, 0x61, 0x67, 0x65, 0x28, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x6e, 0x65, 
+	0x77, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x28, 0x30, 0x2c, 0x30, 0x29, 0x29, 0x0a,
+	0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x73, 0x70, 0x72, 0x69, 0x74, 0x65, 
+	0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x67, 0x72, 0x61, 0x70, 0x68, 
+	0x69, 0x63, 0x73, 0x2e, 0x6e, 0x65, 0x77, 0x53, 0x70, 0x72, 0x69, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 
+	0x28, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x69, 0x6d, 0x67, 0x2c, 0x20, 0x30, 0x29, 0x0a,
+	0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x62, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x3d, 0x20, 0x67, 
+	0x65, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x73, 
+	0x70, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x74, 0x63, 0x68, 0x29, 0x0a,
+	0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x2c, 0x20, 0x61, 0x64, 0x64, 0x71, 0x20, 0x3d, 
+	0x20, 0x73, 0x62, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x61, 0x64, 0x64, 0x2c, 0x20, 0x73, 0x62, 0x5f, 0x6d, 
+	0x65, 0x74, 0x61, 0x2e, 0x61, 0x64, 0x64, 0x71, 0x0a,
+	0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x62, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x3a, 
+	0x61, 0x64, 0x64, 0x28, 0x78, 0x2c, 0x79, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a,
+	0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 
+	0x20, 0x78, 0x2c, 0x79, 0x2c, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 
+	0x66, 0x6f, 0x72, 0x6d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x29, 0x0a,
+	0x09, 0x65, 0x6e, 0x64, 0x0a,
+	0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x62, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x3a, 
+	0x61, 0x64, 0x64, 0x71, 0x28, 0x71, 0x75, 0x61, 0x64, 0x2c, 0x20, 0x78, 0x2c, 0x79, 0x2c, 0x20, 0x2e, 0x2e, 
+	0x2e, 0x29, 0x0a,
+	0x09, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x71, 0x28, 0x73, 0x65, 0x6c, 0x66, 
+	0x2c, 0x20, 0x71, 0x75, 0x61, 0x64, 0x2c, 0x20, 0x78, 0x2c, 0x79, 0x2c, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 
+	0x6b, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x29, 0x0a,
 	0x09, 0x65, 0x6e, 0x64, 0x0a,
 	0x65, 0x6e, 0x64, 0x0a,
 }; // [graphics.lua]