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.
You can now:
- Enable and disable love's modules, implementations and libraries using configure switches
- Use pkg-config for a couple of love's requirements
- Build on OSX
- Use newer versions of FreeType2
- Get a slightly better error message using automagic
The legacy code in SDL2 for windowing in 10.5 is buggy, resulting in major bugs with love.window.setFullscreen and other functions. Also, some of 10.5’s own drivers are buggy. Stop using an OS that’s 4 major versions out of date - most other applications have dropped 10.5 support months or years ago.
The 'registry' global in Module.cpp appears to be destroyed before the last
module is destroyed, specifically the math module. This is bad, because ~Module
tries to look for itself in 'registry' after it's gone. This causes a nasty
debug assert in VS2012, and a shutdown crash in release builds.
Fixed by dynamically allocating/releasing the registry.
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.
- 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
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.
This means you can now use Variants (used by Channels and love.event, for instance) to send tables as long as they only contain keys and values supported by Variant, AND they are not tables themselves.