Difference between revisions of "0.10.0"

m (Updated changelog)
(Reorganized some changes)
Line 23: Line 23:
 
* Added optional x/y/width/height arguments to [[love.keyboard.setTextInput]]. They tell the system where text will show up so on-screen keyboards can avoid that area.
 
* Added optional x/y/width/height arguments to [[love.keyboard.setTextInput]]. They tell the system where text will show up so on-screen keyboards can avoid that area.
 
* Added [[Source:getType]] (replaces [[Source:isStatic]].)
 
* Added [[Source:getType]] (replaces [[Source:isStatic]].)
 +
* Added an optional string argument containing raw pixel data to the width/height variant of [[love.image.newImageData]].
 
* Added [[love.graphics.ellipse]].
 
* Added [[love.graphics.ellipse]].
 
* Added rounded-rectangle support to [[love.graphics.rectangle]].
 
* Added rounded-rectangle support to [[love.graphics.rectangle]].
Line 60: Line 61:
 
* Added [[love.math.compress]] and [[love.math.decompress]].
 
* Added [[love.math.compress]] and [[love.math.decompress]].
 
* Added [[Channel:performAtomic]].
 
* Added [[Channel:performAtomic]].
 +
 +
 +
=== Changed APIs ===
 +
* Changed [[love.mousepressed]], [[love.mousereleased]], and [[love.mouse.isDown]] to use button numbers instead of named button constants.
 +
* Changed [[love.keypressed]] to be [[love.keypressed]](key, scancode, isrepeat).
 +
* Changed [[love.keyreleased]] to be [[love.keyreleased]](key, scancode).
 +
* Changed [[Font:getWrap]]'s second return value to be a table containing the text split into lines.
 +
* Changed [[love.graphics.newImage]]'s optional second argument to be a table of flags (flags are "mipmaps" and "linear".)
 +
* Changed the arguments for the standard variants of [[love.graphics.newMesh]]. They're now [[love.graphics.newMesh]](vertices [, drawmode, usage]) and [[love.graphics.newMesh]](vertexcount [, drawmode, usage]).
 +
* Changed [[ImageData:encode]] to return a [[FileData]] object containing the encoded image. [[ImageData:encode]]'s first parameter is now the format to encode to, and the second parameter is an optional filename to write to.
 +
 +
 +
=== Renamed APIs ===
 +
* Renamed the [[FullscreenType|fullscreen type]] "normal" to "exclusive".
 +
* Renamed the [[DistanceModel]] constants "inverse clamped", "linear clamped", and "exponent clamped" to "inverseclamped", "linearclamped", and "exponentclamped".
 +
* Renamed [[BlendMode|blend modes]] "additive", "subtractive", and "multiplicative" to "add", "subtract", and "multiply".
 +
* Renamed the [[KeyConstant|key constant]] and [[Scancode]] representing the spacebar from " " to "space".
 +
* Renamed [[(File):eof|File:eof]] to [[(File):isEOF|File:isEOF]].
 +
* Renamed [[Canvas:getImageData]] to [[Canvas:newImageData]].
 +
* Renamed [[love.image]]'s [[CompressedData]] type to [[CompressedImageData]].
 +
  
 
=== Removals ===
 
=== Removals ===
Line 90: Line 112:
 
** Removed [[love.window.getWidth]] and [[love.window.getHeight]] (use [[love.graphics.getWidth]] and [[love.graphics.getHeight]] or [[love.window.getMode]] instead.)
 
** Removed [[love.window.getWidth]] and [[love.window.getHeight]] (use [[love.graphics.getWidth]] and [[love.graphics.getHeight]] or [[love.window.getMode]] instead.)
  
=== Renamed APIs ===
 
* Renamed the [[FullscreenType|fullscreen type]] "normal" to "exclusive".
 
* Renamed the [[DistanceModel]] constants "inverse clamped", "linear clamped", and "exponent clamped" to "inverseclamped", "linearclamped", and "exponentclamped".
 
* Renamed [[BlendMode|blend modes]] "additive", "subtractive", and "multiplicative" to "add", "subtract", and "multiply".
 
* Renamed the [[KeyConstant|key constant]] and [[Scancode]] representing the spacebar from " " to "space".
 
* Renamed [[(File):eof|File:eof]] to [[(File):isEOF|File:isEOF]].
 
* Renamed [[Canvas:getImageData]] to [[Canvas:newImageData]].
 
* Renamed [[love.image]]'s [[CompressedData]] type to [[CompressedImageData]].
 
  
 
=== Bugfixes ===
 
=== Bugfixes ===
Line 114: Line 128:
 
* Fixed [[love.graphics.shear]] resetting all love.graphics transformations.
 
* Fixed [[love.graphics.shear]] resetting all love.graphics transformations.
 
* Fixed the "add" and "subtract" [[BlendMode]]s to no longer modify the alpha of the Canvas / screen.
 
* Fixed the "add" and "subtract" [[BlendMode]]s to no longer modify the alpha of the Canvas / screen.
 +
 +
 +
=== Performance improvements ===
 +
* Improved the performance of [[World:rayCast]] and [[World:queryBoundingBox]].
 +
* Improved the performance of [[love.graphics.line]] and other line drawing functions, when the "smooth" [[LineStyle]] is used.
 +
* Improved the performance of [[ImageData]] and [[SoundData]] methods when LuaJIT's JIT compiler is enabled, by using efficient FFI code.
 +
  
 
=== Other changes ===
 
=== Other changes ===
Line 119: Line 140:
 
* Updated the compatibility warning notice to display before main.lua is loaded.
 
* Updated the compatibility warning notice to display before main.lua is loaded.
 
* Updated the __tostring metamethod of love objects to output the pointer value, similar to tostring(table).
 
* Updated the __tostring metamethod of love objects to output the pointer value, similar to tostring(table).
* Updated [[love.keypressed]] to be [[love.keypressed]](key, scancode, isrepeat).
 
* Updated [[love.keyreleased]] to be [[love.keyreleased]](key, scancode).
 
* Updated [[love.mousepressed]], [[love.mousereleased]], and [[love.mouse.isDown]] to use button numbers instead of named button constants.
 
 
* Updated [[World:setCallbacks]], [[World:setContactFilter]], [[World:queryBoundingBox]], and [[World:rayCast]] to have improved argument type checking.
 
* Updated [[World:setCallbacks]], [[World:setContactFilter]], [[World:queryBoundingBox]], and [[World:rayCast]] to have improved argument type checking.
 
* Updated threads to load [[love.filesystem]] automatically.
 
* Updated threads to load [[love.filesystem]] automatically.
Line 129: Line 147:
 
* Updated [[love.graphics.newImageFont]] to no longer treat separator pixels as spacing.
 
* Updated [[love.graphics.newImageFont]] to no longer treat separator pixels as spacing.
 
* Updated the default font to use less memory.
 
* Updated the default font to use less memory.
* Updated [[Font:getWrap]]'s second return value to be a table containing the text split into lines.
+
* Updated love.graphics color functions to automatically apply [[love.math.gammaToLinear]] to color values when gamma-correct rendering is enabled.
* Updated love.graphics color functions to automatically apply [[love.graphics.gammaToLinear]] to color values when gamma-correct rendering is enabled.
 
 
* Updated the "normal" [[CanvasFormat]] to internally use "srgb" rather than "rgba8" when gamma-correct rendering is enabled.
 
* Updated the "normal" [[CanvasFormat]] to internally use "srgb" rather than "rgba8" when gamma-correct rendering is enabled.
 
* Updated [[love.graphics.setColor]] to affect all drawn objects, including [[ParticleSystem]]s, [[SpriteBatch]]es, and [[Mesh]]es, even when per-vertex or per-sprite colors are used.
 
* Updated [[love.graphics.setColor]] to affect all drawn objects, including [[ParticleSystem]]s, [[SpriteBatch]]es, and [[Mesh]]es, even when per-vertex or per-sprite colors are used.
Line 136: Line 153:
 
* Updated the minimum runtime system requirements of LOVE to require OpenGL 2.1 or OpenGL ES 2 support.
 
* Updated the minimum runtime system requirements of LOVE to require OpenGL 2.1 or OpenGL ES 2 support.
 
* Updated the [[love.graphics.newShader|pixel shader effect]] function so screen_coords.y is 0 at the top of the screen instead of the bottom.
 
* Updated the [[love.graphics.newShader|pixel shader effect]] function so screen_coords.y is 0 at the top of the screen instead of the bottom.
* Updated the arguments for the standard variants of [[love.graphics.newMesh]]. They're now [[love.graphics.newMesh]](vertices [, drawmode, usage]) and [[love.graphics.newMesh]](vertexcount [, drawmode, usage]).
 
* Updated line drawing code to be more efficient.
 
* Updated [[love.graphics.newImage]]'s optional second argument to be a table of flags (flags are "mipmaps" and "linear".)
 
 
* Updated [[Image]]s to require setting the mipmaps flag to true on creation in order to use mipmaps.
 
* Updated [[Image]]s to require setting the mipmaps flag to true on creation in order to use mipmaps.
 
* Updated [[Image]]s to allow mipmaps for non-power-of-two sizes.
 
* Updated [[Image]]s to allow mipmaps for non-power-of-two sizes.
* Updated the width/height variant of [[love.image.newImageData]] to take an additional optional string containing raw pixel data.
 
* Updated [[ImageData:encode]] to return a [[FileData]] object containing the encoded image. [[ImageData:encode]]'s first parameter is now the format to encode to, and the second parameter is an optional filename to write to.
 
* Updated [[ImageData]] and [[SoundData]] methods to use efficient LuaJIT FFI code, when the JIT compiler is enabled.
 
  
 
[[Category:Versions]]
 
[[Category:Versions]]

Revision as of 15:01, 15 August 2015

O.png 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.10.0 is not yet announced. It is currently not released.

Changes from 0.9.2

Additions


Changed APIs


Renamed APIs


Removals


Bugfixes


Performance improvements


Other changes

  • Updated the compatibility warning notice to use a message box and to show the version specified in love.conf.
  • Updated the compatibility warning notice to display before main.lua is loaded.
  • Updated the __tostring metamethod of love objects to output the pointer value, similar to tostring(table).
  • Updated World:setCallbacks, World:setContactFilter, World:queryBoundingBox, and World:rayCast to have improved argument type checking.
  • Updated threads to load love.filesystem automatically.
  • Updated love.math.setRandomSeed and RandomGenerator:setSeed to produce better results for the first few random() calls.
  • Updated Source methods that deal with spatial audio to error rather than failing silently if the Source isn't mono.
  • Updated the 3D and 4D variants of love.math.noise to use Perlin noise rather than Simplex noise, to avoid patent issues.
  • Updated love.graphics.newImageFont to no longer treat separator pixels as spacing.
  • Updated the default font to use less memory.
  • Updated love.graphics color functions to automatically apply love.math.gammaToLinear to color values when gamma-correct rendering is enabled.
  • Updated the "normal" CanvasFormat to internally use "srgb" rather than "rgba8" when gamma-correct rendering is enabled.
  • Updated love.graphics.setColor to affect all drawn objects, including ParticleSystems, SpriteBatches, and Meshes, even when per-vertex or per-sprite colors are used.
  • Updated the default fullscreen type to be "desktop" rather than "exclusive".
  • Updated the minimum runtime system requirements of LOVE to require OpenGL 2.1 or OpenGL ES 2 support.
  • Updated the pixel shader effect function so screen_coords.y is 0 at the top of the screen instead of the bottom.
  • Updated Images to require setting the mipmaps flag to true on creation in order to use mipmaps.
  • Updated Images to allow mipmaps for non-power-of-two sizes.