Page 1 of 4

LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 7:20 pm
by slime
Today, 'very soon' becomes 'now': LÖVE version [wiki]0.9.1[/wiki] has been released!

0.9.1's API is fully backward compatible with existing 0.9.0 games. Most of the changes are bug fixes, internal code improvements, and some API additions and updates to flesh out LÖVE's features, especially in the module.

Here are some of the more interesting changes:

• Canvases can now be used with SpriteBatches, ParticleSystems, and Meshes. Canvases and Images are now both sub-types of the new [wiki]Texture[/wiki] type, which those three things accept. [wiki]SpriteBatch:setTexture[/wiki] (etc.) have been added, and [wiki]SpriteBatch:setImage[/wiki] (etc.) is now deprecated, but not removed yet.

• Better support for retina displays in OS X has been added. To take advantage of it, you will need to enable the new "highdpi" window flag in either [wiki]love.conf[/wiki] or [wiki]love.window.setMode[/wiki]. When this is done on a compatible computer, the pixel resolution of the window will be double what the requested window size is. You will almost certainly need to adjust your code if you want to use this properly! The new function [wiki]love.window.getPixelScale[/wiki] can help immensely.

• Canvases now have antialiasing support. You will need to request it when creating the Canvas, with the new function variant [wiki][/wiki](width, height, texturetype, fsaa).

• A new function [wiki]Source:clone[/wiki] has been added. This lets you create multiple static Sources which play the same sound much more efficiently (in terms of loading time, memory usage, and code duplication.)

• Some nasty bugs have been fixed, including an off-by-one issue in [wiki]Joystick:isDown[/wiki], breaking everything when is used sometimes, and 8-bit [wiki]SoundData[/wiki] sounding completely wrong when loaded into a [wiki]Source[/wiki].

I only highlighted a small portion of the changes above. The complete changelog is on the wiki, or right here:

Code: Select all


* Added love.getVersion.
* Added love.system.openURL.
* Added new screen BlendMode.
* Added Source:clone.
* Added ParticleSystem:clone.
* Added ParticleSystem:moveTo, has smoother emitter movement compared to ParticleSystem:setPosition.
* Added ParticleSystem:setRelativeRotation.
* Added and for debugging.
* Added Mesh:setDrawRange and Mesh:getDrawRange.
* Added Mesh:setTexture, SpriteBatch:setTexture, and ParticleSystem:setTexture. Accepts Canvases and Images.
* Added high-dpi window support for Retina displays in OS X, via the highdpi window flag.
* Added love.window.getPixelScale.
* Added
* Added antialiasing support to Canvases.
* Added Canvas:getFSAA.
* Added love_ScreenSize built-in shader variable.
* Added support for gamma-correct rendering.
  * Added a boolean srgb window setting to love.conf and love.window.setMode.
  * Added variant of which interprets the image in the sRGB colorspace.
  * Added a new "srgb" TextureFormat for use with Canvases and Images.
  * Added"srgb")
  * Added love.math.gammaToLinear and love.math.linearToGamma.
* Added RandomGenerator:getState and RandomGenerator:setState.
* Added CircleShape:getPoint and CircleShape:setPoint.
* Added Body:setUserData and Body:getUserData.
* Added some missing obscure KeyConstants.
* Added optional callback argument to love.filesystem.getDirectoryItems.


* Deprecated Mesh:setImage, SpriteBatch:setImage, and ParticleSystem:setImage.
* Deprecated and


* Fixed with negative values causing incorrect line widths.
* Fixed Joystick:isDown using 0-based button index arguments.
* Fixed to restore the proper viewport and scissor rectangles.
* Fixed TrueType font glyphs which request a monochrome bitmap pixel mode.
* Fixed causing crashes when called in between
* Fixed tab characters ("\t") to display properly with
* Fixed to return false if love.window.setMode fails.
* Fixed love.window.setMode to only destroy OpenGL resources after checking if a fullscreen size is supported.
* Fixed loading BC4 compressed textures.
* Fixed World:getBodyList and World:getJointList causing hard crashes.
* Fixed Fixture:setUserData and Fixture:getUserData to work in coroutines.
* Fixed Source:setPitch to error when infinity or NaN is given.
* Fixed SoundData objects being initialized with garbage sample values.
* Fixed 8-bit SoundData samples when used with Sources.

Other Changes:

* Updated t.console in love.conf to create the console before modules are loaded in Windows.
* Updated the default code to make initial love.math.random calls more random.
* Updated the error text for love.filesystem’s module searchers when require fails.
* Updated the love.filesystem module searchers to be tried after package.preload instead of before.
* Updated the love.filesystem C library loader to look in paths added via love.filesystem.mount, in Fused mode.
* Updated,, and to accept Canvases.
* Updated Canvas drawing code, texture coordinates are no longer flipped vertically.
* Updated Canvas:renderTo to work properly if a Canvas is currently active.
* Updated ParticleSystem:setEmissionRate to accept non-integer numbers.
* Updated Mesh vertex maps (index buffers) to use less VRAM space.
* Updated and Mesh:setVertices to default the UV parameters to 0,0.
* Updated fullscreen-desktop and resizable window modes in OS X to use fullscreen Spaces in Mac OS 10.7+.
* Updated Source:play to return a boolean indicating success.
Downloads, also available on the home page:
Enjoy the rest of April 1!

Re: LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 7:38 pm
by josefnpat
What a horrible april fools joke...

Re: LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 7:38 pm
by Tanner
I want to be excited but April Fools has ruined me for announcements today.

Re: LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 7:51 pm
by Jasoco
It's real. I just checked. Remember, Gmail was released on April 1st.

But... you promised us that 0.9.2 would come out first. THAT is the real April Fools joke.

Edit: So how can I properly take advantage of the new highdpi flag? Also I love that I can finally use the Lion Fullscreen mode.

Re: LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 9:30 pm
by davisdude
josefnpat wrote:What a horrible april fools joke...
Yeah... terrible joke.
I'm going to be optimistic and say that I think it's real. :)

Re: LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 10:05 pm
by NightKawata

Someone had to do it.
Not the right day to have a serious release, but hey!

Re: LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 10:10 pm
by Jasoco
I like that it both removes support for Linux and adds a manual page for Linux. I bet the manual consists solely of "Get a real OS you n00b!"

I wouldn't be opposed to the real 3D support and official iOS/Android support.

On topic though, I found an interesting bug with OS X and setting Fullscreen in the conf file...

Notice the window on the main display, and the fullscreen window at the top. When I launch Löve it does the animation and creates the window fullscreen, but nothing draws to it. Instead it shows black in the size of the window originally with the titlebar shown, and then continues to draw to the original window. However it does work properly if I press the Fullscreen button after it's launched in windowed mode.

Re: LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 10:17 pm
by slime
Jasoco wrote:So how can I properly take advantage of the new highdpi flag?
When you do this:

Code: Select all

love.window.setMode(800, 600, {highdpi=true})
on a retina display in OS X, then the window will be the same size on your desktop as a regular 800x600 window, but the graphics view will be 1600x1200 pixels, and [wiki]love.window.getPixelScale[/wiki] will return 2 instead of 1. So you'll probably need to make sure things are scaled properly.

Jasoco wrote:On topic though, I found an interesting bug with OS X and setting Fullscreen in the conf file...
Are you using normal (exclusive) fullscreen mode, or fullscreen-desktop? Can you make a small test case .love?

Re: LÖVE 0.9.1 released

Posted: Tue Apr 01, 2014 11:30 pm
by Jasoco
Hang on. It seems to be related to something I'm doing in my project. It works fine in a new project. I'll get back to you when I replicate the problem, or rather find the problem and eradicate it.

And I was using "desktop" mode.

Re: LÖVE 0.9.1 released

Posted: Wed Apr 02, 2014 1:20 am
by substitute541
It's already April 2 here so I think it doesn't count :3 .

Anyways, it's legit. Go download it!