Commit Graph

1009 Commits

Author SHA1 Message Date
Alex Szpakowski a60929e9b0 Merged bartbes/love-experiments/RandomGenerator-2 into default (resolves issue #692) 2013-08-04 17:28:33 -03:00
Alex Szpakowski a4ff39e0d4 Improved error checking for some enum strings (resolves issue #690).
Also moved love.audio.newSource from Lua code into C++ code
2013-08-03 21:24:43 -03:00
Alex Szpakowski 0447d1e7c5 Changed love.math.randomnormal([mean], stddev) to love.math.randomNormal(stddev, [mean]);
Changed love.math.randomseed(seed) to love.math.setRandomState(state) and love.math.setRandomState(low, high). Added low, high = love.math.getRandomState().

love.math.setRandomState(state) can set the random state to an integer of up to 53 bits, love.math.setRandomState(low, high) can set the random state to a 64 bit integer by using the first argument as the lower 32 bits and the second argument as the higher 32 bits.
This allows for reliable setting and saving of the state of a RNG.

--HG--
branch : RandomGenerator-2
2013-08-01 18:32:44 -03:00
Alex Szpakowski 2128ba321e Fixed Geometry texture coordinates when using Geometry to draw auto-padded NPOT images (resolves issue #696) 2013-08-01 17:14:20 -03:00
Alex Szpakowski d7802b053b Removed love.graphics.setAlphaTest: incompatible with OpenGL ES 2+, core OpenGL 3+, and Direct3D 10+. Shaders can accomplish the same things and more. 2013-08-01 12:55:46 -03:00
Alex Szpakowski dfba650575 Fixed SpriteBatch:set with Geometry 2013-07-29 16:03:38 -03:00
Alex Szpakowski 45de33edb8 Removed Geometry:flip (resolves issue #670) 2013-07-29 05:50:08 -03:00
Alex Szpakowski e19ade38ab Added support for BC4 (aka 3Dc+) compressed textures 2013-07-28 17:20:24 -03:00
Alex Szpakowski fa6eaaa3a6 Improved performance of SpriteBatch:add/set in some cases when the SpriteBatch isn't bound 2013-07-28 16:51:22 -03:00
Alex Szpakowski 8408c276cb ParticleSystem:setColors(r, g, b) now defaults to 255 alpha instead of erroring (resolves issue #686) 2013-07-21 21:41:23 -03:00
Alex Szpakowski f41a2ed910 Reverted commit 8c64a0c (love.graphics.setCanvas(nil) erroring) 2013-07-19 19:53:39 -03:00
Alex Szpakowski cb0a974546 Merged love.graphics.setCanvases into love.graphics.setCanvas (resolves issue #684) 2013-07-19 15:45:40 -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 57aa632841 Added love.graphics.getMaxImageSize 2013-07-17 00:35:25 -03:00
Alex Szpakowski 5a3055dd3b Replaced internal calls to luaL_register (deprecated in Lua 5.2) with an alternative 2013-07-16 23:23:58 -03:00
Alex Szpakowski 3725b4122f Fixed lazy-loading of stencil buffers in Canvases sometimes failing due to uninitialized variables 2013-07-16 20:04:10 -03:00
Alex Szpakowski 2ccbbe1c64 Fixed love.graphics.newShader crashing when extern variables with very short names are used 2013-07-11 19:26:50 -03:00
Alex Szpakowski 267d901cd6 Fixed Geometry:flip when the Geometry was created with newQuad (resolves issue #671) 2013-07-11 16:09:41 -03:00
Alex Szpakowski 91e4feeca0 Fixed justify AlignMode 2013-07-10 20:36:20 -03:00
Alex Szpakowski 454ba9d968 love.graphics.newGeometry now takes an optional draw mode argument ("fan", "strip", or "triangles".) "fan" is the default.
This allows for more diverse and complex Geometries, provided the lover understands how to use each mode. See http://escience.anu.edu.au/lecture/cg/surfaceModeling/image/surfaceModeling015.png

Changed love.graphics.newGeometry to optionally accept vertices as individual arguments instead of just a table of vertices (resolves issue #651).
Changed Geometry:setVertex to optionally accept a table containing x,y,u,v,r,g,b,a instead of just individual arguments.

Added Geometry:set/getDrawMode.

Removed the convex-check in love.graphics.newGeometry (all geometry modes have at least some form of concavity support, lovers can do their own check if needed with love.math.isConvex.)

Added an optional "vertex map" table argument to love.graphics.newGeometry (AKA a vertex index array / element array in graphics programming lingo.)
This allows lovers to change the order in which the vertices are used when drawing, or re-use a single vertex multiple times for different parts of the Geometry.
This is especially useful in the "triangles" Geometry draw mode. The vertex map lets you draw very complex (and concave) shapes / meshes without duplicating vertex data.

Added Geometry:set/getVertexMap.
2013-07-10 15:34:10 -03:00
Bart van Strien f5603b0291 Make love compile against lua5.2 2013-07-10 16:02:52 +02:00
Alex Szpakowski d5ef29e015 Removed the optional variation parameter from ParticleSystem:setSpin (issue #634). ParticleSystem:setSpinVariation still exists. 2013-07-09 07:48:42 -03:00
Alex Szpakowski da7bc06976 ParticleSystem:setSizes no longer resets size variation to 0 (issue #640) 2013-07-09 07:38:44 -03:00
Alex Szpakowski de745aa37c Fixed ParticleSystem drawing order (issue #604) & added ParticleSystem:s/getInsertMode. Thanks @Boolsheet! 2013-07-09 04:17:34 -03:00
Alex Szpakowski 9155b7b0ee Removed dead code for the now-removed Thread:kill 2013-07-08 17:00:47 -03:00
Alex Szpakowski 9da1af1e99 Canvas:clear() when multiple canvases are active is now more efficient when GL3+ is supported 2013-07-06 07:02:48 -03:00
Alex Szpakowski abd31ca4e2 Fixed ParticleSystems and Files crashing instead of erroring when given bad sizes (issue #666) 2013-07-04 06:29:02 -03:00
Alex Szpakowski ee5e83635f Fixed rendering when a SpriteBatch is bound 2013-07-02 06:14:38 -03:00
Alex Szpakowski 03bd4c1410 Fixed SpriteBatch:setBufferSize 2013-06-29 00:18:22 -03:00
Alex Szpakowski 3fb78d5458 Added SpriteBatch:setBufferSize (issue #655) 2013-06-29 00:04:56 -03:00
Alex Szpakowski 80122d67e6 Slightly improved performance of love.graphics.setCanvases 2013-06-27 01:43:32 -03:00
Alex Szpakowski 8b261abfdc Slightly improved performance and cleaned up code a bit for love.graphics.print 2013-06-26 20:21:08 -03:00
Alex Szpakowski 6e3a7288dd Improved performance of ImageData:mapPixel (now up to 2x as fast as in 0.8.0!); love.graphics.newImage, Image:refresh, love.window.setIcon, and ImageRasterizers now prevent other threads from modifying the ImageData used in those functions until they're done accessing it 2013-06-25 05:28:20 -03:00
Alex Szpakowski 8d7e0b5629 Time-travelling license text 2013-06-22 03:14:15 -03:00
Alex Szpakowski 2426d97450 Fixed justify printf Align Mode (issue #635) 2013-06-18 23:16:01 -03:00
Alex Szpakowski cd97e9ec05 Added Image:getData, returns the original ImageData (or CompressedData) used to create the image 2013-06-17 13:43:40 -03:00
Alex Szpakowski 76618f0328 Cleaned up font code to always use uint32 instead of the slightly more ambiguous "unsigned int" for codepoints 2013-06-16 19:48:53 -03:00
Alex Szpakowski d48d1fd441 Exposed the internal Rasterizer and GlyphData object methods to Lua. Also added Font:hasGlyph. 2013-06-16 07:36:18 -03:00
Alex Szpakowski dd9cca1a55 Added Data:getString to GlyphData 2013-06-16 04:10:09 -03:00
Alex Szpakowski f25efcc8af Improved performance and reduced temporary memory usage of love.graphics.newScreenshot and Canvas:getImageData 2013-06-15 22:07:16 -03:00
Alex Szpakowski 15535517d6 love.graphics.setColorMask() with no arguments enabled all color components 2013-06-15 21:52:39 -03:00
Alex Szpakowski 0a1c90f2d7 Removed love.graphics.setLine and love.graphics.setPoint.
Both functions are redundant (setLineStyle+setLineWidth and setPointStyle+setPointSize do the same thing) and have misleading names.
2013-06-14 10:12:09 -03:00
Alex Szpakowski be33d17f89 Added SpriteBatch:getColor 2013-06-14 05:29:05 -03:00
Alex Szpakowski 8718e064e0 Fixed love.graphics.print[f] truncating strings with embedded zeros 2013-06-13 17:37:14 -03:00
Alex Szpakowski d286f78ec7 Improved error messages when canvas/image creation fails because the size is too big for the system 2013-06-09 18:24:19 -03:00
Alex Szpakowski 0a36c41ba0 Removed support for BC7-compressed DDS images (only *very* modern systems support it right now); updated the ddsparse library 2013-06-09 16:31:02 -03:00
Alex Szpakowski 35984790e5 Added a way for love's reference-counted objects to be released more safely in some situations (e.g. setters) 2013-06-09 02:42:33 -03:00
Alex Szpakowski cd1a23c4ad Improved handling of (File)Data in love.graphics.newFont and love.thread.newThread 2013-06-08 16:50:13 -03:00
Alex Szpakowski c0998cd996 Fixed love.graphics.setScissor when love.graphics.setCanvas is called directly after a setScissor call 2013-06-07 03:31:30 -03:00
Alex Szpakowski 1482b13363 Fixed SpriteBatch:unbind 2013-06-01 23:18:28 -03:00