Difference between revisions of "0.10.0"

m (Added to love versions category, added WIP notice)
Line 45: Line 45:
 
=== Removals ===
 
=== Removals ===
 
* Removed love.filesystem.exists (use love.filesystem.isFile or love.filesystem.isDirectory instead.)
 
* Removed love.filesystem.exists (use love.filesystem.isFile or love.filesystem.isDirectory instead.)
 +
* Removed callback variant of love.filesystem.getDirectoryItems
 
* Removed the "wu" and "wd" constants for love.mousepressed (replaced by love.wheelmoved.)
 
* Removed the "wu" and "wd" constants for love.mousepressed (replaced by love.wheelmoved.)
 
* Removed the named mouse button constants (replaced by button numbers.)
 
* Removed the named mouse button constants (replaced by button numbers.)

Revision as of 23:50, 5 May 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

  • Added a (work-in-progress) iOS port.
  • Added the flag t.accelerometerjoystick to love.conf. Disables accelerometer-as-joystick functionality on mobile devices when false.
  • Added love.touch module. Note that it has important differences from the touch implementation in the LÖVE 0.9 Android and iOS ports.
  • Added love.touchpressed, love.touchreleased, and love.touchmoved.
  • Added love.filesystem.setRequirePath and love.filesystem.getRequirePath.
  • Added love.filedropped and love.directorydropped event callback functions.
  • Added love.lowmemory event callback function, called when the app is running out of memory on mobile operating systems.
  • Added love.wheelmoved event callback function (replaces "wu" and "wd" constants for love.mousepressed.)
  • Added love.mouse.hasCursor.
  • Added a boolean argument to love.mousepressed and love.mousereleased indicating whether the button event originated from a touch press.
  • Added more mouse button constants ("x3", "x4", and "x5".)
  • 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 love.graphics.getSupported (replaces love.graphics.isSupported.)
  • Added love.graphics.getSystemLimits (replaces love.graphics.getSystemLimit.)
  • Added love.graphics.stencil and love.graphics.setStencilTest (replaces love.graphics.setStencil.)
  • Added love.graphics.isActive.
  • Added color arguments to love.graphics.clear. It no longer always uses the background color value.
  • Added love.graphics.discard.
  • Added optional x/y/width/height arguments to Image:refresh and Canvas:newImageData.
  • Added Image:getFlags.
  • Added one- and two-channel Canvas formats: r8, rg8, r16f, rg16f, r32f, and rg32f.
  • Added support for different formats in each Canvas when using multi-canvas rendering. Added the "multicanvasformats" Graphics Feature constant.
  • Added support for OpenGL ES 2 and 3.
  • Added support for loading ETC1/2, EAC, and PVRTC1 compressed textures.
  • Added custom vertex attribute support for Meshes via new variants of love.graphics.newMesh.
  • Added Mesh:setVertexAttribute and Mesh:getVertexAttribute, Mesh:getVertexFormat, and Mesh:flush.
  • Added Mesh:setAttributeEnabled and Mesh:isAttributeEnabled.
  • Added Mesh:attachAttribute.
  • Added Text objects and love.graphics.newText.
  • Added BMFont bitmap font file support to love.graphics.newFont and love.font.
  • Added an optional font hinting argument to love.graphics.newFont when loading TrueType fonts.
  • Added an optional spacing argument to love.graphics.newImageFont, which applies additional spacing to all rendered glyphs.
  • Added love.window.maximize.
  • Added BezierCurve:renderSegment and BezierCurve:removePoint.
  • Added BezierCurve:getSegment.
  • Added love.math.compress and love.math.decompress.

Removals

  • Removed love.filesystem.exists (use love.filesystem.isFile or love.filesystem.isDirectory instead.)
  • Removed callback variant of love.filesystem.getDirectoryItems
  • Removed the "wu" and "wd" constants for love.mousepressed (replaced by love.wheelmoved.)
  • Removed the named mouse button constants (replaced by button numbers.)
  • Removed Source:isStatic (replaced by Source:getType.)
  • Removed image loading support for all (non-compressed texture) file formats except for PNG, JPEG, TGA, and BMP.
  • Removed love.graphics.setPointStyle and love.graphics.getPointStyle.
  • Removed love.graphics.isSupported (replaced by love.graphics.getSupported.)
  • Removed love.graphics.getSystemLimit (replaced by love.graphics.getSystemLimits.)
  • Removed love.graphics.setStencil (replaced by love.graphics.stencil and love.graphics.setStencilTest.)
  • Removed the "canvas", "shader", "npot", "subtractive", and "mipmap" Graphics Feature constant (the features always have guaranteed support now.)
  • Removed Canvas:getPixel (use Canvas:newImageData instead.)
  • Removed Canvas:clear (use love.graphics.clear instead.)
  • Removed Mesh:getVertices.
  • Removed Mesh:setVertexColors and Mesh:hasVertexColors (use Mesh:setAttributeEnabled("VertexColor", enable) instead.)
  • Removed functions deprecated in LOVE 0.9.x:
    • Removed Canvas:getType (replaced by Canvas:getFormat.)
    • Removed love.graphics.getMaxTextureSize/getMaxImageSize (replaced by love.graphics.getSystemLimits.)
    • Removed love.graphics.getMaxPointSize (replaced by love.graphics.getSystemLimits.)
    • Removed Mesh:set/getImage, SpriteBatch:set/getImage, and ParticleSystem:set/getImage (replaced by set/getTexture.)
    • Removed SpriteBatch:bind/unbind.
    • Removed Canvas:getFSAA and the "fsaa" flag in love.conf and love.window.setMode (replaced by Canvas:getMSAA and "msaa".)
    • Removed the "dxt" and "bc5" Graphics Feature constant (replaced by love.graphics.getCompressedImageFormats.)
    • Removed the "hdrcanvas" Graphics Feature constant (replaced by love.graphics.getCanvasFormats.)
    • Removed love.window.getWidth/getHeight (use love.graphics.getWidth/getHeight or love.window.getMode instead.)

Renamed APIs

  • Renamed the fullscreen type "normal" to "exclusive".
  • Renamed the Distance Model constants "inverse clamped", "linear clamped", and "exponent clamped" to "inverseclamped", "linearclamped", and "exponentclamped".
  • Renamed blend modes "additive", "subtractive", and "multiplicative" to "add", "subtract", and "multiply".
  • Renamed the key constant and scancode representing the spacebar from " " to "space".
  • Renamed File:eof to File:isEOF.
  • Renamed Canvas:getImageData to Canvas:newImageData.
  • Renamed love.image's CompressedData type to CompressedImageData.

Bugfixes

  • Fixed utf8.char.
  • Fixed love.keyboard.getKeyFromScancode crashing when an invalid scancode is given.
  • Fixed the stencil buffer in Canvases when an unsupported MSAA value is used to create the Canvas.
  • Fixed love.graphics.getColorMask.
  • Fixed the default offset for particles when ParticleSystem:setQuads or ParticleSystem:setTexture is used.
  • Fixed love.graphics.shear resetting all love.graphics transformations.

Other changes

  • Updated the compatibility warning notice to use a message box.
  • Updated the compatibility warning notice to display before main.lua is loaded.
  • 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 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 ImageFonts to no longer treat separator pixels as spacing.
  • 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 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 love.graphics.newImage's optional second argument to be a table of flags (flags are "mipmaps" and "srgb".)
  • 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.
  • Updated the arguments for the standard variants of love.graphics.newMesh. They're now newMesh(vertices [, drawmode, usage]) and newMesh(vertexcount [, drawmode, usage]).
  • Updated Mesh:setVertex to explicitly set every component of every attribute in the vertex, instead of having default values.