Commit Graph

35 Commits

Author SHA1 Message Date
Alex Szpakowski 0c58d5d46a Added ParticleSystem:isPaused (issue #623) and removed ParticleSystem:isEmpty/isFull (issue #621) 2013-05-23 13:42:29 -03:00
Bart van Strien 16e27d95b1 Rename ParticleSystem:setLifetime/setParticleLife and getters to setEmitterLifetime/setParticleLifetime (issue #601) 2013-05-10 16:50:20 +02:00
Alex Szpakowski 4c616e409b Renamed ParticleSystem:count, Channel:count, and all getNum* functions to get*Count (issue #602) 2013-05-03 04:04:44 -03: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 426ca03315 Added ParticleSystem:setLinearAcceleration(xmin, ymin, xmax, ymax) and removed ParticleSystem:setGravity (issue #599) 2013-04-19 15:33:30 -03:00
Alex Szpakowski b6247f9ae1 Added many getters of questionable utility to ParticleSystems.
Storing your own values is blasphemy, clearly.
2013-04-18 04:54:53 -03:00
Alex Szpakowski eef4eed636 Cleaned up some Lua binding code 2013-03-31 04:55:03 -03:00
Alex Szpakowski 7b8884965e Added ParticleSystem:emit(num) (issue #577) 2013-03-27 01:09:53 -03:00
Alex Szpakowski d383434edf ParticleSystem:setColors now accepts multiple color arrays (issue #440) 2013-03-13 14:38:58 -03:00
Alex Szpakowski 4704c4e19e Cleaned up some ParticleSystem and Quad code 2013-03-11 17:56:55 -03:00
Alex Szpakowski 318f335c7c ParticleSystem:setQuads can now accept a table argument, cleaned up the ParticleSystem quad code
--HG--
branch : particlesystem-quads
2013-03-11 01:44:43 -03:00
Alex Szpakowski d30809ebff Added ParticleSystem:setQuads(q1, q2, ...), quads are chosen based on current particle lifetime in a similar style to ParticleSystem:setColors
--HG--
branch : particlesystem-quads
2013-03-10 03:40:25 -03:00
Alex Szpakowski 96161c66f6 Updated copyright text for the new year 2013-02-05 05:32:49 -04:00
Bart van Strien 4221d55468 Enfore limits on ParticleSystem:setSizeVariation (issue #545) 2013-01-18 21:03:07 +01:00
vrld 4ec7609d37 Fix issue #437: Area-based particle spawn.
New particles are spawned around the particle emitter position according to a
configurabe distribution.

New functionality:

particlesystem:setAreaSpread(distributon, x, y)
distribution, x, y = particlesystem:getAreaSpread()

Where `distribution' is one of "none", "uniform", "normal".
`x' and `y' take different meaning based on the distribution:

  * none:    no area spread - particles spawned at emitter position.
  * uniform: particle spawned at px,py in the rectangle around emitter
             position ex,ey, i.e.:
             ex - x < px < ex + x, ey - y < py < ey + y,
  * normal:  particle position drawn from a normal/gaussian distribution
             with mean ex,ey and standard deviation x,y, i.e.:
             px \in N(ex, x²), py \in N(ey, y²).
2012-09-10 19:58:44 +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 86abc9323b Add ParticleSystem:getPosition (issue #368) 2012-02-04 11:31:07 -05:00
vrld 94bd960cc7 Fix number of arguments check in w_ParticleSystem_setSizes. 2012-01-20 14:07:22 +01:00
vrld 3904e49c75 Check argument sanity in w_ParticleSystem_setColors. 2012-01-19 14:59:36 +01:00
Bill Meltsner be55579a22 Happy New Year, have an enormous diff 2012-01-09 02:41:11 -06:00
vrld a855a01f02 Fix two particle system typos (thanks, Boolsheet!) 2011-12-26 21:29:47 +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
rude 1274b5d55a Do not allow more than eight sizes and colors in ParticleSystem. This makes it
less impossible to implement ParticleSystem as a vertex shader in the future.
2011-07-24 18:40:22 +02:00
rude e1d1ebb2f1 Fix warnings in MSVC 2010. 2011-07-24 18:32:11 +02:00
vrld 2425ea9979 Change particle system to accept an arbitrary number of colors and sizes to inerpolate.
API changes:
- ParticleSystem:setSize(min, max, var) -> ParticleSystem:setSizes(s0, ..., sN)
  !! ParticleSystem:setSize() drops variation parameter !!
- ParticleSystem:setColor([color1], [color2]) -> ParticleSystem:setColor([color1], ..., [colorN])

--HG--
branch : minor
2011-04-06 21:24:09 +02:00
Bill Meltsner 45b8ba7ae3 fixed ParticleSystem:setSize() looking at the wrong argument for size variation 2011-03-11 01:44:01 -05: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
bill@Ixion 8d666d0284 user can now manually set the offset for particle rotation 2009-08-30 05:05:27 -05:00
rude a237008ce2 ParticleSystem works now. Error handler no longer loops forever. :) 2009-08-27 00:48:08 +02:00
rude a3bff7cde9 Reintegrated ParticleSystem. 2009-08-26 00:14:40 +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