LÖVE 0.9.1 released

General discussion about LÖVE, Lua, game development, puns, and unicorns.
User avatar
slime
Solid Snayke
Posts: 2761
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

LÖVE 0.9.1 released

Post by slime » Tue Apr 01, 2014 7:20 pm

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 love.graphics 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]love.graphics.newCanvas[/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], love.graphics.setCanvas breaking everything when love.graphics.setScissor 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

Additions:

* 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 love.graphics.setWireframe and love.graphics.isWireframe 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 love.graphics.getSystemLimit.
* 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 love.graphics.newImage which interprets the image in the sRGB colorspace.
  * Added a new "srgb" TextureFormat for use with Canvases and Images.
  * Added love.graphics.isSupported("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.

Deprecations:

* Deprecated Mesh:setImage, SpriteBatch:setImage, and ParticleSystem:setImage.
* Deprecated love.graphics.getMaxImageSize and love.graphics.getMaxPointSize.

Fixes:

* Fixed love.graphics.scale with negative values causing incorrect line widths.
* Fixed Joystick:isDown using 0-based button index arguments.
* Fixed love.graphics.setCanvas() to restore the proper viewport and scissor rectangles.
* Fixed TrueType font glyphs which request a monochrome bitmap pixel mode.
* Fixed love.graphics.reset causing crashes when called in between love.graphics.push/pop.
* Fixed tab characters ("\t") to display properly with love.graphics.print.
* Fixed love.graphics.isCreated 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 love.audio Sources.

Other Changes:

* Updated t.console in love.conf to create the console before modules are loaded in Windows.
* Updated the default love.run 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 love.graphics.newParticleSystem, love.graphics.newSpriteBatch, and love.graphics.newMesh 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 love.graphics.newMesh 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!

User avatar
josefnpat
Inner party member
Posts: 955
Joined: Wed Oct 05, 2011 1:36 am
Location: your basement
Contact:

Re: LÖVE 0.9.1 released

Post by josefnpat » Tue Apr 01, 2014 7:38 pm

What a horrible april fools joke...
Missing Sentinel Software | Twitter

FORCIBLY IGNORED.
<leafo> when in doubt delete all of your code
<bartbes> git rm -r *
<bartbes> git commit -m "Fixed all bugs"
<bartbes> git push

User avatar
Tanner
Party member
Posts: 165
Joined: Tue Apr 10, 2012 1:51 am

Re: LÖVE 0.9.1 released

Post by Tanner » Tue Apr 01, 2014 7:38 pm

I want to be excited but April Fools has ruined me for announcements today.

User avatar
Jasoco
Inner party member
Posts: 3615
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: LÖVE 0.9.1 released

Post by Jasoco » Tue Apr 01, 2014 7:51 pm

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.

davisdude
Party member
Posts: 1153
Joined: Sun Apr 28, 2013 3:29 am
Location: North Carolina

Re: LÖVE 0.9.1 released

Post by davisdude » Tue Apr 01, 2014 9:30 pm

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. :)
GitHub | MLib - Math and shape intersections library | Walt - Animation library | Brady - Camera library with parallax scrolling | Vim-love-docs - Help files and syntax coloring for Vim

User avatar
NightKawata
Party member
Posts: 290
Joined: Tue Jan 01, 2013 9:18 pm
Location: Cyberspace, Room 6502
Contact:

Re: LÖVE 0.9.1 released

Post by NightKawata » Tue Apr 01, 2014 10:05 pm

Image

Someone had to do it.
Not the right day to have a serious release, but hey!
"I view Python for game usage about the same as going fishing with a stick of dynamite. It will do the job but it's big, noisy, you'll probably get soaking wet and you've still got to get the damn fish out of the water." -taylor

User avatar
Jasoco
Inner party member
Posts: 3615
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: LÖVE 0.9.1 released

Post by Jasoco » Tue Apr 01, 2014 10:10 pm

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...
Image

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.

User avatar
slime
Solid Snayke
Posts: 2761
Joined: Mon Aug 23, 2010 6:45 am
Location: Nova Scotia, Canada
Contact:

Re: LÖVE 0.9.1 released

Post by slime » Tue Apr 01, 2014 10:17 pm

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.

Image
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?
Last edited by slime on Wed Apr 02, 2014 5:07 am, edited 2 times in total.

User avatar
Jasoco
Inner party member
Posts: 3615
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: LÖVE 0.9.1 released

Post by Jasoco » Tue Apr 01, 2014 11:30 pm

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.

User avatar
substitute541
Party member
Posts: 484
Joined: Fri Aug 24, 2012 9:04 am
Location: Southern Leyte, Visayas, Philippines
Contact:

Re: LÖVE 0.9.1 released

Post by substitute541 » Wed Apr 02, 2014 1:20 am

It's already April 2 here so I think it doesn't count :3 .

Anyways, it's legit. Go download it!
Currently designing themes for WordPress.

Sometimes lurks around the forum.

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests