Difference between revisions of "0.9.0"
m (Updated changelog) |
m (Updated changelog) |
||
Line 4: | Line 4: | ||
== Changes from [[0.8.0]] == | == Changes from [[0.8.0]] == | ||
=== Additions === | === Additions === | ||
+ | * Added better multiplayer networking support with [http://enet.bespin.org ENet] (via [http://leafo.net/lua-enet/ lua-enet].) | ||
* Added --fused command line argument, to simulate fusing. | * Added --fused command line argument, to simulate fusing. | ||
* Added liblove. | * Added liblove. | ||
Line 64: | Line 65: | ||
* Added window [[love.resize|resize]] and [[love.visible|visible]] events. | * Added window [[love.resize|resize]] and [[love.visible|visible]] events. | ||
* Added [[love.window.getDimensions]]. | * Added [[love.window.getDimensions]]. | ||
+ | * Added [[love.window.getIcon]]. | ||
* Added [[SoundData:getDuration]] and [[SoundData:getSampleCount]]. | * Added [[SoundData:getDuration]] and [[SoundData:getSampleCount]]. | ||
Line 69: | Line 71: | ||
* Added new [[Channel]]s api for [[love.thread]]. | * Added new [[Channel]]s api for [[love.thread]]. | ||
+ | * Added limited table support to [[Channel:push]]. | ||
* Added [[Thread:getError]]. | * Added [[Thread:getError]]. | ||
+ | * Added [[Thread:isRunning]]. | ||
* Added [[love.mousefocus]] and [[love.window.hasMouseFocus]]. | * Added [[love.mousefocus]] and [[love.window.hasMouseFocus]]. | ||
Line 91: | Line 95: | ||
* Removed old thread messaging api (see [[Channel]]s). | * Removed old thread messaging api (see [[Channel]]s). | ||
* Removed [[love.timer.getMicroTime]]. | * Removed [[love.timer.getMicroTime]]. | ||
+ | |||
+ | === Renamed APIs === | ||
+ | * Renamed [[PixelEffect]] to [[Shader]] (but now with vertex shaders). | ||
+ | * Renamed [[love.graphics.setDefaultImageFilter]] to [[love.graphics.setDefaultFilter]]. | ||
+ | * Renamed [[ParticleSystem:setSprite]] to [[ParticleSystem:setImage]]. | ||
+ | * Renamed [[ParticleSystem:setGravity]] to [[ParticleSystem:setLinearAcceleration]]. | ||
+ | * Renamed [[ParticleSystem:setLifetime]] and [[ParticleSystem:setParticleLife]] to [[ParticleSystem:setEmitterLifetime]] and [[ParticleSystem:setParticleLifetime]]. | ||
+ | * Renamed [[love.graphics.drawq]] to [[love.graphics.drawg]]. | ||
+ | * Renamed [[SpriteBatch:addq]] and [[SpriteBatch:setq]] to [[SpriteBatch:addg]] and [[SpriteBatch:setg]]. | ||
+ | * Renamed [[ParticleSystem:count]] and all getNum* functions to get*Count. | ||
+ | * Renamed [[SoundData:getBits]] to [[SoundData:getBitDepth]]. | ||
=== Fixes === | === Fixes === | ||
Line 123: | Line 138: | ||
* Fixed [[SpriteBatch]]es with more than 16,384 sprites. | * Fixed [[SpriteBatch]]es with more than 16,384 sprites. | ||
* Fixed draw order for [[ParticleSystem]]s. | * Fixed draw order for [[ParticleSystem]]s. | ||
+ | * Fixed [[ParticleSystem:setSIzes]] resetting the size variation. | ||
* Fixed [[love.window.getMode]] and friends returning wrong values when using desktop size. | * Fixed [[love.window.getMode]] and friends returning wrong values when using desktop size. | ||
* Fixed keyrepeat settings being lost after (indirect) [[love.window.setMode]]. | * Fixed keyrepeat settings being lost after (indirect) [[love.window.setMode]]. | ||
+ | * Fixed the icon being reset after [[love.window.setMode]]. | ||
* Fixed memory leak in the mp3 decoder. | * Fixed memory leak in the mp3 decoder. | ||
Line 133: | Line 150: | ||
* Fixed looping support in tracker music formats. | * Fixed looping support in tracker music formats. | ||
* Fixed skipping/looping issues when playing streaming audio [[Source]]s. | * Fixed skipping/looping issues when playing streaming audio [[Source]]s. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Other Changes === | === Other Changes === | ||
Line 170: | Line 177: | ||
* 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]] to be more efficient. | * 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 175: | Line 183: | ||
* Updated [[love.audio.newSource]], [[love.sound.newDecoder]], and [[love.sound.newSoundData]] to accept [[FileData]]. | * Updated [[love.audio.newSource]], [[love.sound.newDecoder]], and [[love.sound.newSoundData]] to accept [[FileData]]. | ||
* Updated allocation for [[SoundData]], it's more efficient and less wasteful. | * Updated allocation for [[SoundData]], it's more efficient and less wasteful. | ||
+ | * Updated [[SoundData:setSample]] and [[SoundData:getSample]] to error for invalid samples. | ||
* Updated Source:set* functions to default z to 0. | * Updated Source:set* functions to default z to 0. | ||
+ | * Updated [[Source:seek]] to error for negative offsets. | ||
+ | |||
+ | * Updated [[Thread:start]] to accept arguments. The arguments are available in the thread via '''...''' (the vararg expression.) | ||
* Updated [[love.timer.getFPS]] to be microsecond-accurate. | * Updated [[love.timer.getFPS]] to be microsecond-accurate. |
Revision as of 20:07, 16 July 2013
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. |
The codename for LÖVE 0.9.0 is Baby Inspector. It is currently not released.
Contents
Changes from 0.8.0
Additions
- Added better multiplayer networking support with ENet (via lua-enet.)
- 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 love.filesystem.getIdentity.
- Added love.filesystem.append.
- Added love.filesystem.getSize.
- Added love.filesystem.mount and love.filesystem.unmount.
- Added File:isOpen and File:getMode.
- Added File:setBuffer, File:getBuffer, and File:flush.
- Added previously internal Rasterizer and GlyphData methods.
- Added support for UTF-8 Image Fonts.
- Added Font:getAscent, Font:getDescent, and Font:getBaseline.
- Added Font:setFilter and Font:getFilter.
- Added Font:hasGlyph.
- Added angle, scale, and shear parameters to love.graphics.printf.
- Added HDR canvas support.
- Added mipmapping support to Images (has love.graphics.isSupported test).
- Added vertex Shader support.
- Added boolean support to Shader:send.
- Added Canvas:getPixel.
- Added BlendMode "replace".
- Added Geometry objects (replaces Quads), allowing for arbitrary textured polygons.
- Added love.graphics.setCanvases (multiple render targets.)
- Added love.graphics.setColorMask.
- Added love.graphics.setAlphaTest.
- Added love.graphics.origin.
- Added love.graphics.getRendererInfo.
- Added SpriteBatch:getCount and SpriteBatch:getBufferSize.
- Added SpriteBatch:getColor.
- Added ParticleSystem:emit.
- Added ParticleSystem:setInsertMode and ParticleSystem:getInsertMode.
- Added many ParticleSystem getter methods.
- Added DXT compressed texture support to Images via love.image.newCompressedData.
- Added love.image.isCompressed and Image:isCompressed.
- Added Image:getDimensions, Canvas:getDimensions, and ImageData:getDimensions.
- Added anisotropic filtering support for Images, Canvases, and Fonts.
- Added Image:refresh.
- Added Image:getData.
- Added love.math module.
- Added a platform-independent (good) random implementation to love.math.
- Added RandomGenerator objects and love.math.newRandomGenerator.
- Added BezierCurve objects and love.math.newBezierCurve.
- Added love.math.triangulate and love.math.isConvex.
- Added love.math.noise.
- Added love.window module.
- Added love.window.isVisible.
- Added flags to love.window.setMode.
- Added support for resizable, borderless, and non-centered windows.
- Added window resize and visible events.
- Added love.window.getDimensions.
- Added love.window.getIcon.
- Added SoundData:getDuration and SoundData:getSampleCount.
- Added Source:isPlaying.
- Added new Channels api for love.thread.
- Added limited table support to Channel:push.
- Added Thread:getError.
- Added Thread:isRunning.
- Added love.mousefocus and love.window.hasMouseFocus.
- Added love.mouse.setX and love.mouse.setY.
- Added joystickaxis and joystickhat events.
- Added love.joystick.reload.
- OPTIONAL: Added support for Game Music Emu.
Removals
- Removed love.graphics.drawTest.
- Removed love.graphics.quad and love.graphics.triangle.
- Removed ColorModes and love.graphics.setColorMode.
- Removed love.graphics.newStencil.
- Removed love.graphics.setLine and love.graphics.setPoint.
- Removed Quad objects (replaced by Geometry).
- Removed ParticleSystem:isFull and ParticleSystem:isEmpty.
- Removed love.joystick.open and friends.
- Removed love.joystick.getBall and love.joystick.getNumBalls.
- Removed thread names.
- Removed old thread messaging api (see Channels).
- Removed love.timer.getMicroTime.
Renamed APIs
- Renamed PixelEffect to Shader (but now with vertex shaders).
- Renamed love.graphics.setDefaultImageFilter to love.graphics.setDefaultFilter.
- Renamed ParticleSystem:setSprite to ParticleSystem:setImage.
- Renamed ParticleSystem:setGravity to ParticleSystem:setLinearAcceleration.
- Renamed ParticleSystem:setLifetime and ParticleSystem:setParticleLife to ParticleSystem:setEmitterLifetime and ParticleSystem:setParticleLifetime.
- Renamed love.graphics.drawq to love.graphics.drawg.
- Renamed SpriteBatch:addq and SpriteBatch:setq to SpriteBatch:addg and SpriteBatch:setg.
- Renamed ParticleSystem:count and all getNum* functions to get*Count.
- Renamed SoundData:getBits to SoundData:getBitDepth.
Fixes
- Fixed fused release mode in OS X.
- Fixed printing to the console in Windows before love.load is called.
- Fixed the error screen not always appearing until the next input event.
- Fixed love.event.clear.
- Fixed love.mouse.setPosition when called in love.load.
- Fixed scaling in several love.physics functions.
- Fixed Box2D exception in World:update.
- Fixed many uncaught Box2D / love.physics exceptions for Bodies and Joints.
- Fixed (File):read reading past end of file.
- Fixed love.filesystem.setIdentity not removing read access from old directories.
- Fixed possible memory leak in UTF-8 decoder.
- Fixed spacing for the last character in an Image Font.
- Fixed line wrapping in love.graphics.printf.
- Fixed love.graphics.print truncating strings with embedded zeros.
- Fixed crashes with font drawing on some ATI cards.
- Fixed artifacts when drawing lines at huge scale.
- Fixed Fonts and Canvases ignoring default image filter.
- Fixed love.graphics.getLineWidth returning incorrect values.
- Fixed love.graphics.getColor on some Windows systems.
- Fixed alpha BlendMode.
- Fixed multiplicative BlendMode.
- Fixed love.graphics.getPointStyle.
- Fixed line numbers in Shader errors.
- Fixed Shader:send with Images and Canvases failing sometimes.
- Fixed crash when binding SpriteBatches multiple times.
- Fixed SpriteBatches with more than 16,384 sprites.
- Fixed draw order for ParticleSystems.
- Fixed ParticleSystem:setSIzes resetting the size variation.
- Fixed love.window.getMode and friends returning wrong values when using desktop size.
- Fixed keyrepeat settings being lost after (indirect) love.window.setMode.
- Fixed the icon being reset after love.window.setMode.
- 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.
Other Changes
- Moved love's startup to modules/love.
- Moved window-related functions from love.graphics to love.window.
- Renamed love's boot script to 'love.boot', which can be required.
- 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.keypressed's second argument to be a unicode character string.
- 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 the setFilter and setWrap methods, the second argument is now optional.
- Updated Font and ParticleSystem rendering code, now more performant.
- Updated SpriteBatch code, now more performant when (un)binding.
- Updated Image creation code to error when creation fails.
- Updated Canvas code to support more systems.
- Updated Canvas:getImageData and love.graphics.newScreenshot to be more efficient.
- Updated love.graphics.newScreenshot to create a fully opaque image by default.
- Updated error messages when sending bad values to Shaders.
- Updated love.graphics.newParticleSystem to have a default buffer size of 1000.
- 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:mapPixel to accept 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.audio.newSource, love.sound.newDecoder, and love.sound.newSoundData to accept FileData.
- Updated allocation for SoundData, it's more efficient and less wasteful.
- Updated SoundData:setSample and SoundData:getSample to error for invalid samples.
- Updated Source:set* functions to default z to 0.
- Updated Source:seek to error for negative offsets.
- Updated Thread:start to accept arguments. The arguments are available in the thread via ... (the vararg expression.)
- Updated love.timer.getFPS to be microsecond-accurate.
- Updated love.timer.getTime to be microsecond-accurate and monotonic.