Commit Graph

630 Commits

Author SHA1 Message Date
Alex Szpakowski b36d643570 Changed love.graphics.getRendererInfo to return all the info (resolves issue #757) 2013-09-23 18:03:10 -03:00
Alex Szpakowski 2e2ede6334 Calling ParticleSystem:setLinearAcceleration with no arguments now errors instead of defaulting to 0 (resolves issue #755) 2013-09-23 17:12:20 -03:00
Alex Szpakowski 21d1e7737c Fixed ParticleSystem:setAreaSpread("none") to not require x/y arguments (resolves issue #738) 2013-09-17 00:54:55 -03:00
Alex Szpakowski f89097ed90 Fixed the error message when only one argument is given to newImageFont (resolves issue #737) 2013-09-16 03:11:38 -03:00
Alex Szpakowski ef9f30d5c4 Fixed a typo preventing compressed textures from being loaded into images 2013-09-06 00:59:19 -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 113ed1cfe7 Merged SDL2 changes from bartbes/love-experiments/SDL2 into default.
- Added love.system module, including clipboard functions.

- Added custom hardware cursors (love.mouse.newCursor, love.mouse.setCursor.)

- Revamped love.joystick:
-- added Joystick objects and moved love.joystick functions which operated on individual joysticks to methods on the Joystick objects.
-- Added love.joystick.getJoystick and love.joystick.getJoystickCount.
-- Added events for when joysticks are connected and disconnected.
-- Added 'Gamepad' methods to Joystick objects: Joystick:isGamepad, Joystick:getGamepadAxis, and Joystick:isGamepadDown. They're a common abstraction for xbox controller-like joystick across operating systems.

- Added monitor choosing support and "fullscreen desktop" mode to love.window.

- Moved unicode text input events to their own callback function (love.textinput), removed the key repeat functions from love.keyboard and made the second argument of love.keypressed a boolean saying whether the keypress was a repeat.

- liblove now works with love.window and love.graphics in OS X
2013-08-25 16:51:42 -03:00
Alex Szpakowski 713e050b56 Removed some ParticleSystem methods which existed but did nothing since version 0.5.0 or earlier 2013-08-22 00:30:58 -03:00
Alex Szpakowski 1b5912a461 Really fixed setScissor erroring when scissoring is disabled and x,y,w,h from getScissor is used (see issue #709) 2013-08-21 19:37:26 -03:00
Alex Szpakowski 394888bd13 Fixed love.graphics.setScissor and love.graphics.setColorMask to not error if a single nil argument is given (resolves issue #709) 2013-08-21 18:52:07 -03:00
Alex Szpakowski acfce1bf47 love.graphics.printf errors if the wrap limit parameter is negative (resolves issue #706) 2013-08-18 13:17:53 -03:00
Alex Szpakowski 96a668ecf3 Renamed CompressedData:getType to CompressedData:getFormat 2013-08-17 14:30:23 -03:00
Alex Szpakowski 72068ba519 love.graphics.isSupported now errors if an invalid string is given (see issue #690) 2013-08-17 00:12:46 -03:00
Alex Szpakowski c230098642 Fixed Geometry:getVertexMap to return 1-based vertex indices and made it return the default vertex map instead of nil if no map is set. 2013-08-16 19:25:41 -03:00
Alex Szpakowski d815374a9b Renamed the 'ModelViewMatrix' and 'ModelViewProjectionMatrix' built-in shader variables to 'TransformMatrix' and 'TransformProjectionMatrix', respectively. 2013-08-16 03:17:55 -03:00
Alex Szpakowski 14ae39eec9 Images which are too large for the system they're loaded on use a checkerboard pattern instead of erroring 2013-08-15 23:40:32 -03:00
Alex Szpakowski 59712c344f Removed a potentially slow codepath in SpriteBatch:add 2013-08-14 11:07:56 -03:00
Alex Szpakowski 9834897372 Fixed Canvas:clear on GL3+ systems 2013-08-13 16:05:20 -03:00
Alex Szpakowski 7e4e5e9c0b Resolved compiler warning 2013-08-08 22:06:11 -03:00
vrld 8b53bc385e Fix line drawing artefact with nearly parallel segments. 2013-08-08 21:37:11 +02:00
Alex Szpakowski 73e9f327dc Cleaned up boot.lua a tiny bit 2013-08-08 03:19:54 -03:00
vrld 0dea115abe Add missing Polyline.{h,cpp} 2013-08-08 08:11:18 +02:00
vrld be205544b3 Issue #659: Add line joins.
Added:

love.graphics.setLineJoin(linejoin)
linejoin = love.graphics.getLineJoin()

where linjoin is one of:

- none
- miter
- bevel

Bevel and miter drawing is slightly faster than the 0.8 default (miter), while
the `none` join mode will be slower when overdraw is enabled.
2013-08-07 21:48:21 +02:00
Alex Szpakowski dc755ed375 Removed ParticleSystem:getX/getY (resolves issue #633) 2013-08-04 18:27:36 -03:00
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