From dd143c76acee82f523d656cb51552ee29c643028 Mon Sep 17 00:00:00 2001 From: vrld Date: Tue, 5 Jul 2011 15:26:42 +0200 Subject: [PATCH] Add transform tables to SpriteBatch:add() and SpriteBatch:addq(). --- src/scripts/graphics.lua | 17 +++++++++++--- src/scripts/graphics.lua.h | 45 ++++++++++++++++++++++++++++++-------- 2 files changed, 50 insertions(+), 12 deletions(-) diff --git a/src/scripts/graphics.lua b/src/scripts/graphics.lua index 151e780df..005d488b9 100644 --- a/src/scripts/graphics.lua +++ b/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 diff --git a/src/scripts/graphics.lua.h b/src/scripts/graphics.lua.h index d75ce30cf..dd28fcb04 100644 --- a/src/scripts/graphics.lua.h +++ b/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]