Alex Szpakowski
510ed6f11e
Abstracted lua bindings for general Texture methods into wrap_Texture.cpp
2014-01-04 21:19:03 -04:00
Alex Szpakowski
3120a0e650
Goodbye 2013, hello 2014!
2014-01-03 17:28:58 -04:00
Alex Szpakowski
aa69a695d3
Canvases can now be used in SpriteBatches, ParticleSystems, and Meshes (resolves issue #782 ).
...
Canvases and Images are now subclasses of the new Texture class.
Added setTexture and getTexture methods for Meshes, ParticleSystems, and SpriteBatches (the old set/getImage methods are deprecated but not removed.)
Canvas texture coordinates are no longer flipped.
2014-01-03 17:07:12 -04:00
Alex Szpakowski
b556dde3cb
love.graphics.draw(image, quad, x, y, ...) now errors instead of shifting parameters if the quad argument is nil
2013-10-14 03:38:07 -03:00
Alex Szpakowski
c63e2ec624
Merged default into Mesh
...
--HG--
branch : Mesh
2013-09-29 04:58:26 -03:00
Alex Szpakowski
1e696c4505
Added Mesh objects and love.graphics.newMesh. Mesh objects are similar to Geometry but they're drawables (the relationship between meshes and images is the opposite of geometry and images.)
...
Removed Geometry objects and re-added Quads.
example:
local vertices = {{0, 0, 0, 0}, {100, 0, 1, 0}, {100, 100, 1, 1}, {0, 100, 0, 1}}
mesh = love.graphics.newMesh(vertices, image, "fan")
..
love.graphics.draw(mesh, 0, 0)
--HG--
branch : Mesh
2013-09-28 18:26:47 -03:00
Alex Szpakowski
bcee9a222b
Made some float/int/unsigned char conversions explicit, fixed ParticleSystem:getColors, fixed love.mouse.isDown with x1 and x2 buttons
2013-09-26 00:36:50 -03:00
Alex Szpakowski
06f80d5c08
Fixed undefined behaviour when love exceptions are converted into Lua errors (resolves issue #729 )
2013-09-05 23:17:29 -03:00
Alex Szpakowski
ec9dec6b80
Replaced luax_newtype with luax_pushtype (and added luax_rawnewtype for the old functionality of luax_newtype.)
...
luax_pushtype keeps the object in a weak table and checks the table before creating a new userdata, so it re-uses the object's existing wrapper userdata if it can, whenever the object is pushed to Lua.
This fixes some subtle issues with love objects, where using them as keys in tables would not always work as expected (https://love2d.org/forums/viewtopic.php?f=4&t=39398&p=112388#p112415 ). It also decreases the amount of new Lua objects created, saving the garbage collector some work.
2013-08-29 00:40:06 -03:00
Alex Szpakowski
dfba650575
Fixed SpriteBatch:set with Geometry
2013-07-29 16:03:38 -03:00
Alex Szpakowski
7cf7f3a25f
Merged love.graphics.drawg into love.graphics.draw, and SpriteBatch:addg/setg into SpriteBatch:add/set (resolves issue #639 )
2013-07-17 18:34:57 -03:00
Alex Szpakowski
3fb78d5458
Added SpriteBatch:setBufferSize (issue #655 )
2013-06-29 00:04:56 -03:00
Alex Szpakowski
be33d17f89
Added SpriteBatch:getColor
2013-06-14 05:29:05 -03:00
Alex Szpakowski
0b71fa1483
Added SpriteBatch:getCount and SpriteBatch:getBufferSize, and removed SpriteBatch:isEmpty/isFull.
2013-05-22 18:44:40 -03:00
Alex Szpakowski
89265107ea
Fixed SpriteBatch:addg/setg to error properly instead of crash when attempting to use a Geometry without exactly 4 vertices
2013-05-20 14:47:37 -03:00
Bart van Strien
167d3183b9
Rename SpriteBatch:setq to setg
2013-05-20 19:04:27 +02:00
vrld
71317c4359
Add Geometries (replaces Quads).
...
A Geometry is a collection of vertices describing a non self-intersecting
(simple) polygon. In addition to screen coordinates, the vertices have
attributes for texture coordinates (s,t) and color (r,g,b,a).
It can be used as a quad, to display distorted images, or anything in between.
Added:
^^^^^^
-- geometry from table, where table has the format:
-- info = {
-- {x,y, s,t, [r = 255, g = 255, b = 255, a = 255]}
-- {x,y, s,t, [r = 255, g = 255, b = 255, a = 255]}
-- ...
-- }
geom = love.graphics.newGeometry(info)
-- convenience wrapper for quads (same as before)
geom = love.graphics.newQuad(x,y, w,h, sw,sh)
-- retrieve vertex i (1-indexed)
x,y,s,t,r,g,b,a = geom:getVertex(i)
-- set vertex i (1-indexed)
geom:setVertex(i, x,y, s,t, [r,g,b,a])
-- flip geometry
geom:flip(x, y)
Renamed:
^^^^^^^^
love.graphics.drawq() -> love.graphics.drawg()
Removed:
^^^^^^^^
quad:setViewport()
quad:getViewport()
2013-04-21 18:53:13 +02:00
Alex Szpakowski
d5aa807747
More internal code cleanup
2013-03-31 19:02:27 -03:00
Alex Szpakowski
d3cdb7d609
Added SpriteBatch:isEmpty() and SpriteBatch:isFull()
2013-03-01 17:32:38 -04:00
Alex Szpakowski
1d34dda48b
Removed SpriteBatch:remove(id) (reverted commit 2ca82dd)
...
The implementation had issues with sprite draw order when SpriteBatch:add used indices in the vertex buffer previously freed with SpriteBatch:remove
2013-02-24 09:47:03 -04:00
Alex Szpakowski
ceb0ee6c7e
Added SpriteBatch:remove(id)
2013-02-11 18:27:57 -04:00
Alex Szpakowski
96161c66f6
Updated copyright text for the new year
2013-02-05 05:32:49 -04:00
Bart van Strien
94516e2290
Catch possible exceptions thrown when locking a SpriteBatch twice
2012-11-18 18:48:37 +01:00
Bart van Strien
85a1787ad8
Make SpriteBatch:setColor accept a table as well (issue #459 )
2012-08-03 15:27:59 +02:00
Bart van Strien
7793e7f02f
CRLF to LF
2012-07-04 14:40:24 +02:00
rude
81c38e22d0
Applied the new style guidelines.
...
Well, sort of. Lot's more to be done, but this is a start.
2012-06-28 23:52:33 +02:00
Bill Meltsner
be55579a22
Happy New Year, have an enormous diff
2012-01-09 02:41:11 -06:00
Bart van Strien
1509403ca7
Add SpriteBatch:getImage (issue #321 )
2012-01-08 13:46:01 +01:00
Bart van Strien
c707a4ca45
Properly export all lua-facing functions and use those for initialization (love.cpp no longer explicitly mentions implementations)
2011-12-24 01:10:40 +01:00
Bart van Strien
0aae9684b3
Automated formatting fix
2011-11-16 11:32:41 +01:00
Bart van Strien
dc66ea20c1
Add SpriteBatch:set(q) and make add(q) return the index
2011-10-20 20:19:01 +02:00
rude
387a8ab2dc
Issue #262 : Add per-sprite colors.
2011-07-23 17:12:29 +02:00
vrld
d420d68048
Add shear transformation and transform object (issue #152 ).
...
Add origin parameters to love.graphics.print.
New shear parameters kx,ky for:
- love.graphics.draw,
- love.graphics.drawq,
- love.graphics.print,
- SpriteBatch:add,
- SpriteBatch:addq.
Transform objects apply to:
- love.graphics.draw,
- love.graphics.drawq,
- love.graphics.print.
2011-07-05 14:33:34 +02:00
Bart van Strien
bd158faaaa
Revise spritebatch locking (binding now) (issue #231 )
2011-06-10 14:40:37 +02:00
José Romero
dc2d87a90f
Apply patch for issue #219
2011-04-27 16:35:14 +02:00
Bill Meltsner
fde708160e
bringing in the new year by changing every 2010 to 2011
2011-01-15 14:40:27 -06:00
rude
aa01c984b9
Updated all dates to 2010.
2010-01-31 16:54:47 +01:00
rude
c52c218ba1
Renamed Frame to Quad; added drawq/addq; fixed some bugs.
2009-08-17 23:35:04 +02:00
rude
dd420d68a3
Ok, project generation didn't really work out. Reverted.
2009-08-10 21:33:07 +02:00
rude
ba1a75e547
Added many comments, and changed function names for wrapper functions.
2009-08-09 21:08:55 +02:00
rude
5c068db487
Added locking to SpriteBatch, and conf.lua.
2009-07-27 15:17:54 +02:00
rude
4f32377efa
Added working SpriteBatch.
2009-07-27 02:10:51 +02:00
rude
84bf839872
Removed classes which should be implemented in Lua (or need of re-implementation).
2009-07-26 23:08:40 +02:00
rude
dcb3dfd83d
Initial Mercurial commit.
2009-07-26 15:46:49 +02:00