11.0 (日本語)
LÖVE 11.0 のコードネームは Mysterious Mysteries (ミステリアス・ミステリー) です。現在公開中です。
0.10.2 からの変更点
機能追加
- 結合型実行形式 (fused) ではないゲームのデフォルト動作として、公式廃止予定機能への警告表示を追加。
- love.setDeprecationOutput および love.hasDeprecationOutput の追加。
- Object:release の追加。
- Data:clone の追加。
- 待ち行列型の音声 Sources を追加。
- マイクによる録音機能の追加。
- love.audio の Source へローパス、ハイパス、バンドパスフィルタを追加。
- 音声エフェクト API の追加 (リバーブ、エコーなど)。
- SoundData:getSample および SoundData:setSample において channel インデックス引数へ対応した異形を追加。
- love.audio.play, love.audio.pause, および love.audio.stop において Source リストへ対応した異形を追加。
- love.system.hasBackgroundMusic の追加。
- Added variants of all table-with-fields-returning get* functions, the new variants take an existing table to fill in.
- Added a variant to World:update for controlling the number of internal iterations to perform.
- Body:isTouching の追加。
- RopeJoint:setMaxLength の追加。
- Added a click count argument to love.mousepressed and love.mousereleased.
- Added variants of love.filesystem.mount which accept a Data or FileData object containing zipped data.
- love.filesystem.getInfo の追加 (love.filesystem.exists / isFile / isDirectory / isSymlink / getLastModified / getSize から変更)。
- Added love.filesystem.setCRequirePath and love.filesystem.getCRequirePath, and use that to find C libraries for require.
- Added variants of File:read and love.filesystem.read which take an enum to determine whether they return a FileData or a string.
- Added Channel:hasRead, which checks if a message has been read. Takes an id, which Channel:push will now return.
- Channel:demand および Channel:supply において timeout 引数へ対応した異形を追加。
- メインスレッドのエラーを収集するためのコードをデフォルトの love.threaderror コールバックへ追加。
- love.data モジュールの追加。 Hex/Base64 形式の エンコーディング関数、MD5 および SHA ハッシュ、文字列のパック、圧縮 API などを実装してあります。
- love.math へ Transform オブジェクトを追加
- Added support for different ImageData PixelFormats, including RGBA8 (the default), RGBA16, RGBA16F, and RGBA32F.
- Added the ability to load Radiance HDR, OpenEXR, and 16 bit PNG images.
- love.graphics.getImageFormats の追加 (love.graphics.getCompressedImageFormats から変更)。
- Added the ability to specify a per-object pixel density scale factor when creating Images, Canvases, Fonts, and Videos. Affects drawing.
- Texture:getPixelWidth, Texture:getPixelHeight, love.graphics.getPixelWidth, および love.graphics.getPixelHeight の追加。
- Texture:getDPIScale, love.graphics.getDPIScale, および Font:getDPIScale の追加。
- Texture:getMipmapCount, getFormat, getLayerCount, getDepth, および getTextureType の追加。
- Added Array, Cubemap, and Volume TextureTypes and corresponding Texture APIs.
- love.graphics.newArrayImage, newVolumeImage, newCubeImage, および love.graphics.newCanvas の異形において各種テクスチャ形式の作成機能を追加。
- Added love.graphics.getTextureTypes, which returns a table with fields indicating support for each TextureType.
- Image:replacePixels の追加 (Image:refresh から変更)。
- Added love.graphics.drawLayer, SpriteBatch:addLayer, and SpriteBatch:setLayer for easily drawing layers of Array Textures
- Added variants of love.graphics.print and love.graphics.printf which take a Font argument.
- Added mipmapping support to Canvases, including both auto-generated mipmaps and manually rendering to a specific mipmap level.
- Canvas 用に 'stencil8', 'depth24stencil8', 'depth32fstencil8', 'depth16', 'depth24', および 'depth32f' 形式の PixelFormat を追加。
- love.graphics.newCanvas において table settings 引数へ対応した異形を追加。
- Added optional 'readable' boolean field to the table passed into love.graphics.newCanvas.
- Added variant of love.graphics.getCanvasFormats which takes a 'readable' boolean.
- Added optional 'depthstencil' field to the table passed into love.graphics.setCanvas, for using a depth/stencil formatted Canvas when rendering.
- Added optional 'depth' and 'stencil' boolean fields to the table passed into love.graphics.setCanvas, for enabling internal depth and stencil buffers if 'depthstencil' isn't used.
- Canvas へ シャドウ・サンプラーの対応を追加。
- Added love.graphics.setDepthMode for using the depth buffer for depth testing/writes. Depth values of rendered objects can currently only be set via shaders.
- Added love.graphics.setMeshCullMode, for culling back- or front-facing triangles when drawing a Mesh.
- love.graphics.setFrontFaceWinding の追加。
- Added variants of love.graphics.clear to control how the active depth and stencil buffers are cleared.
- love.graphics.applyTransform および love.graphics.replaceTransform の追加。
- love.graphics.transformPoint および love.graphics.inverseTransformPoint の追加。
- love.graphics.getStackDepth の追加。
- Added love.graphics.flushBatch for manually flushing automatically batched draws.
- SpriteBatch:setDrawRange の追加。
- love.graphics.newShader において File および FileData へ対応した異形を追加。
- Added per-Shader opt in support for the GLSL 3.30 and GLSL ES 3.00 shading languages.
- ピクセルシェーダーのエントリポイント として 'void effect()' を追加。
- love.graphics.validateShader の追加。
- Shader:hasUniform の追加 (Shader:getExternVariable から変更) 。
- Added support for non-square Shader uniform matrices on desktop platforms and on mobile GLSL 3.
- テーブル形式による matrix 引数の解釈方法を指定するために Shader:send(matrixname, matrixlayout, matrix, ...) を追加。
- Shader:send において Data オブジェクトへ対応した異形を追加。
- ParticleSystem へ 'borderellipse' and 'borderrectangle' 方式の分布を追加。
- パーティクルの射出領域中心に関連する方向による領域の角度とフラグを扱うために ParticleSystem:setEmissionArea の異形を追加。
- love.graphics.captureScreenshot の追加 (love.graphics.newScreenshot から変更)。
- love.graphics.newScreenshot へ 'glsl3', 'instancing', 'fullnpot','pixelshaderhighp', および 'shaderderivatives' を追加。
- GraphicsLimit へ 'anisotropy' グラフィックス方式を追加。
- love.graphics.getStats へ 'drawcallsbatched' フィールドを追加。
- love.graphics.drawInstanced と新規実装した Mesh:attachAttribute 異形において、ハードウェアによる Mesh のインスタンス化機能を追加。
- 各種対象属性名を扱うために Mesh:attachAttribute の異形を追加。
- Mesh:detachAttribute の追加。
- Mesh:setVertexMap において Data オブジェクトへ対応した異形を追加。
- 構成ファイル の
t.window
フラグと love.window.setMode により love で ステンシルバッファの生成を防止する機能を追加。 - love.window.updateMode の追加。
- love.window.isMinimized の追加。
- love.window.restore の追加。
- ヘッダなし DEFLATE (デフレート) の対応を love.data.compress/decompress へ追加。
API の改名
1.10 で改名された API は次回のメジャーリリースまでに削除または廃止予定になります。
- love.window.getPixelScale から love.window.getDPIScale へ改名。
- love.mouse.hasCursor から love.mouse.isCursorSupported へ改名。
- ParticleSystem:setAreaSpread から ParticleSystem:setEmissionArea へ改名。
- love.errhand から love.errorhandler へ改名。 love.errhand は定義されているが love.errorhandler が定義されてない場合でも、動作を継続します。
- Source/SoundData/Decoder:getChannels から Source/SoundData/Decoder:getChannelCount へ改名。
- PrismaticJoint:hasLimitsEnabled および RevoluteJoint:hasLimitsEnabled から PrismaticJoint:areLimitsEnabled および RevoluteJoint:areLimitsEnabled へ改名。
- love.audio.getSourceCount から love.audio.getActiveSourceCount へ改名。
- get[Object]List 関数一式を get[Object] へ改名。
その他の廃止予定
- love.filesystem.exists / isFile / isDirectory / isSymlink / getLastModified / getSize の廃止予定 (今後は love.filesystem.getInfo をお使いください)。
- love.math.compress / decompress の廃止予定 (今後は love.data.compress / decompress をお使いください)。
機能廃止
- love.audio.newSource のデフォルト Source 方式を廃止。
- Source:isStopped および Source:isPaused を廃止。今後は Source:isPlaying をお使いください。
- Source:rewind を廃止。今後は Source:stop または Source:seek(0) をお使いください。
- Source:resume および love.audio.resume を廃止。今後は Source:play および love.audio.play をお使いください。
- love.filesystem.newFileData において Base64 形式のデータに対応した異形を廃止。今後は love.data.decode をお使いください。
- Text:set において引数無しに対応した異形を廃止。今後は Text:clear をお使いください。
- Image:getData および Image:refresh を廃止。今後は Image:replacePixels をお使いください。
- love.graphics.getCompressedImageFormats を廃止。今後は love.graphics.getImageFormats をお使いください。
- ピクセルシェーダーのエントリポイント である 'void effects(...)' を廃止。今後は新たに実装した 'void effect()' をお使いください。
- Shader:getExternVariable を廃止。今後は Shader:hasUniform をお使いください。
- love.graphics.newScreenshot を廃止。今後は love.graphics.captureScreenshot をお使いください。
- SpriteBatch:setBufferSize の廃止。現在の実装では SpriteBatche は空き容量不足になったときに自動的に容量を確保します。
- 廃止予定入りしていた enet 関数にある host:socket_get_address を廃止。
- LÖVE 0.10.2 で廃止予定入りした関数の削除:
- 説明書に記載されていない Shader:sendInt, Shader:sendBoolean, Shader:sentFloat, Shader:sendMatrix, および Shader:sendTexture メソッドを廃止 (今後は Shader:send をお使いください)。
- love.window.isCreated を廃止 (今後は love.window.isOpen をお使いください)。
その他の変更
- Windows XP への公式対応を終了しました。
- 色値表現の有効範囲を 0 ~ 255 (8-bit) から 0.0 ~ 1.0 (10-bit HDR) へ変更しました。この変更は下記の関数に影響を及ぼします:
- love.graphics.setColor, love.graphics.getColor, love.graphics.setBackgroundColor, および love.graphics.getBackgroundColor
- SpriteBatch:setColor および SpriteBatch:getColor
- ParticleSystem:setColors および ParticleSystem:getColors
- love.graphics.clear
- love.graphics.newMesh, Mesh:setVertex, および Mesh:getVertex
- love.graphics.print, love.graphics.printf, love.graphics.newText, Text:set, Text:setf, Text:add, および Text:addf の色つきテキストによる異形。
- Shader:sendColor
- love.graphics.points
- ImageData:setPixel, ImageData:getPixel, および ImageData:mapPixel
- love.math.gammaToLinear および love.math.linearToGamma
- Changed high-dpi functionality to require much less code (often none at all) for graphics to appear at the correct sizes and positions.
- love.graphics.print と関連関数でキャリッジリターンを無視するために更新。
- Changed the 'multiply' BlendMode to error if not used with the 'premultiplied' BlendAlphaMode, since the formula only works with that anyway.
- Changed the matrix variant of Shader:send to interpret the matrix as row-major by default, instead of column-major.
- Changed the variant of Canvas:newImageData which accepts x/y/width/height to also require slice and mipmap index parameters, which are used when the Canvas isn't a 2D type or has mipmaps.
- Changed some love.graphics, love.window, and love.event APIs to cause an error if a Canvas is active.
- Changed stenciling functionality with a Canvas active to require stencil=true (or a custom stencil-formatted Canvas) to be set in love.graphics.setCanvas.
- Changed Mesh:setDrawRange to take 'start' and 'count' parameters instead of 'min' and 'max'.
- Changed the variant of love.image.newImageData which takes dimension arguments to take an optional PixelFormat argument as well.
- Changed the 'vsync' field of love.window.setMode and t.window in Config Files. It's now an integer with 0 disabling vsync.
- Changed Channel and love.event.push table serialization to accept non-flat tables and detect cycles, cycles now cause an error rather than a stack overflow.
- Changed Sources to either be playing or not playing, rather than playing, paused, or stopped. Source:stop now pauses and rewinds the Source.
- Changed love.audio.pause() to return a list of Sources that have been paused by that call.
- Changed Source seeking behaviour, all kinds of Sources now behave similarly when seeking past the boundaries.
- Changed love.timer.step to return the calculated delta time.
- Changed love.run and love.errorhandler to return a function for their main loop, which gets called until love quits.
- Changed enet to no longer set the 'enet' global.
- Changed love.keyboard.isDown and love.keyboard.isScancodeDown to error if an invalid enum value is given.
- コマンドライン引数の処理方法に関する改善と更新。
- Updated the boot sequence to show an error instead of the no-game screen, if a nonexistant folder is passed in as the source game directory.
- Updated 'love.exe --version' on Windows to print to the parent console.
- Updated Android print rerouting and JIT compilation disabling to apply inside threads.
- Updated invalid enum value error messages to show a list of the valid enum values.
- Updated Source:seek to work if the Source isn't playing.
- Updated love.math.random to have improved numeric distribution.
- Updated love.graphics to support Core Profile OpenGL 3.3+ when available.
- Updated SpriteBatches to automatically grow their buffer when they run out of space.
- Updated Shaders to always expose derivative functions (dFdx, dFdy, fwidth) when available in OpenGL ES.
- Updated Shaders to allow using VERTEX and PIXEL as variable names in shader code.
- Updated love.graphics.circle, love.graphics.ellipse, love.graphics.arc, and love.graphics.rectangle to take transformation scale into account when determining the number of segments to use.
- love.graphics.line へ不正値が指定されたときのエラーメッセージを更新しました。
- Updated Font glyph generation to improve antialiasing.
- Updated Canvas:newImageData to return an ImageData with a format that matches the Canvas' as closely as possible.
- Updated love.graphics.newImage to treat file names ending with "@2x", "@3x", etc. as a pixel density scale factor if none is explicitly supplied.
- Updated the maximum love.graphics transformation/state stack depth from 64 to 128.
- Updated the default error handler to allow copying the error to the clipboard when the user decides to do so.
- Updated love.filesystem.setRequirePath to support multiple template '?' characters in each path.
- luasocket を version 3.0rc1 へ更新。
- Updated love.joystick.loadGamepadMappings so it doesn't error when given an empty string.
- Updated love.joystick.setGamepadMapping to use the controller's name for the new mapping when possible.
性能の改善
- Improved performance when drawing Textures, shapes, lines, and points by automatically batching their draw calls together when possible.
- Shader 無効時における Shader:send の性能を改善。
- LuaJIT の JIT コンパイラ有効時における love.math.randomNormal に実行性能を改善。
- Improved performance of love.filesystem.lines and File:lines, especially when reading from a file inside a zip/.love.
不具合修正
- エラーメッセージに非 UTF-8 バイトがあるとき、デフォルトのエラーハンドラでエラーが発生していた不具合を修正。
- Object モジュールが読み込まれていないスレッドへ love の Object を送信するときにメモリリークが発生した不具合を修正。
- peer:send の失敗時に enet でメモリリークが発生していた不具合を修正。
- Linux では必ず -1 を返すように os.execute を修正。
- WeldJoint, PrismaticJoint, および RevoluteJoint のデフォルト基準角度を修正。
- Fixed Fixture:getShape to reuse the existing internal Fixture-owned Shape.
- MouseJoint:setFrequency で振動数 0 を設定する場合、エラーにならずに異常終了する不具合を修正。
- Fixed love.system.setClipboardText and love.system.getClipboardText to error instead of crashing, when a window hasn't been created.
- Joystick:getGamepadMapping で xinput コントローラが正常に動作しなかった不具合を修正。
- love.joystick.setGamepadMapping の変換コードを修正。
- テキストレンダリング時の基線計算方法を修正。
- Shader:send および Shader:sendColor で配列にある最後の引数を無視していた不具合を修正。
- Fixed VaryingTexCoords and love_ScreenSize in shaders to be 'highp' in OpenGL ES, when supported.
- 座標変換スタックが空ではないとき、 love.graphics.pop の後に love.window.setMode を呼び出してしまうと異常終了する不具合を修正。
- ParticleSystem:setParticleLifetime で負数値が指定されたときにエラーが発生したのを修正。
- love.window.isMaximized の不具合を修正。
- Fixed Video playback to work with a wider range of Ogg Theora files.
- Video のシーク処理速度を修正。
- BezierCurve において特定の状況下でエラーにならず処理されてしまう不具合を修正。
- 新しい LuaJIT 2.1.0 β 版に収録されている luasocket でコンパイルした時の不具合を修正。