Maximum Moss
Add:
- Add
lovr.headset.getSkeleton
. - Add
lovr.headset.animate
andanimated
flag tolovr.headset.newModel
. - Add
lovr.headset.wasPressed
andlovr.headset.wasReleased
. - Add
lovr.headset.getViewCount
,lovr.headset.getViewPose
,lovr.headset.getViewAngles
. - Add
beacon/1
,beacon/2
,beacon/3
, andbeacon/4
Devices. - Add
lovr.headset.getDisplayFrequency
. - Add
lovr.headset.getTime
. - Add a WebXR headset driver.
- Add a Pico headset driver.
- Add
lovr.keypressed
,lovr.keyreleased
, andlovr.textinput
callbacks. - Add
lovr.event.restart
,lovr.restart
callback, andarg.restart
for persisting data between restarts. - Add
lovr.resize
callback. - Add
lovr.log
callback. - Add
World:getColliders
. - Add
World:newMeshCollider
. - Add
Joint:setEnabled
andJoint:isEnabled
. - Add
Shape:setSensor
andShape:isSensor
. - Add
World:get/setResponseTime
,BallJoint:get/setResponseTime
, andDistanceJoint:get/setResponseTime
. - Add
World:get/setTightness
,BallJoint:get/setTightness
,DistanceJoint:get/setTightness
. - Add
lovr.graphics.getViewPose
andlovr.graphics.setViewPose
. - Add
lovr.graphics.getProjection
. - Add
t.graphics.debug
config flag. - Add
compute
limit tolovr.graphics.getLimits
. - Add
renderpasses
,buffers
,textures
,buffermemory
, andtexturememory
graphics stats. - Add
lovr.graphics.setColorMask
andlovr.graphics.getColorMask
. - Add
AudioStream:append
for procedural audio generation. - Add
SoundData:getBlob
andTextureData:getBlob
. - Add support for shadow sampler uniforms.
- Add
Texture:getCompareMode
andTexture:setCompareMode
. - Add
sampler2DMultiview
andtextureMultiview
helpers to shaders. - Add
highp
ShaderFlag. - Add
Shader:hasBlock
. - Add
Model:hasJoints
. - Add
:release
to all objects to immediately destroy them from Lua. - Add support for building with Lua 5.2, 5.3, and 5.4.
Change:
- Change physics module functions to accept vector objects.
- Change animated shaders to render properly with non-animated models.
- Change the desktop headset driver to rotate the controller based on mouse movement.
- Change the desktop headset driver to emit
lovr.focus
events when window focus changes. - Change the default headset clipping planes to
0.1
and100.0
on all backends. - Change
Thread:start
to accept arguments to pass to the Thread's function. - Change
Channel:peek
to return a second value indicating if a message was present. - Change
Microphone:getData
to take new count/destination/offset arguments. - Change
Mesh:setVertices
to accept aBlob
with vertex data. - Change
lovr.graphics.setProjection
to take a view index. - Change WebAssembly build to enable the thread module by default.
- Change the 1ms sleep in the run loop to a 0ms sleep.
- Change
Curve:render
to always return 2 points if the Curve is a line. - Change
Curve:render
to be faster. - Change
lovr.data.newTextureData
to allow filling in initial contents with a Blob. - Change
lovr.data.newTextureData
to accept a TextureData to clone. - Change
lovr.filesystem.getDirectoryItems
to omit.
and..
. - Change
lovr.filesystem.getDirectoryItems
to return sorted filenames. - Change
Shader:send
to return a boolean instead of erroring on failure. - Change
ShaderBlock:getShaderCode
to accept an optional namespace for accessing the block. - Change OBJ model loading to be faster.
- Change
Vec3:set
to accept aMat4
.
Fix:
- Fix many issues with the OpenXR headset driver.
- Fix an issue when restarting some projects that had multiple textures per draw.
- Fix an issue where OBJ models had no AABB.
- Fix an issue where
Channel:push
errored when a userdata was its only argument. - Fix a crash when passing
nil
tolovr.thread.newThread
. - Fix
lovr.data.newBlob(blob)
to properly copy data to the new Blob. - Fix an issue where textures could load upside down sometimes when using threads.
- Fix an issue with screen tearing on the bottom of the window on macOS.
- Fix an issue where
lovr.headset.getHands
returned an empty table on Linux. - Fix an issue with forced vsync breaking VR timing in new windows updates.
- Fix an issue where printing only whitespace characters would cause visual glitches.
- Fix several issues with stereo Shaders and Canvases on Android.
- Fix
lovr.graphics.getFeatures().compute
returningfalse
on Android. - Fix a confusing message when passing nothing to
lovr.graphics.points
/lovr.graphics.line
. - Fix issue with using Mesh attributes with integer types in shaders.
- Fix crash when using a
Blob
inShaderBlock:send
. - Fix
Thread:wait
on Windows.
Remove:
- Remove
webvr
headset driver (usewebxr
instead). - Remove
leap
headset driver (use the Ultraleap OpenXR API Layer instead). - Remove
oculusmobile
headset driver (usevrapi
instead). - Remove
SoundData:getPointer
andTextureData:getPointer
(use:getBlob
). - Remove
Source:resume
andlovr.audio.resume
(useSource:play
). - Remove
Source:rewind
andlovr.audio.rewind
(useSource:seek(0)
). - Remove
Source:isPaused
andSource:isStopped
(use:isPlaying
). - Remove
lovr.event.quit('restart')
variant. - Remove
t.hotkeys
config (uselovr.keypressed
andlovr.keyreleased
). - Remove
lovr.filesystem.getApplicationId
(uselovr.filesystem.getIdentity
). - Remove
anisotropic
FilterMode
(anisotropy can be used with any filter mode).