Difference between revisions of "0.9.0"

m (category)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{notice|The information on this page may not be accurate or up to date due to the information pertaining to a version that is currently in development.}}
+
[[File:0.9.0_no-game.png|thumb|no-game screen]]
The codename for LÖVE 0.9.0 is '''Baby Inspector'''. It is currently '''<span style="color:#ff0000;">not released</span>'''.
 
  
== Changes from [[0.8.0]] ==
+
The codename for LÖVE 0.9.0 is '''Baby Inspector'''. It is currently '''<span style="color:#0000ff;">released</span>'''.
 +
 
 +
== Major changes from [[0.8.0]] ==
 +
* Added three new modules: [[love.window]], [[love.math]], and [[love.system]].
 +
* Reworked the [[love.joystick]] and [[love.thread]] modules.
 +
* Added new features to love.graphics, including [[Mesh|polygon meshes]] and [[Shader|vertex shaders]].
 +
* Integrated the [http://enet.bespin.org ENet] networking library via [http://leafo.net/lua-enet/ lua-enet].
 +
* Renamed many functions to be more consistent with the rest of the API.
 +
* Improved the performance of several APIs in [[love.graphics]].
 +
* And a '''lot''' more!
 +
 
 +
== All changes from [[0.8.0]] ==
 
=== Additions ===
 
=== Additions ===
 
* Added better multiplayer networking support with [http://enet.bespin.org ENet] (via the [http://leafo.net/lua-enet/ lua-enet] library.)
 
* Added better multiplayer networking support with [http://enet.bespin.org ENet] (via the [http://leafo.net/lua-enet/ lua-enet] library.)
Line 9: Line 19:
 
* Added the ability to have exit values.
 
* Added the ability to have exit values.
 
* Added exit value of 1 in case of error by default.
 
* Added exit value of 1 in case of error by default.
* Added basic support for the file:// uri scheme.
+
* Added basic support for the file:// URI scheme.
 
* Added [[love.timer.getAverageDelta]].
 
* Added [[love.timer.getAverageDelta]].
 
* Added [[Data:getString]].
 
* Added [[Data:getString]].
Line 30: Line 40:
 
* Added [[Font:getAscent]], [[Font:getDescent]], and [[Font:getBaseline]].
 
* Added [[Font:getAscent]], [[Font:getDescent]], and [[Font:getBaseline]].
 
* Added [[Font:setFilter]] and [[Font:getFilter]].
 
* Added [[Font:setFilter]] and [[Font:getFilter]].
* Added [[Font:hasGlyph]].
+
* Added [[Font:hasGlyphs]].
  
 
* Added angle, scale, and shear parameters to [[love.graphics.printf]].
 
* Added angle, scale, and shear parameters to [[love.graphics.printf]].
Line 39: Line 49:
 
* Added [[Canvas:getPixel]].
 
* Added [[Canvas:getPixel]].
 
* Added [[BlendMode]] "replace".
 
* Added [[BlendMode]] "replace".
* Added line join modes.
+
* Added [[LineJoin]] modes.
* Added [[Geometry]] objects (replaces [[Quad]]s), allowing for arbitrary textured polygons.
+
* Added [[Mesh]] objects, allowing for arbitrary textured polygons.
 
* Added multiple render target support to [[love.graphics.setCanvas]].
 
* Added multiple render target support to [[love.graphics.setCanvas]].
 
* Added [[love.graphics.setColorMask]].
 
* Added [[love.graphics.setColorMask]].
Line 79: Line 89:
 
* Added window [[love.resize|resize]] and [[love.visible|visible]] events.
 
* Added window [[love.resize|resize]] and [[love.visible|visible]] events.
 
* Added [[love.window.getIcon]].
 
* Added [[love.window.getIcon]].
 +
* Added t.window.icon to [[love.conf]].
  
 
* Added [[SoundData:getDuration]] and [[SoundData:getSampleCount]].
 
* Added [[SoundData:getDuration]] and [[SoundData:getSampleCount]].
 
* Added [[Source:isPlaying]].
 
* Added [[Source:isPlaying]].
 +
* Added [[Source:setRelative]] and [[Source:isRelative]].
 +
* Added [[Source:setCone]] and [[Source:getCone]].
 +
* Added [[Source:getChannels]].
  
 
* Added new [[Channel]]s API for [[love.thread]].
 
* Added new [[Channel]]s API for [[love.thread]].
Line 97: Line 111:
 
* Added joystick [[love.joystickaxis|axis]] and [[love.joystickhat|hat]] move events.
 
* Added joystick [[love.joystickaxis|axis]] and [[love.joystickhat|hat]] move events.
 
* Added unified [[Joystick:isGamepadDown|Gamepad API]] for joysticks which have a similar layout to the Xbox controller.
 
* Added unified [[Joystick:isGamepadDown|Gamepad API]] for joysticks which have a similar layout to the Xbox controller.
 
+
* Added joystick [[Joystick:setVibration|vibration]] support.
* OPTIONAL: Added support for Game Music Emu.
 
  
 
=== Removals ===
 
=== Removals ===
Line 110: Line 123:
 
* Removed [[love.graphics.newStencil]].
 
* Removed [[love.graphics.newStencil]].
 
* Removed [[love.graphics.setLine]] and [[love.graphics.setPoint]].
 
* Removed [[love.graphics.setLine]] and [[love.graphics.setPoint]].
* Removed [[Quad]] objects (replaced by [[Geometry]]).
 
 
* Removed [[love.graphics.drawq]] (functionality is merged into [[love.graphics.draw]]).
 
* Removed [[love.graphics.drawq]] (functionality is merged into [[love.graphics.draw]]).
 
* Removed [[SpriteBatch:addq]] and [[SpriteBatch:setq]] (functionality is merged into [[SpriteBatch:add]] and [[SpriteBatch:set]]).
 
* Removed [[SpriteBatch:addq]] and [[SpriteBatch:setq]] (functionality is merged into [[SpriteBatch:add]] and [[SpriteBatch:set]]).
 +
* Removed [[Quad:flip]].
 
* Removed [[ParticleSystem:isFull]] and [[ParticleSystem:isEmpty]].
 
* Removed [[ParticleSystem:isFull]] and [[ParticleSystem:isEmpty]].
 
* Removed [[ParticleSystem:getX]] and [[ParticleSystem:getY]].
 
* Removed [[ParticleSystem:getX]] and [[ParticleSystem:getY]].
 +
* Removed [[love.graphics.checkMode]].
  
 
* Removed [[love.joystick]] module functions which operated on individual joysticks (see [[Joystick]] objects).
 
* Removed [[love.joystick]] module functions which operated on individual joysticks (see [[Joystick]] objects).
Line 124: Line 138:
 
=== Renamed APIs ===
 
=== Renamed APIs ===
 
* Renamed love's boot script to 'love.boot', which can be required.
 
* Renamed love's boot script to 'love.boot', which can be required.
 +
* Renamed [[love.filesystem.mkdir]] to [[love.filesystem.createDirectory]].
 +
* Renamed [[love.filesystem.enumerate]] to [[love.filesystem.getDirectoryItems]].
 
* Renamed [[World:setAllowSleeping]] and [[World:getAllowSleeping]] to [[World:setSleepingAllowed]] and [[World:isSleepingAllowed]].
 
* Renamed [[World:setAllowSleeping]] and [[World:getAllowSleeping]] to [[World:setSleepingAllowed]] and [[World:isSleepingAllowed]].
 +
* Renamed [[ChainShape:setPrevVertex]] to [[ChainShape:setPreviousVertex]].
 +
* Renamed Joint:enableMotor to Joint:setMotorEnabled.
 +
* Renamed Joint:enableLimit and Joint:isLimitEnabled to Joint:setLimitsEnabled and Joint:hasLimitsEnabled.
 
* Renamed t.screen to t.window in [[love.conf]].
 
* Renamed t.screen to t.window in [[love.conf]].
 
* Renamed [[love.graphics.setCaption]] to [[love.window.setTitle]].
 
* Renamed [[love.graphics.setCaption]] to [[love.window.setTitle]].
Line 134: Line 153:
 
* Renamed [[ParticleSystem:count]] and all getNum* functions to get*Count.
 
* Renamed [[ParticleSystem:count]] and all getNum* functions to get*Count.
 
* Renamed [[SoundData:getBits]] and [[Decoder:getBits]] to [[SoundData:getBitDepth]] and [[Decoder:getBitDepth]].
 
* Renamed [[SoundData:getBits]] and [[Decoder:getBits]] to [[SoundData:getBitDepth]] and [[Decoder:getBitDepth]].
 +
* Renamed [[Source:setDistance]] and [[Source:getDistance]] to [[Source:setAttenuationDistances]] and [[Source:getAttenuationDistances]].
 
* Renamed [[love.mouse.setGrab]] to [[love.mouse.setGrabbed]].
 
* Renamed [[love.mouse.setGrab]] to [[love.mouse.setGrabbed]].
  
Line 139: Line 159:
 
* Fixed fused mode in OS X.
 
* Fixed fused mode in OS X.
 
* Fixed printing to the console in Windows before [[love.load]] is called.
 
* Fixed printing to the console in Windows before [[love.load]] is called.
 +
* Fixed the default [[love.run]] to not include the time taken by [[love.load]] in the first frame's dt calculation.
 
* Fixed the error screen not always appearing until the next input event.
 
* Fixed the error screen not always appearing until the next input event.
 
* Fixed [[love.event.clear]].
 
* Fixed [[love.event.clear]].
Line 166: Line 187:
 
* Fixed line numbers in [[Shader]] errors.
 
* Fixed line numbers in [[Shader]] errors.
 
* Fixed [[Shader:send]] with Images and Canvases failing sometimes.
 
* Fixed [[Shader:send]] with Images and Canvases failing sometimes.
 +
* Fixed [[Shader:send]] to keep a reference to sent Images and Canvases.
 
* Fixed crash when binding [[SpriteBatch]]es multiple times.
 
* Fixed crash when binding [[SpriteBatch]]es multiple times.
 
* Fixed [[SpriteBatch]]es with more than 16,384 sprites.
 
* Fixed [[SpriteBatch]]es with more than 16,384 sprites.
Line 182: Line 204:
 
* Fixed skipping/looping issues when playing streaming audio [[Source]]s.
 
* Fixed skipping/looping issues when playing streaming audio [[Source]]s.
 
* Fixed a race condition in [[Source:play]].
 
* Fixed a race condition in [[Source:play]].
 +
* Fixed WAVE sound playback.
  
 
=== Other Changes ===
 
=== Other Changes ===
Line 197: Line 220:
 
* Updated keyboard [[KeyConstant|key constants]] with some modern keyboard keys.
 
* Updated keyboard [[KeyConstant|key constants]] with some modern keyboard keys.
  
 +
* Updated love.filesystem to try to create the appdata directory if it doesn't exist yet.
 
* Updated the default filesystem identity to omit file extension.
 
* Updated the default filesystem identity to omit file extension.
 
* Updated [[love.filesystem.newFile]] to optionally open the file.
 
* Updated [[love.filesystem.newFile]] to optionally open the file.
 
* Updated most [[love.filesystem]] functions to return nil, error on internal failure.
 
* Updated most [[love.filesystem]] functions to return nil, error on internal failure.
  
 +
* Updated [[love.graphics.print]]'s x and y arguments to default to 0.
 
* Updated the setFilter and setWrap methods, the second argument is now optional.
 
* Updated the setFilter and setWrap methods, the second argument is now optional.
 
* Updated [[Font]] and [[ParticleSystem]] rendering code, now more performant.
 
* Updated [[Font]] and [[ParticleSystem]] rendering code, now more performant.
Line 212: Line 237:
 
* Updated [[love.image.newImageData]] and [[love.graphics.newImage]] to accept [[FileData]].
 
* Updated [[love.image.newImageData]] and [[love.graphics.newImage]] to accept [[FileData]].
 
* Updated [[ImageData:setPixel]] to accept a table and default to 255 alpha.
 
* Updated [[ImageData:setPixel]] to accept a table and default to 255 alpha.
* Updated [[ImageData:mapPixel]] to accept optional x,y,w,h arguments.
+
* Updated [[ImageData:mapPixel]], is now more efficient and now accepts optional x,y,w,h arguments.
* Updated [[ImageData:mapPixel]] to be more efficient.
 
 
* Updated [[love.image]] memory handling, improves errors and thread-safety.
 
* Updated [[love.image]] memory handling, improves errors and thread-safety.
  
Line 227: Line 251:
 
* Updated [[love.timer.getTime]] to be microsecond-accurate and monotonic.
 
* Updated [[love.timer.getTime]] to be microsecond-accurate and monotonic.
  
[[File:0.9.0_no-game.png|thumb|no-game screen]]
+
* Updated Box2D to version 2.3.
  
[[Category:LoveVersions]]
+
[[Category:Versions]]

Latest revision as of 17:14, 10 May 2015

no-game screen

The codename for LÖVE 0.9.0 is Baby Inspector. It is currently released.

Major changes from 0.8.0

All changes from 0.8.0

Additions

  • Added better multiplayer networking support with ENet (via the lua-enet library.)
  • Added --fused command line argument, to simulate fusing.
  • Added liblove.
  • Added the ability to have exit values.
  • Added exit value of 1 in case of error by default.
  • Added basic support for the file:// URI scheme.
  • Added love.timer.getAverageDelta.
  • Added Data:getString.
  • Added Contact:getChildren.
  • Added Joystick objects.
  • Added joystick add and remove events.
  • Added joystick axis and hat move events.
  • Added unified Gamepad API for joysticks which have a similar layout to the Xbox controller.
  • Added joystick vibration support.

Removals

Renamed APIs

Fixes

  • Fixed memory leak in the mp3 decoder.
  • Fixed sound issues with some versions of OpenAL soft, by enabling direct channels.
  • Fixed 'random' hangs in audio.
  • Fixed case (in)sensitivity of sound file extension parsing.
  • Fixed looping support in tracker music formats.
  • Fixed skipping/looping issues when playing streaming audio Sources.
  • Fixed a race condition in Source:play.
  • Fixed WAVE sound playback.

Other Changes

  • Updated functions which return LOVE objects to re-use the Lua-side object instead of always recreating it.
  • Updated the windows console, it now tries to re-use an active one first.
  • Updated error handling, error handlers now get resolved when the error occurs.
  • Updated order of sleep/present in love.run (now draws, *then* sleeps).
  • Updated love.filesystem to try to create the appdata directory if it doesn't exist yet.
  • Updated the default filesystem identity to omit file extension.
  • Updated love.filesystem.newFile to optionally open the file.
  • Updated most love.filesystem functions to return nil, error on internal failure.
  • Updated Thread:start to accept arguments. The arguments are available in the thread via ... (the vararg expression.)
  • Updated Box2D to version 2.3.