LÖVE 0.9.2 Released

General discussion about LÖVE, Lua, game development, puns, and unicorns.
User avatar
Sex machine
Posts: 4946
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands

LÖVE 0.9.2 Released

Post by bartbes » Sat Feb 14, 2015 8:48 pm

As a token of our love for all of you, today we present LÖVE [wiki]0.9.2[/wiki] Baby Inspector. After many years of slime’s work, representing many added features and fixed bugs.

Here are a few big changes and highlights, and the full changelog, as well as download links can of course be found below, and on the wiki and front page respectively.
  • The lua 5.3 UTF-8 module was added, bringing easy handling of UTF-8 in strings.
  • Added [wiki]love.joystick.loadGamepadMappings[/wiki] and [wiki]love.joystick.saveGamepadMappings[/wiki] to easily load and store gamepad mapping databases. See [wiki]love.joystick.setGamepadMapping[/wiki] for more details.
  • Added relative mouse mode ([wiki]love.mouse.setRelativeMode[/wiki]) and the corresponding [wiki]love.mousemoved[/wiki].
  • Added symlink support to love.filesystem, as well as [wiki]love.filesystem.getRealDirectory[/wiki], making development and debugging easier.
  • Fixed a bunch of memory leaks, crashes and other bugs.
  • Renamed FSAA to MSAA.
  • The 'console' option now tries to re-use its console, and it can open earlier, allowing its use in early stages of game loading.
  • Replace several error messages with clearer, more obvious ones.
The full changelog is listed here:

Code: Select all

  * Added Lua 5.3's UTF-8 module (via utf8 = require("utf8")).
  * Added Shader:getExternVariable.
  * Added several new canvas texture formats.
  * Added love.graphics.getCanvasFormats.
  * Added love.graphics.getCompressedImageFormats.
  * Added ParticleSystem:setQuads.
  * Added ParticleSystem:setLinearDamping.
  * Added SpriteBatch:flush.
  * Added love.graphics.getStats.
  * Added "mirroredrepeat" wrap mode.
  * Added love.audio.setDopplerScale and love.audio.getDopplerScale.
  * Added optional duration argument to Joystick:setVibration.
  * Added love.joystick.loadGamepadMappings and love.joystick.saveGamepadMappings.
  * Added Joint:setUserData and Joint:getUserData.
  * Added Joint:getBodies.
  * Added GearJoint:getJoints.
  * Added Contact:getFixtures and Body:getContactList.
  * Added Body:getWorld.
  * Added Body:getJointList.
  * Added Body/Contact/Fixture/Joint/World:isDestroyed.
  * Added love.mousemoved event callback.
  * Added love.mouse.setRelativeMode and love.mouse.getRelativeMode.
  * Added Scancode enums, love.keyboard.getKeyFromScancode, and love.keyboard.getScancodeFromKey.
  * Added love.window.getDisplayName.
  * Added love.window.minimize.
  * Added love.window.maximize.
  * Added love.window.showMessageBox.
  * Added 'refreshrate' field to the table returned by love.window.getMode.
  * Added love.window.toPixels and love.window.fromPixels.
  * Added love.window.setPosition and love.window.getPosition, and 'x' and 'y' fields to love.window.setMode and t.window in love.conf.
  * Added love.filesystem.isSymlink, love.filesystem.setSymlinksEnabled, and love.filesystem.areSymlinksEnabled.
  * Added love.filesystem.getRealDirectory.

  * Deprecated SpriteBatch:bind and SpriteBatch:unbind.
  * Deprecated all uses of the name 'FSAA' in favor of 'MSAA'.
  * Deprecated the 'hdrcanvas' graphics feature enum in favor of getCanvasFormats.
  * Deprecated the 'dxt' and 'bc5' graphics feature enums in favor of getCompressedImageFormats.

  * Fixed crashes when love objects are used in multiple threads.
  * Fixed love.filesystem.setIdentity breaking in some situations when called multiple times.
  * Fixed the default love.filesystem identity when in Fused mode in Windows.
  * Fixed love.system.openURL sometimes blocking indefinitely on Linux.
  * Fixed love.joystick.setGamepadMapping.
  * Fixed the order of vertices in ChainShapes.
  * Fixed love.mouse.getPosition returning outdated values if love.mouse.setPosition is used in the same frame.
  * Fixed love.graphics.newFont to error when given an invalid size argument.
  * Fixed the filename and backtrace given when love.graphics.print errors.
  * Fixed a small memory leak if love.graphics.newCanvas errors.
  * Fixed shader:getWarnings returning unnecessary information.
  * Fixed some cases of noncompliant shader code not properly erroring on some nvidia drivers.
  * Fixed a potential crash when Shader objects are garbage collected.
  * Fixed a potential small memory leak triggered when love.graphics.newShader errors.
  * Fixed love.graphics.newMesh(vertexcount, ...) causing the Mesh to do instanced rendering.
  * Fixed Mesh:getVertexMap.
  * Fixed Image:refresh generating mipmaps multiple times if mipmap filtering is enabled.
  * Fixed Image:setMipmapFilter to not keep bad state around if it errors.
  * Fixed Mesh:setDrawRange when the Mesh has a vertex map set.
  * Fixed internal detection of the 'position' and 'effect' shader functions.
  * Fixed Texture memory leak when Meshes are garbage collected.
  * Fixed the default line join mode to be 'miter' instead of an undefined value.
  * Fixed the default error handler text size when highdpi mode is enabled on a Retina monitor.
  * Fixed the default error handler background color when sRGB mode is enabled for the window.
  * Fixed love.window.setMode to fall back to the largest available mode if a width or height greater than the largest supported is specified and fullscreen is used.
  * Fixed the state of wireframe mode when love.window.setMode is called.
  * Fixed Canvas:getPixel to error if the coordinates are not within the Canvas' size.
  * Fixed detection of compressed textures to work regardless of the file's extension.

  * Renamed all cases of FSAA to MSAA. The FSAA names still exist for backward-compatibility.

  * Updated the Windows executable to automatically prefer the higher performance GPU on nvidia Optimus systems.
  * Updated the --console command-line argument in Windows to open the console before conf.lua is loaded.
  * Updated t.console and the --console command-line argument in Windows to use the existing Console window, if love was launched from one.
  * Updated the love executable to verify that the love library's version matches.
  * Updated the Lua wrapper code for modules to avoid crashes when the module's instance is created, deleted, and recreated.
  * Updated internal code for handling garbage collection of love objects to be more efficient.
  * Updated love's initialization code to trigger a Lua error if love.conf has an error in it.
  * Updated the paths returned by love.filesystem.getSaveDirectory and friends to strip double-slashes from the string.
  * Updated the error message when love.filesystem.write or File:open fails because the directory doesn't exist.
  * Updated the error message when love.math.setRandomseed(0) is attempted.
  * Updated the error message when invalid UTF-8 strings are used in love functions that expect UTF-8.
  * Updated love.physics.newPolygonShape and love.physics.newChainShape to accept a table of vertices.
  * Updated love.physics.newChainShape to error if the number of arguments is invalid.
  * Updated love.thread.newThread to accept a literal string of code directly.
  * Updated love-created threads to use names visible in external debuggers.
  * Updated SpriteBatch:unbind to use less VRAM if the SpriteBatch has the static usage hint.
  * Updated love.graphics.newImage, love.image.newImageData, etc. to leave less Lua-owned memory around.
  * Updated love.graphics.push to accept different stack types to push. Current types are "transform" and "all".
  * Updated love shaders to accept GLSL ES precision qualifiers on variables, although they do nothing.
  * Updated the error message for love.graphics.newShader to be less cryptic if an invalid filename is given.
  * Updated compressed texture loading code to allow BC6 and BC7 compressed textures (if the graphics driver supports them.)
And our downloads, also available on the home page are here:

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

Re: LÖVE 0.9.2 Released

Post by slime » Sat Feb 14, 2015 8:54 pm

Have a happy Valentine's Day!

User avatar
Party member
Posts: 791
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany

Re: LÖVE 0.9.2 Released

Post by SiENcE » Sat Feb 14, 2015 8:59 pm

Thanks and Happy Valentine's Day to all lövers.

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

Re: LÖVE 0.9.2 Released

Post by davisdude » Sat Feb 14, 2015 10:17 pm

(There seems to be a current trend of releasing on holidays- First April Fools, now Valentine's!)
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
Party member
Posts: 402
Joined: Sun Jul 14, 2013 8:04 pm

Re: LÖVE 0.9.2 Released

Post by DaedalusYoung » Sat Feb 14, 2015 11:01 pm

Awesome! Relative mouse position, looks like that will be extremely useful.

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

Re: LÖVE 0.9.2 Released

Post by josefnpat » Sat Feb 14, 2015 11:07 pm

Great job guys! Happy valentines 0.9.2!
Missing Sentinel Software | Twitter

<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
Inner party member
Posts: 3153
Joined: Sat Oct 03, 2009 5:22 pm
Location: Madrid, Spain

Re: LÖVE 0.9.2 Released

Post by kikito » Sat Feb 14, 2015 11:15 pm

Wow, cool, thanks to everyone involved!
When I write def I mean function.

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

Re: LÖVE 0.9.2 Released

Post by davisdude » Sat Feb 14, 2015 11:17 pm

Some minor things:
- On the main screen it is still listed as 0.9.1 (Minor, I know...)
- .love files still run properly, but now have no icon!
Using Windows 8.1 Laptop. It used to work, but now does not have any icon. I know they're both minor things, but I just thought attention should be brought to the issues.
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
The Omniscient
Posts: 6506
Joined: Fri Feb 20, 2009 4:29 pm
Location: The Netherlands

Re: LÖVE 0.9.2 Released

Post by Robin » Sat Feb 14, 2015 11:40 pm

It's like christmas in here!

Yay for relative mode! That actually works for me, unlike the getPosition/setPosition hack that has been used a few times on this forum.
Help us help you: attach a .love.

User avatar
Party member
Posts: 170
Joined: Tue Jan 10, 2012 1:35 am

Re: LÖVE 0.9.2 Released

Post by Qcode » Sun Feb 15, 2015 12:45 am

I'm using the Mac version and for some reason it doesn't seem to have love.window.maximize included in the window function list.
I ran
for i, v in pairs(love.window) do
print(i, v)

and got

Code: Select all

setFullscreen	function: 0x08f5c350
isCreated	function: 0x08f5c3f0
isVisible	function: 0x08f5cb50
getMode	function: 0x08f5c300
getDisplayName	function: 0x08f5c288
getPixelScale	function: 0x08f5cb78
getDisplayCount	function: 0x08f5c200
minimize	function: 0x08f5cbf0
setMode	function: 0x08f5c2d8
fromPixels	function: 0x08f5cbc8
getTitle	function: 0x08f5ca60
toPixels	function: 0x08f5cba0
hasMouseFocus	function: 0x08f5cb00
getDesktopDimensions	function: 0x08f5c618
getFullscreenModes	function: 0x08f5c328
hasFocus	function: 0x08f5cab0
getFullscreen	function: 0x08f5c3a0
getDimensions	function: 0x08f5c5f0
setTitle	function: 0x08f5c730
setIcon	function: 0x08f5c6c0
getIcon	function: 0x08f5c6e8
setPosition	function: 0x08f5c670
showMessageBox	function: 0x08f5cc40
getWidth	function: 0x08f5c418
getPosition	function: 0x08f5c698
getHeight	function: 0x08f5c5c8
Error: main.lua:16: attempt to call field 'maximize' (a nil value)
stack traceback:
	main.lua:16: in function 'update'
	[string "boot.lua"]:442: in function <[string "boot.lua"]:413>
	[C]: in function 'xpcall'
As you can see, most of the new 0.9.2 functions are in, just not maximize.
Is this intended for the Mac version? No biggie if it is, all I was doing was making a stupid program to minimize and maximize itself, but it would be a shame if it couldn't be implemented.

Post Reply

Who is online

Users browsing this forum: No registered users and 24 guests