summaryrefslogtreecommitdiff
path: root/meta/3rd
diff options
context:
space:
mode:
Diffstat (limited to 'meta/3rd')
-rw-r--r--meta/3rd/love2d/library/love.audio.lua4
-rw-r--r--meta/3rd/love2d/library/love.filesystem.lua4
-rw-r--r--meta/3rd/love2d/library/love.font.lua2
-rw-r--r--meta/3rd/love2d/library/love.graphics.lua84
-rw-r--r--meta/3rd/love2d/library/love.image.lua10
-rw-r--r--meta/3rd/love2d/library/love.joystick.lua6
-rw-r--r--meta/3rd/love2d/library/love.math.lua12
-rw-r--r--meta/3rd/love2d/library/love.physics.lua4
-rw-r--r--meta/3rd/love2d/library/love.sound.lua4
-rw-r--r--meta/3rd/love2d/library/love.thread.lua6
-rw-r--r--meta/3rd/lovr/library/lovr.data.lua10
-rw-r--r--meta/3rd/lovr/library/lovr.graphics.lua48
-rw-r--r--meta/3rd/lovr/library/lovr.math.lua90
-rw-r--r--meta/3rd/lovr/library/lovr.physics.lua6
14 files changed, 145 insertions, 145 deletions
diff --git a/meta/3rd/love2d/library/love.audio.lua b/meta/3rd/love2d/library/love.audio.lua
index e287469c..0d8b3296 100644
--- a/meta/3rd/love2d/library/love.audio.lua
+++ b/meta/3rd/love2d/library/love.audio.lua
@@ -503,7 +503,7 @@ function Source:setDirection(x, y, z) end
---
---The effect must have been previously defined using love.audio.setEffect.
---
----@overload fun(name: string, filtersettings: table):boolean
+---@overload fun(self: love.Source, name: string, filtersettings: table):boolean
---@param name string # The name of the effect previously set up with love.audio.setEffect.
---@param enable? boolean # If false and the given effect name was previously enabled on this Source, disables the effect.
---@return boolean success # Whether the effect was successfully applied to this Source.
@@ -512,7 +512,7 @@ function Source:setEffect(name, enable) end
---
---Sets a low-pass, high-pass, or band-pass filter to apply when playing the Source.
---
----@overload fun()
+---@overload fun(self: love.Source)
---@param settings {type: love.FilterType, volume: number, highgain: number, lowgain: number} # The filter settings to use for this Source, with the following fields:
---@return boolean success # Whether the filter was successfully applied to the Source.
function Source:setFilter(settings) end
diff --git a/meta/3rd/love2d/library/love.filesystem.lua b/meta/3rd/love2d/library/love.filesystem.lua
index 5925539a..4c4a8f4e 100644
--- a/meta/3rd/love2d/library/love.filesystem.lua
+++ b/meta/3rd/love2d/library/love.filesystem.lua
@@ -354,7 +354,7 @@ function File:open(mode) end
---
---Read a number of bytes from a file.
---
----@overload fun(container: love.ContainerType, bytes: number):love.FileData|string, number
+---@overload fun(self: love.File, container: love.ContainerType, bytes: number):love.FileData|string, number
---@param bytes? number # The number of bytes to read.
---@return string contents # The contents of the read bytes.
---@return number size # How many bytes have been read.
@@ -387,7 +387,7 @@ function File:tell() end
---
---Write data to a file.
---
----@overload fun(data: love.Data, size: number):boolean, string
+---@overload fun(self: love.File, data: love.Data, size: number):boolean, string
---@param data string # The string data to write.
---@param size? number # How many bytes to write.
---@return boolean success # Whether the operation was successful.
diff --git a/meta/3rd/love2d/library/love.font.lua b/meta/3rd/love2d/library/love.font.lua
index f2eaf2a3..3d2e31a6 100644
--- a/meta/3rd/love2d/library/love.font.lua
+++ b/meta/3rd/love2d/library/love.font.lua
@@ -155,7 +155,7 @@ function Rasterizer:getGlyphCount() end
---
---Gets glyph data of a specified glyph.
---
----@overload fun(glyphNumber: number):love.GlyphData
+---@overload fun(self: love.Rasterizer, glyphNumber: number):love.GlyphData
---@param glyph string # Glyph
---@return love.GlyphData glyphData # Glyph data
function Rasterizer:getGlyphData(glyph) end
diff --git a/meta/3rd/love2d/library/love.graphics.lua b/meta/3rd/love2d/library/love.graphics.lua
index 5498c480..d2f8c7d8 100644
--- a/meta/3rd/love2d/library/love.graphics.lua
+++ b/meta/3rd/love2d/library/love.graphics.lua
@@ -1087,7 +1087,7 @@ function Canvas:getMipmapMode() end
---
---Generates ImageData from the contents of the Canvas.
---
----@overload fun(slice: number, mipmap: number, x: number, y: number, width: number, height: number):love.ImageData
+---@overload fun(self: love.Canvas, slice: number, mipmap: number, x: number, y: number, width: number, height: number):love.ImageData
---@return love.ImageData data # The new ImageData made from the Canvas' contents.
function Canvas:newImageData() end
@@ -1176,7 +1176,7 @@ function Font:getHeight() end
---
---Kerning is normally handled automatically in love.graphics.print, Text objects, Font:getWidth, Font:getWrap, etc. This function is useful when stitching text together manually.
---
----@overload fun(leftglyph: number, rightglyph: number):number
+---@overload fun(self: love.Font, leftglyph: number, rightglyph: number):number
---@param leftchar string # The left character.
---@param rightchar string # The right character.
---@return number kerning # The kerning amount to add to the spacing between the two characters. May be negative.
@@ -1211,8 +1211,8 @@ function Font:getWrap(text, wraplimit) end
---
---Gets whether the Font can render a character or string.
---
----@overload fun(character1: string, character2: string):boolean
----@overload fun(codepoint1: number, codepoint2: number):boolean
+---@overload fun(self: love.Font, character1: string, character2: string):boolean
+---@overload fun(self: love.Font, codepoint1: number, codepoint2: number):boolean
---@param text string # A UTF-8 encoded unicode string.
---@return boolean hasglyph # Whether the font can render all the UTF-8 characters in the string.
function Font:hasGlyphs(text) end
@@ -1279,7 +1279,7 @@ local Mesh = {}
---
---Attaches a vertex attribute from a different Mesh onto this Mesh, for use when drawing. This can be used to share vertex attribute data between several different Meshes.
---
----@overload fun(name: string, mesh: love.Mesh, step: love.VertexAttributeStep, attachname: string)
+---@overload fun(self: love.Mesh, name: string, mesh: love.Mesh, step: love.VertexAttributeStep, attachname: string)
---@param name string # The name of the vertex attribute to attach.
---@param mesh love.Mesh # The Mesh to get the vertex attribute from.
function Mesh:attachAttribute(name, mesh) end
@@ -1315,7 +1315,7 @@ function Mesh:getTexture() end
---
---In versions prior to 11.0, color and byte component values were within the range of 0 to 255 instead of 0 to 1.
---
----@overload fun(index: number):number, number, number, number, number, number, number, number
+---@overload fun(self: love.Mesh, index: number):number, number, number, number, number, number, number, number
---@param index number # The one-based index of the vertex you want to retrieve the information for.
---@return number attributecomponent # The first component of the first vertex attribute in the specified vertex.
function Mesh:getVertex(index) end
@@ -1374,7 +1374,7 @@ function Mesh:setDrawMode(mode) end
---
---Restricts the drawn vertices of the Mesh to a subset of the total.
---
----@overload fun()
+---@overload fun(self: love.Mesh)
---@param start number # The index of the first vertex to use when drawing, or the index of the first value in the vertex map to use if one is set for this Mesh.
---@param count number # The number of vertices to use when drawing, or number of values in the vertex map to use if one is set for this Mesh.
function Mesh:setDrawRange(start, count) end
@@ -1382,7 +1382,7 @@ function Mesh:setDrawRange(start, count) end
---
---Sets the texture (Image or Canvas) used when drawing the Mesh.
---
----@overload fun()
+---@overload fun(self: love.Mesh)
---@param texture love.Texture # The Image or Canvas to texture the Mesh with when drawing.
function Mesh:setTexture(texture) end
@@ -1391,9 +1391,9 @@ function Mesh:setTexture(texture) end
---
---In versions prior to 11.0, color and byte component values were within the range of 0 to 255 instead of 0 to 1.
---
----@overload fun(index: number, vertex: table)
----@overload fun(index: number, x: number, y: number, u: number, v: number, r: number, g: number, b: number, a: number)
----@overload fun(index: number, vertex: table)
+---@overload fun(self: love.Mesh, index: number, vertex: table)
+---@overload fun(self: love.Mesh, index: number, x: number, y: number, u: number, v: number, r: number, g: number, b: number, a: number)
+---@overload fun(self: love.Mesh, index: number, vertex: table)
---@param index number # The index of the the vertex you want to modify (one-based).
---@param attributecomponent number # The first component of the first vertex attribute in the specified vertex.
function Mesh:setVertex(index, attributecomponent) end
@@ -1414,16 +1414,16 @@ function Mesh:setVertexAttribute(vertexindex, attributeindex, value1, value2) en
---
---The vertex map allows you to re-order or reuse vertices when drawing without changing the actual vertex parameters or duplicating vertices. It is especially useful when combined with different Mesh Draw Modes.
---
----@overload fun(vi1: number, vi2: number, vi3: number)
----@overload fun(data: love.Data, datatype: love.IndexDataType)
+---@overload fun(self: love.Mesh, vi1: number, vi2: number, vi3: number)
+---@overload fun(self: love.Mesh, data: love.Data, datatype: love.IndexDataType)
---@param map table # A table containing a list of vertex indices to use when drawing. Values must be in the range of Mesh:getVertexCount().
function Mesh:setVertexMap(map) end
---
---Replaces a range of vertices in the Mesh with new ones. The total number of vertices in a Mesh cannot be changed after it has been created. This is often more efficient than calling Mesh:setVertex in a loop.
---
----@overload fun(data: love.Data, startvertex: number)
----@overload fun(vertices: table)
+---@overload fun(self: love.Mesh, data: love.Data, startvertex: number)
+---@overload fun(self: love.Mesh, vertices: table)
---@param vertices {attributecomponent: number} # The table filled with vertex information tables for each vertex, in the form of {vertex, ...} where each vertex is a table in the form of {attributecomponent, ...}.
---@param startvertex? number # The index of the first vertex to replace.
function Mesh:setVertices(vertices, startvertex) end
@@ -1774,7 +1774,7 @@ function ParticleSystem:setPosition(x, y) end
---
---Sets a series of Quads to use for the particle sprites. Particles will choose a Quad from the list based on the particle's current lifetime, allowing for the use of animated sprite sheets with ParticleSystems.
---
----@overload fun(quads: table)
+---@overload fun(self: love.ParticleSystem, quads: table)
---@param quad1 love.Quad # The first Quad to use.
---@param quad2 love.Quad # The second Quad to use.
function ParticleSystem:setQuads(quad1, quad2) end
@@ -1949,14 +1949,14 @@ function Shader:hasUniform(name) end
---
---Uniform / extern variables are read-only in the shader code and remain constant until modified by a Shader:send call. Uniform variables can be accessed in both the Vertex and Pixel components of a shader, as long as the variable is declared in each.
---
----@overload fun(name: string, vector: table, ...)
----@overload fun(name: string, matrix: table, ...)
----@overload fun(name: string, texture: love.Texture)
----@overload fun(name: string, boolean: boolean, ...)
----@overload fun(name: string, matrixlayout: love.MatrixLayout, matrix: table, ...)
----@overload fun(name: string, data: love.Data, offset: number, size: number)
----@overload fun(name: string, data: love.Data, matrixlayout: love.MatrixLayout, offset: number, size: number)
----@overload fun(name: string, matrixlayout: love.MatrixLayout, data: love.Data, offset: number, size: number)
+---@overload fun(self: love.Shader, name: string, vector: table, ...)
+---@overload fun(self: love.Shader, name: string, matrix: table, ...)
+---@overload fun(self: love.Shader, name: string, texture: love.Texture)
+---@overload fun(self: love.Shader, name: string, boolean: boolean, ...)
+---@overload fun(self: love.Shader, name: string, matrixlayout: love.MatrixLayout, matrix: table, ...)
+---@overload fun(self: love.Shader, name: string, data: love.Data, offset: number, size: number)
+---@overload fun(self: love.Shader, name: string, data: love.Data, matrixlayout: love.MatrixLayout, offset: number, size: number)
+---@overload fun(self: love.Shader, name: string, matrixlayout: love.MatrixLayout, data: love.Data, offset: number, size: number)
---@param name string # Name of the number to send to the shader.
---@param number number # Number to send to store in the uniform variable.
function Shader:send(name, number) end
@@ -1991,7 +1991,7 @@ local SpriteBatch = {}
---
---Adds a sprite to the batch. Sprites are drawn in the order they are added.
---
----@overload fun(quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):number
+---@overload fun(self: love.SpriteBatch, quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):number
---@param x number # The position to draw the object (x-axis).
---@param y number # The position to draw the object (y-axis).
---@param r? number # Orientation (radians).
@@ -2007,9 +2007,9 @@ function SpriteBatch:add(x, y, r, sx, sy, ox, oy, kx, ky) end
---
---Adds a sprite to a batch created with an Array Texture.
---
----@overload fun(layerindex: number, quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):number
----@overload fun(layerindex: number, transform: love.Transform):number
----@overload fun(layerindex: number, quad: love.Quad, transform: love.Transform):number
+---@overload fun(self: love.SpriteBatch, layerindex: number, quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):number
+---@overload fun(self: love.SpriteBatch, layerindex: number, transform: love.Transform):number
+---@overload fun(self: love.SpriteBatch, layerindex: number, quad: love.Quad, transform: love.Transform):number
---@param layerindex number # The index of the layer to use for this sprite.
---@param x? number # The position to draw the sprite (x-axis).
---@param y? number # The position to draw the sprite (y-axis).
@@ -2080,7 +2080,7 @@ function SpriteBatch:getTexture() end
---
---Changes a sprite in the batch. This requires the sprite index returned by SpriteBatch:add or SpriteBatch:addLayer.
---
----@overload fun(spriteindex: number, quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
+---@overload fun(self: love.SpriteBatch, spriteindex: number, quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
---@param spriteindex number # The index of the sprite that will be changed.
---@param x number # The position to draw the object (x-axis).
---@param y number # The position to draw the object (y-axis).
@@ -2100,7 +2100,7 @@ function SpriteBatch:set(spriteindex, x, y, r, sx, sy, ox, oy, kx, ky) end
---
---In version 0.9.2 and older, the global color set with love.graphics.setColor will not work on the SpriteBatch if any of the sprites has its own color.
---
----@overload fun()
+---@overload fun(self: love.SpriteBatch)
---@param r number # The amount of red.
---@param g number # The amount of green.
---@param b number # The amount of blue.
@@ -2110,7 +2110,7 @@ function SpriteBatch:setColor(r, g, b, a) end
---
---Restricts the drawn sprites in the SpriteBatch to a subset of the total.
---
----@overload fun()
+---@overload fun(self: love.SpriteBatch)
---@param start number # The index of the first sprite to draw. Index 1 corresponds to the first sprite added with SpriteBatch:add.
---@param count number # The number of sprites to draw.
function SpriteBatch:setDrawRange(start, count) end
@@ -2118,9 +2118,9 @@ function SpriteBatch:setDrawRange(start, count) end
---
---Changes a sprite previously added with add or addLayer, in a batch created with an Array Texture.
---
----@overload fun(spriteindex: number, layerindex: number, quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
----@overload fun(spriteindex: number, layerindex: number, transform: love.Transform)
----@overload fun(spriteindex: number, layerindex: number, quad: love.Quad, transform: love.Transform)
+---@overload fun(self: love.SpriteBatch, spriteindex: number, layerindex: number, quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
+---@overload fun(self: love.SpriteBatch, spriteindex: number, layerindex: number, transform: love.Transform)
+---@overload fun(self: love.SpriteBatch, spriteindex: number, layerindex: number, quad: love.Quad, transform: love.Transform)
---@param spriteindex number # The index of the existing sprite to replace.
---@param layerindex number # The index of the layer in the Array Texture to use for this sprite.
---@param x? number # The position to draw the sprite (x-axis).
@@ -2149,7 +2149,7 @@ local Text = {}
---
---Adds additional colored text to the Text object at the specified position.
---
----@overload fun(coloredtext: table, x: number, y: number, angle: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):number
+---@overload fun(self: love.Text, coloredtext: table, x: number, y: number, angle: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):number
---@param textstring string # The text to add to the object.
---@param x? number # The position of the new text on the x-axis.
---@param y? number # The position of the new text on the y-axis.
@@ -2168,7 +2168,7 @@ function Text:add(textstring, x, y, angle, sx, sy, ox, oy, kx, ky) end
---
---The word wrap limit is applied before any scaling, rotation, and other coordinate transformations. Therefore the amount of text per line stays constant given the same wrap limit, even if the scale arguments change.
---
----@overload fun(coloredtext: table, wraplimit: number, align: love.AlignMode, x: number, y: number, angle: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):number
+---@overload fun(self: love.Text, coloredtext: table, wraplimit: number, align: love.AlignMode, x: number, y: number, angle: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):number
---@param textstring string # The text to add to the object.
---@param wraplimit number # The maximum width in pixels of the text before it gets automatically wrapped to a new line.
---@param align love.AlignMode # The alignment of the text.
@@ -2192,7 +2192,7 @@ function Text:clear() end
---
---Gets the width and height of the text in pixels.
---
----@overload fun(index: number):number, number
+---@overload fun(self: love.Text, index: number):number, number
---@return number width # The width of the text. If multiple sub-strings have been added with Text:add, the width of the last sub-string is returned.
---@return number height # The height of the text. If multiple sub-strings have been added with Text:add, the height of the last sub-string is returned.
function Text:getDimensions() end
@@ -2206,21 +2206,21 @@ function Text:getFont() end
---
---Gets the height of the text in pixels.
---
----@overload fun(index: number):number
+---@overload fun(self: love.Text, index: number):number
---@return number height # The height of the text. If multiple sub-strings have been added with Text:add, the height of the last sub-string is returned.
function Text:getHeight() end
---
---Gets the width of the text in pixels.
---
----@overload fun(index: number):number
+---@overload fun(self: love.Text, index: number):number
---@return number width # The width of the text. If multiple sub-strings have been added with Text:add, the width of the last sub-string is returned.
function Text:getWidth() end
---
---Replaces the contents of the Text object with a new unformatted string.
---
----@overload fun(coloredtext: table)
+---@overload fun(self: love.Text, coloredtext: table)
---@param textstring string # The new string of text to use.
function Text:set(textstring) end
@@ -2233,7 +2233,7 @@ function Text:setFont(font) end
---
---Replaces the contents of the Text object with a new formatted string.
---
----@overload fun(coloredtext: table, wraplimit: number, align: love.AlignMode)
+---@overload fun(self: love.Text, coloredtext: table, wraplimit: number, align: love.AlignMode)
---@param textstring string # The new string of text to use.
---@param wraplimit number # The maximum width in pixels of the text before it gets automatically wrapped to a new line.
---@param align love.AlignMode # The alignment of the text.
@@ -2399,7 +2399,7 @@ function Texture:setFilter(min, mag, anisotropy) end
---
---Due to hardware restrictions and driver bugs, in versions prior to 0.10.0 images that weren't loaded from a CompressedData must have power-of-two dimensions (64x64, 512x256, etc.) to use mipmaps.
---
----@overload fun()
+---@overload fun(self: love.Texture)
---@param filtermode love.FilterMode # The filter mode to use in between mipmap levels. 'nearest' will often give better performance.
---@param sharpness? number # A positive sharpness value makes the texture use a more detailed mipmap level when drawing, at the expense of performance. A negative value does the reverse.
function Texture:setMipmapFilter(filtermode, sharpness) end
diff --git a/meta/3rd/love2d/library/love.image.lua b/meta/3rd/love2d/library/love.image.lua
index c95f6d7f..5db859ae 100644
--- a/meta/3rd/love2d/library/love.image.lua
+++ b/meta/3rd/love2d/library/love.image.lua
@@ -47,7 +47,7 @@ local CompressedImageData = {}
---
---Gets the width and height of the CompressedImageData.
---
----@overload fun(level: number):number, number
+---@overload fun(self: love.CompressedImageData, level: number):number, number
---@return number width # The width of the CompressedImageData.
---@return number height # The height of the CompressedImageData.
function CompressedImageData:getDimensions() end
@@ -61,7 +61,7 @@ function CompressedImageData:getFormat() end
---
---Gets the height of the CompressedImageData.
---
----@overload fun(level: number):number
+---@overload fun(self: love.CompressedImageData, level: number):number
---@return number height # The height of the CompressedImageData.
function CompressedImageData:getHeight() end
@@ -74,7 +74,7 @@ function CompressedImageData:getMipmapCount() end
---
---Gets the width of the CompressedImageData.
---
----@overload fun(level: number):number
+---@overload fun(self: love.CompressedImageData, level: number):number
---@return number width # The width of the CompressedImageData.
function CompressedImageData:getWidth() end
@@ -89,8 +89,8 @@ local ImageData = {}
---
---Encodes the ImageData and optionally writes it to the save directory.
---
----@overload fun(outFile: string)
----@overload fun(outFile: string, format: love.ImageFormat)
+---@overload fun(self: love.ImageData, outFile: string)
+---@overload fun(self: love.ImageData, outFile: string, format: love.ImageFormat)
---@param format love.ImageFormat # The format to encode the image as.
---@param filename? string # The filename to write the file to. If nil, no file will be written but the FileData will still be returned.
---@return love.FileData filedata # The encoded image as a new FileData object.
diff --git a/meta/3rd/love2d/library/love.joystick.lua b/meta/3rd/love2d/library/love.joystick.lua
index df3ea208..29e21cd8 100644
--- a/meta/3rd/love2d/library/love.joystick.lua
+++ b/meta/3rd/love2d/library/love.joystick.lua
@@ -121,7 +121,7 @@ function Joystick:getGamepadAxis(axis) end
---
---Gets the button, axis or hat that a virtual gamepad input is bound to.
---
----@overload fun(button: love.GamepadButton):love.JoystickInputType, number, love.JoystickHat
+---@overload fun(self: love.Joystick, button: love.GamepadButton):love.JoystickInputType, number, love.JoystickHat
---@param axis love.GamepadAxis # The virtual gamepad axis to get the binding for.
---@return love.JoystickInputType inputtype # The type of input the virtual gamepad axis is bound to.
---@return number inputindex # The index of the Joystick's button, axis or hat that the virtual gamepad axis is bound to.
@@ -208,8 +208,8 @@ function Joystick:isVibrationSupported() end
---
---Sets the vibration motor speeds on a Joystick with rumble support. Most common gamepads have this functionality, although not all drivers give proper support. Use Joystick:isVibrationSupported to check.
---
----@overload fun():boolean
----@overload fun(left: number, right: number, duration: number):boolean
+---@overload fun(self: love.Joystick):boolean
+---@overload fun(self: love.Joystick, left: number, right: number, duration: number):boolean
---@param left number # Strength of the left vibration motor on the Joystick. Must be in the range of 1.
---@param right number # Strength of the right vibration motor on the Joystick. Must be in the range of 1.
---@return boolean success # True if the vibration was successfully applied, false if not.
diff --git a/meta/3rd/love2d/library/love.math.lua b/meta/3rd/love2d/library/love.math.lua
index 14689c86..a2510a2f 100644
--- a/meta/3rd/love2d/library/love.math.lua
+++ b/meta/3rd/love2d/library/love.math.lua
@@ -341,8 +341,8 @@ function RandomGenerator:getState() end
---
---Generates a pseudo-random number in a platform independent manner.
---
----@overload fun(max: number):number
----@overload fun(min: number, max: number):number
+---@overload fun(self: love.RandomGenerator, max: number):number
+---@overload fun(self: love.RandomGenerator, min: number, max: number):number
---@return number number # The pseudo-random number.
function RandomGenerator:random() end
@@ -357,7 +357,7 @@ function RandomGenerator:randomNormal(stddev, mean) end
---
---Sets the seed of the random number generator using the specified integer number.
---
----@overload fun(low: number, high: number)
+---@overload fun(self: love.RandomGenerator, low: number, high: number)
---@param seed number # The integer number with which you want to seed the randomization. Must be within the range of 2^53.
function RandomGenerator:setSeed(seed) end
@@ -449,9 +449,9 @@ function Transform:scale(sx, sy) end
---
---Directly sets the Transform's internal 4x4 transformation matrix.
---
----@overload fun(layout: love.MatrixLayout, e1_1: number, e1_2: number, ..., e4_4: number):love.Transform
----@overload fun(layout: love.MatrixLayout, matrix: table):love.Transform
----@overload fun(layout: love.MatrixLayout, matrix: table):love.Transform
+---@overload fun(self: love.Transform, layout: love.MatrixLayout, e1_1: number, e1_2: number, ..., e4_4: number):love.Transform
+---@overload fun(self: love.Transform, layout: love.MatrixLayout, matrix: table):love.Transform
+---@overload fun(self: love.Transform, layout: love.MatrixLayout, matrix: table):love.Transform
---@param e1_1 number # The first column of the first row of the matrix.
---@param e1_2 number # The second column of the first row of the matrix.
---@param e4_4 number # The fourth column of the fourth row of the matrix.
diff --git a/meta/3rd/love2d/library/love.physics.lua b/meta/3rd/love2d/library/love.physics.lua
index dd1876f5..c0b80ff2 100644
--- a/meta/3rd/love2d/library/love.physics.lua
+++ b/meta/3rd/love2d/library/love.physics.lua
@@ -317,7 +317,7 @@ function Body:applyAngularImpulse(impulse) end
---
---Note that the force components and position must be given in world coordinates.
---
----@overload fun(fx: number, fy: number, x: number, y: number)
+---@overload fun(self: love.Body, fx: number, fy: number, x: number, y: number)
---@param fx number # The x component of force to apply to the center of mass.
---@param fy number # The y component of force to apply to the center of mass.
function Body:applyForce(fx, fy) end
@@ -333,7 +333,7 @@ function Body:applyForce(fx, fy) end
---
---Note that the impulse components and position must be given in world coordinates.
---
----@overload fun(ix: number, iy: number, x: number, y: number)
+---@overload fun(self: love.Body, ix: number, iy: number, x: number, y: number)
---@param ix number # The x component of the impulse applied to the center of mass.
---@param iy number # The y component of the impulse applied to the center of mass.
function Body:applyLinearImpulse(ix, iy) end
diff --git a/meta/3rd/love2d/library/love.sound.lua b/meta/3rd/love2d/library/love.sound.lua
index 2dd18b6d..5c7a89e1 100644
--- a/meta/3rd/love2d/library/love.sound.lua
+++ b/meta/3rd/love2d/library/love.sound.lua
@@ -94,7 +94,7 @@ function SoundData:getDuration() end
---
---Gets the value of the sample-point at the specified position. For stereo SoundData objects, the data from the left and right channels are interleaved in that order.
---
----@overload fun(i: number, channel: number):number
+---@overload fun(self: love.SoundData, i: number, channel: number):number
---@param i number # An integer value specifying the position of the sample (starting at 0).
---@return number sample # The normalized samplepoint (range -1.0 to 1.0).
function SoundData:getSample(i) end
@@ -114,7 +114,7 @@ function SoundData:getSampleRate() end
---
---Sets the value of the sample-point at the specified position. For stereo SoundData objects, the data from the left and right channels are interleaved in that order.
---
----@overload fun(i: number, channel: number, sample: number)
+---@overload fun(self: love.SoundData, i: number, channel: number, sample: number)
---@param i number # An integer value specifying the position of the sample (starting at 0).
---@param sample number # The normalized samplepoint (range -1.0 to 1.0).
function SoundData:setSample(i, sample) end
diff --git a/meta/3rd/love2d/library/love.thread.lua b/meta/3rd/love2d/library/love.thread.lua
index 4bcd9c7d..a0568580 100644
--- a/meta/3rd/love2d/library/love.thread.lua
+++ b/meta/3rd/love2d/library/love.thread.lua
@@ -52,7 +52,7 @@ function Channel:clear() end
---
---It waits until a message is in the queue then returns the message value.
---
----@overload fun(timeout: number):any
+---@overload fun(self: love.Channel, timeout: number):any
---@return any value # The contents of the message.
function Channel:demand() end
@@ -111,7 +111,7 @@ function Channel:push(value) end
---
---See Variant for the list of supported types.
---
----@overload fun(value: any, timeout: number):boolean
+---@overload fun(self: love.Channel, value: any, timeout: number):boolean
---@param value any # The contents of the message.
---@return boolean success # Whether the message was successfully supplied (always true).
function Channel:supply(value) end
@@ -141,7 +141,7 @@ function Thread:isRunning() end
---
---Beginning with version 0.9.0, threads can be restarted after they have completed their execution.
---
----@overload fun(arg1: any, arg2: any, ...)
+---@overload fun(self: love.Thread, arg1: any, arg2: any, ...)
function Thread:start() end
---
diff --git a/meta/3rd/lovr/library/lovr.data.lua b/meta/3rd/lovr/library/lovr.data.lua
index aca66f8f..9c34b189 100644
--- a/meta/3rd/lovr/library/lovr.data.lua
+++ b/meta/3rd/lovr/library/lovr.data.lua
@@ -307,9 +307,9 @@ function Sound:getFrameCount() end
---
---Reads frames from the Sound into a table, Blob, or another Sound.
---
----@overload fun(t: table, count: number, srcOffset: number, dstOffset: number):table, number
----@overload fun(blob: lovr.Blob, count: number, srcOffset: number, dstOffset: number):number
----@overload fun(sound: lovr.Sound, count: number, srcOffset: number, dstOffset: number):number
+---@overload fun(self: lovr.Sound, t: table, count: number, srcOffset: number, dstOffset: number):table, number
+---@overload fun(self: lovr.Sound, blob: lovr.Blob, count: number, srcOffset: number, dstOffset: number):number
+---@overload fun(self: lovr.Sound, sound: lovr.Sound, count: number, srcOffset: number, dstOffset: number):number
---@param count? number # The number of frames to read. If nil, reads as many frames as possible.
Compressed sounds will automatically be decoded.
@@ -347,8 +347,8 @@ function Sound:isStream() end
---
---Writes frames to the Sound.
---
----@overload fun(blob: lovr.Blob, count: number, dstOffset: number, srcOffset: number):number
----@overload fun(sound: lovr.Sound, count: number, dstOffset: number, srcOffset: number):number
+---@overload fun(self: lovr.Sound, blob: lovr.Blob, count: number, dstOffset: number, srcOffset: number):number
+---@overload fun(self: lovr.Sound, sound: lovr.Sound, count: number, dstOffset: number, srcOffset: number):number
---@param t table # A table containing frames to write.
---@param count? number # How many frames to write. If nil, writes as many as possible.
---@param dstOffset? number # A frame offset to apply when writing the frames.
diff --git a/meta/3rd/lovr/library/lovr.graphics.lua b/meta/3rd/lovr/library/lovr.graphics.lua
index 61cf4d5f..788126f7 100644
--- a/meta/3rd/lovr/library/lovr.graphics.lua
+++ b/meta/3rd/lovr/library/lovr.graphics.lua
@@ -895,7 +895,7 @@ function Font:setLineHeight(lineHeight) end
---
---Sets the pixel density for the Font. Normally, this is in pixels per meter. When rendering to a 2D texture, the units are pixels.
---
----@overload fun()
+---@overload fun(self: lovr.Font)
---@param pixelDensity number # The new pixel density.
function Font:setPixelDensity(pixelDensity) end
@@ -942,9 +942,9 @@ function Material:getTransform() end
---
---Sets a color property for a Material. Different types of colors are supported for different lighting parameters. Colors default to `(1.0, 1.0, 1.0, 1.0)` and are gamma corrected.
---
----@overload fun(r: number, g: number, b: number, a: number)
----@overload fun(colorType: lovr.MaterialColor, hex: number, a: number)
----@overload fun(hex: number, a: number)
+---@overload fun(self: lovr.Material, r: number, g: number, b: number, a: number)
+---@overload fun(self: lovr.Material, colorType: lovr.MaterialColor, hex: number, a: number)
+---@overload fun(self: lovr.Material, hex: number, a: number)
---@param colorType? lovr.MaterialColor # The type of color to set.
---@param r number # The red component of the color.
---@param g number # The green component of the color.
@@ -962,7 +962,7 @@ function Material:setScalar(scalarType, x) end
---
---Sets a texture for a Material. Several predefined `MaterialTexture`s are supported. Any texture that is `nil` will use a single white pixel as a fallback.
---
----@overload fun(texture: lovr.Texture)
+---@overload fun(self: lovr.Material, texture: lovr.Texture)
---@param textureType? lovr.MaterialTexture # The type of texture to set.
---@param texture lovr.Texture # The texture to apply, or `nil` to use the default.
function Material:setTexture(textureType, texture) end
@@ -992,8 +992,8 @@ local Mesh = {}
---
---Attaches attributes from another Mesh onto this one. This can be used to share vertex data across multiple meshes without duplicating the data, and can also be used for instanced rendering by using the `divisor` parameter.
---
----@overload fun(mesh: lovr.Mesh, divisor: number, ...)
----@overload fun(mesh: lovr.Mesh, divisor: number, attributes: table)
+---@overload fun(self: lovr.Mesh, mesh: lovr.Mesh, divisor: number, ...)
+---@overload fun(self: lovr.Mesh, mesh: lovr.Mesh, divisor: number, attributes: table)
---@param mesh lovr.Mesh # The Mesh to attach attributes from.
---@param divisor? number # The attribute divisor for all attached attributes.
function Mesh:attachAttributes(mesh, divisor) end
@@ -1001,15 +1001,15 @@ function Mesh:attachAttributes(mesh, divisor) end
---
---Detaches attributes that were attached using `Mesh:attachAttributes`.
---
----@overload fun(mesh: lovr.Mesh, ...)
----@overload fun(mesh: lovr.Mesh, attributes: table)
+---@overload fun(self: lovr.Mesh, mesh: lovr.Mesh, ...)
+---@overload fun(self: lovr.Mesh, mesh: lovr.Mesh, attributes: table)
---@param mesh lovr.Mesh # A Mesh. The names of all of the attributes from this Mesh will be detached.
function Mesh:detachAttributes(mesh) end
---
---Draws the contents of the Mesh.
---
----@overload fun(transform: lovr.mat4, instances: number)
+---@overload fun(self: lovr.Mesh, transform: lovr.mat4, instances: number)
---@param x? number # The x coordinate to draw the Mesh at.
---@param y? number # The y coordinate to draw the Mesh at.
---@param z? number # The z coordinate to draw the Mesh at.
@@ -1068,8 +1068,8 @@ function Mesh:getVertexFormat() end
---
---Returns the current vertex map for the Mesh. The vertex map is a list of indices in the Mesh, allowing the reordering or reuse of vertices.
---
----@overload fun(t: table):table
----@overload fun(blob: lovr.Blob)
+---@overload fun(self: lovr.Mesh, t: table):table
+---@overload fun(self: lovr.Mesh, blob: lovr.Blob)
---@return table map # The list of indices in the vertex map, or `nil` if no vertex map is set.
function Mesh:getVertexMap() end
@@ -1096,7 +1096,7 @@ function Mesh:setDrawMode(mode) end
---
---Set the draw range for the Mesh. The draw range is a subset of the vertices of the Mesh that will be drawn.
---
----@overload fun()
+---@overload fun(self: lovr.Mesh)
---@param start number # The first vertex that will be drawn.
---@param count number # The number of vertices that will be drawn.
function Mesh:setDrawRange(start, count) end
@@ -1125,14 +1125,14 @@ function Mesh:setVertexAttribute(index, attribute) end
---
---Often, a vertex map is used to improve performance, since it usually requires less data to specify the index of a vertex than it does to specify all of the data for a vertex.
---
----@overload fun(blob: lovr.Blob, size: number)
+---@overload fun(self: lovr.Mesh, blob: lovr.Blob, size: number)
---@param map table # The new vertex map. Each element of the table is an index of a vertex.
function Mesh:setVertexMap(map) end
---
---Updates multiple vertices in the Mesh.
---
----@overload fun(blob: lovr.Blob, start: number, count: number)
+---@overload fun(self: lovr.Mesh, blob: lovr.Blob, start: number, count: number)
---@param vertices table # The new set of vertices.
---@param start? number # The index of the vertex to start replacing at.
---@param count? number # The number of vertices to replace. If nil, all vertices will be used.
@@ -1149,7 +1149,7 @@ local Model = {}
---
---The animation is evaluated at the specified timestamp, and mixed with the current pose of the Model using the alpha value. An alpha value of 1.0 will completely override the pose of the Model with the animation's pose.
---
----@overload fun(index: number, time: number, alpha: number)
+---@overload fun(self: lovr.Model, index: number, time: number, alpha: number)
---@param name string # The name of an animation.
---@param time number # The timestamp to evaluate the keyframes at, in seconds.
---@param alpha? number # How much of the animation to mix in, from 0 to 1.
@@ -1158,7 +1158,7 @@ function Model:animate(name, time, alpha) end
---
---Draw the Model.
---
----@overload fun(transform: lovr.mat4, instances: number)
+---@overload fun(self: lovr.Model, transform: lovr.mat4, instances: number)
---@param x? number # The x coordinate to draw the Model at.
---@param y? number # The y coordinate to draw the Model at.
---@param z? number # The z coordinate to draw the Model at.
@@ -1190,7 +1190,7 @@ function Model:getAnimationCount() end
---
---Returns the duration of an animation in the Model, in seconds.
---
----@overload fun(index: number):number
+---@overload fun(self: lovr.Model, index: number):number
---@param name string # The name of the animation.
---@return number duration # The duration of the animation, in seconds.
function Model:getAnimationDuration(name) end
@@ -1207,7 +1207,7 @@ function Model:getAnimationName(index) end
---
---This includes `Texture` objects and other properties like colors, metalness/roughness, and more.
---
----@overload fun(index: number):lovr.Material
+---@overload fun(self: lovr.Model, index: number):lovr.Material
---@param name string # The name of the Material to return.
---@return lovr.Material material # The material.
function Model:getMaterial(name) end
@@ -1241,7 +1241,7 @@ function Model:getNodeName(index) end
---
---Returns the pose of a single node in the Model in a given `CoordinateSpace`.
---
----@overload fun(index: number, space: lovr.CoordinateSpace):number, number, number, number, number, number, number
+---@overload fun(self: lovr.Model, index: number, space: lovr.CoordinateSpace):number, number, number, number, number, number, number
---@param name string # The name of the node.
---@param space? lovr.CoordinateSpace # Whether the pose should be returned relative to the node's parent or relative to the root node of the Model.
---@return number x # The x position of the node.
@@ -1275,8 +1275,8 @@ function Model:hasJoints() end
---
---The alpha parameter can be used to mix between the node's current pose and the input pose.
---
----@overload fun(index: number, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number, alpha: number)
----@overload fun()
+---@overload fun(self: lovr.Model, index: number, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number, alpha: number)
+---@overload fun(self: lovr.Model)
---@param name string # The name of the node.
---@param x number # The x position.
---@param y number # The y position.
@@ -1337,7 +1337,7 @@ function Shader:sendBlock(name, block, access) end
---
---Sends a Texture to a Shader for writing. This is meant to be used with compute shaders and only works with uniforms declared as `image2D`, `imageCube`, `image2DArray`, and `image3D`. The normal `Shader:send` function accepts Textures and should be used most of the time.
---
----@overload fun(name: string, index: number, texture: lovr.Texture, slice: number, mipmap: number, access: lovr.UniformAccess)
+---@overload fun(self: lovr.Shader, name: string, index: number, texture: lovr.Texture, slice: number, mipmap: number, access: lovr.UniformAccess)
---@param name string # The name of the image uniform.
---@param texture lovr.Texture # The Texture to assign.
---@param slice? number # The slice of a cube, array, or volume texture to use, or `nil` for all slices.
@@ -1399,7 +1399,7 @@ function ShaderBlock:read(name) end
---
---Updates a variable in the ShaderBlock.
---
----@overload fun(blob: lovr.Blob, offset: number, extent: number):number
+---@overload fun(self: lovr.ShaderBlock, blob: lovr.Blob, offset: number, extent: number):number
---@param variable string # The name of the variable to update.
---@param value any # The new value of the uniform.
function ShaderBlock:send(variable, value) end
diff --git a/meta/3rd/lovr/library/lovr.math.lua b/meta/3rd/lovr/library/lovr.math.lua
index a5660ec4..9c47ec48 100644
--- a/meta/3rd/lovr/library/lovr.math.lua
+++ b/meta/3rd/lovr/library/lovr.math.lua
@@ -278,8 +278,8 @@ function Mat4:lookAt(from, to, up) end
---
---Multiplies this matrix by another value. Multiplying by a matrix combines their two transforms together. Multiplying by a vector applies the transformation from the matrix to the vector and returns the vector.
---
----@overload fun(v3: lovr.Vec3):lovr.Vec3
----@overload fun(v4: lovr.Vec4):lovr.Vec4
+---@overload fun(self: lovr.Mat4, v3: lovr.Vec3):lovr.Vec3
+---@overload fun(self: lovr.Mat4, v4: lovr.Vec4):lovr.Vec4
---@param n lovr.Mat4 # The matrix.
---@return lovr.Mat4 m # The original matrix, containing the result.
function Mat4:mul(n) end
@@ -313,7 +313,7 @@ function Mat4:perspective(near, far, fov, aspect) end
---
---Rotates the matrix using a quaternion or an angle/axis rotation.
---
----@overload fun(angle: number, ax: number, ay: number, az: number):lovr.Mat4
+---@overload fun(self: lovr.Mat4, angle: number, ax: number, ay: number, az: number):lovr.Mat4
---@param q lovr.Quat # The rotation to apply to the matrix.
---@return lovr.Mat4 m # The original matrix.
function Mat4:rotate(q) end
@@ -321,7 +321,7 @@ function Mat4:rotate(q) end
---
---Scales the matrix.
---
----@overload fun(sx: number, sy: number, sz: number):lovr.Mat4
+---@overload fun(self: lovr.Mat4, sx: number, sy: number, sz: number):lovr.Mat4
---@param scale lovr.Vec3 # The 3D scale to apply.
---@return lovr.Mat4 m # The original matrix.
function Mat4:scale(scale) end
@@ -329,11 +329,11 @@ function Mat4:scale(scale) end
---
---Sets the components of the matrix from separate position, rotation, and scale arguments or an existing matrix.
---
----@overload fun(n: lovr.mat4):lovr.Mat4
----@overload fun(position: lovr.Vec3, scale: lovr.Vec3, rotation: lovr.Quat):lovr.Mat4
----@overload fun(position: lovr.Vec3, rotation: lovr.Quat):lovr.Mat4
----@overload fun(...):lovr.Mat4
----@overload fun(d: number):lovr.Mat4
+---@overload fun(self: lovr.Mat4, n: lovr.mat4):lovr.Mat4
+---@overload fun(self: lovr.Mat4, position: lovr.Vec3, scale: lovr.Vec3, rotation: lovr.Quat):lovr.Mat4
+---@overload fun(self: lovr.Mat4, position: lovr.Vec3, rotation: lovr.Quat):lovr.Mat4
+---@overload fun(self: lovr.Mat4, ...):lovr.Mat4
+---@overload fun(self: lovr.Mat4, d: number):lovr.Mat4
---@return lovr.Mat4 m # The input matrix.
function Mat4:set() end
@@ -353,7 +353,7 @@ function Mat4:target(from, to, up) end
---
---Translates the matrix.
---
----@overload fun(x: number, y: number, z: number):lovr.Mat4
+---@overload fun(self: lovr.Mat4, x: number, y: number, z: number):lovr.Mat4
---@param v lovr.Vec3 # The translation vector.
---@return lovr.Mat4 m # The original matrix.
function Mat4:translate(v) end
@@ -397,7 +397,7 @@ function Quat:length() end
---
---Multiplies this quaternion by another value. If the value is a quaternion, the rotations in the two quaternions are applied sequentially and the result is stored in the first quaternion. If the value is a vector, then the input vector is rotated by the quaternion and returned.
---
----@overload fun(v3: lovr.vec3):lovr.vec3
+---@overload fun(self: lovr.Quat, v3: lovr.vec3):lovr.vec3
---@param r lovr.quat # A quaternion to combine with the original.
---@return lovr.quat q # The original quaternion.
function Quat:mul(r) end
@@ -420,11 +420,11 @@ function Quat:normalize() end
--- two vectors.
---- A matrix can be passed in to extract the rotation of the matrix into a quaternion.
---
----@overload fun(r: lovr.quat):lovr.quat
----@overload fun(v: lovr.vec3):lovr.quat
----@overload fun(v: lovr.vec3, u: lovr.vec3):lovr.quat
----@overload fun(m: lovr.mat4):lovr.quat
----@overload fun():lovr.quat
+---@overload fun(self: lovr.Quat, r: lovr.quat):lovr.quat
+---@overload fun(self: lovr.Quat, v: lovr.vec3):lovr.quat
+---@overload fun(self: lovr.Quat, v: lovr.vec3, u: lovr.vec3):lovr.quat
+---@overload fun(self: lovr.Quat, m: lovr.mat4):lovr.quat
+---@overload fun(self: lovr.Quat):lovr.quat
---@param angle? any # The angle to use for the rotation, in radians.
---@param ax? number # The x component of the axis of rotation.
---@param ay? number # The y component of the axis of rotation.
@@ -475,8 +475,8 @@ function RandomGenerator:getState() end
---
---Returns the next uniformly distributed pseudo-random number from the RandomGenerator's sequence.
---
----@overload fun(high: number):number
----@overload fun(low: number, high: number):number
+---@overload fun(self: lovr.RandomGenerator, high: number):number
+---@overload fun(self: lovr.RandomGenerator, low: number, high: number):number
---@return number x # A pseudo-random number.
function RandomGenerator:random() end
@@ -491,7 +491,7 @@ function RandomGenerator:randomNormal(sigma, mu) end
---
---Seed the RandomGenerator with a new seed. Each seed will cause the RandomGenerator to produce a unique sequence of random numbers.
---
----@overload fun(low: number, high: number)
+---@overload fun(self: lovr.RandomGenerator, low: number, high: number)
---@param seed number # The random seed.
function RandomGenerator:setSeed(seed) end
@@ -510,7 +510,7 @@ local Vec2 = {}
---
---Adds a vector or a number to the vector.
---
----@overload fun(x: number, y: number):lovr.Vec2
+---@overload fun(self: lovr.Vec2, x: number, y: number):lovr.Vec2
---@param u lovr.Vec2 # The other vector.
---@return lovr.Vec2 v # The original vector.
function Vec2:add(u) end
@@ -518,7 +518,7 @@ function Vec2:add(u) end
---
---Returns the distance to another vector.
---
----@overload fun(x: number, y: number):number
+---@overload fun(self: lovr.Vec2, x: number, y: number):number
---@param u lovr.Vec2 # The vector to measure the distance to.
---@return number distance # The distance to `u`.
function Vec2:distance(u) end
@@ -526,7 +526,7 @@ function Vec2:distance(u) end
---
---Divides the vector by a vector or a number.
---
----@overload fun(x: number, y: number):lovr.Vec2
+---@overload fun(self: lovr.Vec2, x: number, y: number):lovr.Vec2
---@param u lovr.Vec2 # The other vector to divide the components by.
---@return lovr.Vec2 v # The original vector.
function Vec2:div(u) end
@@ -534,7 +534,7 @@ function Vec2:div(u) end
---
---Returns the dot product between this vector and another one.
---
----@overload fun(x: number, y: number):number
+---@overload fun(self: lovr.Vec2, x: number, y: number):number
---@param u lovr.Vec2 # The vector to compute the dot product with.
---@return number dot # The dot product between `v` and `u`.
function Vec2:dot(u) end
@@ -548,14 +548,14 @@ function Vec2:length() end
---
---Performs a linear interpolation between this vector and another one, which can be used to smoothly animate between two vectors, based on a parameter value. A parameter value of `0` will leave the vector unchanged, a parameter value of `1` will set the vector to be equal to the input vector, and a value of `.5` will set the components to be halfway between the two vectors.
---
----@overload fun(x: number, y: number):lovr.Vec2
+---@overload fun(self: lovr.Vec2, x: number, y: number):lovr.Vec2
---@return lovr.Vec2 v # The original vector, containing the new lerped values.
function Vec2:lerp() end
---
---Multiplies the vector by a vector or a number.
---
----@overload fun(x: number, y: number):lovr.Vec2
+---@overload fun(self: lovr.Vec2, x: number, y: number):lovr.Vec2
---@param u lovr.Vec2 # The other vector to multiply the components by.
---@return lovr.Vec2 v # The original vector.
function Vec2:mul(u) end
@@ -569,7 +569,7 @@ function Vec2:normalize() end
---
---Sets the components of the vector, either from numbers or an existing vector.
---
----@overload fun(u: lovr.Vec2):lovr.Vec2
+---@overload fun(self: lovr.Vec2, u: lovr.Vec2):lovr.Vec2
---@param x? number # The new x value of the vector.
---@param y? number # The new y value of the vector.
---@return lovr.Vec2 v # The input vector.
@@ -578,7 +578,7 @@ function Vec2:set(x, y) end
---
---Subtracts a vector or a number from the vector.
---
----@overload fun(x: number, y: number):lovr.Vec2
+---@overload fun(self: lovr.Vec2, x: number, y: number):lovr.Vec2
---@param u lovr.Vec2 # The other vector.
---@return lovr.Vec2 v # The original vector.
function Vec2:sub(u) end
@@ -599,7 +599,7 @@ local Vec3 = {}
---
---Adds a vector or a number to the vector.
---
----@overload fun(x: number, y: number, z: number):lovr.Vec3
+---@overload fun(self: lovr.Vec3, x: number, y: number, z: number):lovr.Vec3
---@param u lovr.Vec3 # The other vector.
---@return lovr.Vec3 v # The original vector.
function Vec3:add(u) end
@@ -607,7 +607,7 @@ function Vec3:add(u) end
---
---Sets this vector to be equal to the cross product between this vector and another one. The new `v` will be perpendicular to both the old `v` and `u`.
---
----@overload fun(x: number, y: number, z: number):lovr.Vec3
+---@overload fun(self: lovr.Vec3, x: number, y: number, z: number):lovr.Vec3
---@param u lovr.Vec3 # The vector to compute the cross product with.
---@return lovr.Vec3 v # The original vector, with the cross product as its values.
function Vec3:cross(u) end
@@ -615,7 +615,7 @@ function Vec3:cross(u) end
---
---Returns the distance to another vector.
---
----@overload fun(x: number, y: number, z: number):number
+---@overload fun(self: lovr.Vec3, x: number, y: number, z: number):number
---@param u lovr.Vec3 # The vector to measure the distance to.
---@return number distance # The distance to `u`.
function Vec3:distance(u) end
@@ -623,7 +623,7 @@ function Vec3:distance(u) end
---
---Divides the vector by a vector or a number.
---
----@overload fun(x: number, y: number, z: number):lovr.Vec3
+---@overload fun(self: lovr.Vec3, x: number, y: number, z: number):lovr.Vec3
---@param u lovr.Vec3 # The other vector to divide the components by.
---@return lovr.Vec3 v # The original vector.
function Vec3:div(u) end
@@ -631,7 +631,7 @@ function Vec3:div(u) end
---
---Returns the dot product between this vector and another one.
---
----@overload fun(x: number, y: number, z: number):number
+---@overload fun(self: lovr.Vec3, x: number, y: number, z: number):number
---@param u lovr.Vec3 # The vector to compute the dot product with.
---@return number dot # The dot product between `v` and `u`.
function Vec3:dot(u) end
@@ -645,7 +645,7 @@ function Vec3:length() end
---
---Performs a linear interpolation between this vector and another one, which can be used to smoothly animate between two vectors, based on a parameter value. A parameter value of `0` will leave the vector unchanged, a parameter value of `1` will set the vector to be equal to the input vector, and a value of `.5` will set the components to be halfway between the two vectors.
---
----@overload fun(x: number, y: number, z: number, t: number):lovr.Vec3
+---@overload fun(self: lovr.Vec3, x: number, y: number, z: number, t: number):lovr.Vec3
---@param u lovr.Vec3 # The vector to lerp towards.
---@param t number # The lerping parameter.
---@return lovr.Vec3 v # The original vector, containing the new lerped values.
@@ -654,7 +654,7 @@ function Vec3:lerp(u, t) end
---
---Multiplies the vector by a vector or a number.
---
----@overload fun(x: number, y: number, z: number):lovr.Vec3
+---@overload fun(self: lovr.Vec3, x: number, y: number, z: number):lovr.Vec3
---@param u lovr.Vec3 # The other vector to multiply the components by.
---@return lovr.Vec3 v # The original vector.
function Vec3:mul(u) end
@@ -668,8 +668,8 @@ function Vec3:normalize() end
---
---Sets the components of the vector, either from numbers or an existing vector.
---
----@overload fun(u: lovr.Vec3):lovr.Vec3
----@overload fun(m: lovr.Mat4):lovr.Vec3
+---@overload fun(self: lovr.Vec3, u: lovr.Vec3):lovr.Vec3
+---@overload fun(self: lovr.Vec3, m: lovr.Mat4):lovr.Vec3
---@param x? number # The new x value of the vector.
---@param y? number # The new y value of the vector.
---@param z? number # The new z value of the vector.
@@ -679,7 +679,7 @@ function Vec3:set(x, y, z) end
---
---Subtracts a vector or a number from the vector.
---
----@overload fun(x: number, y: number, z: number):lovr.Vec3
+---@overload fun(self: lovr.Vec3, x: number, y: number, z: number):lovr.Vec3
---@param u lovr.Vec3 # The other vector.
---@return lovr.Vec3 v # The original vector.
function Vec3:sub(u) end
@@ -701,7 +701,7 @@ local Vec4 = {}
---
---Adds a vector or a number to the vector.
---
----@overload fun(x: number, y: number, z: number, w: number):lovr.Vec4
+---@overload fun(self: lovr.Vec4, x: number, y: number, z: number, w: number):lovr.Vec4
---@param u lovr.Vec4 # The other vector.
---@return lovr.Vec4 v # The original vector.
function Vec4:add(u) end
@@ -709,7 +709,7 @@ function Vec4:add(u) end
---
---Returns the distance to another vector.
---
----@overload fun(x: number, y: number, z: number, w: number):number
+---@overload fun(self: lovr.Vec4, x: number, y: number, z: number, w: number):number
---@param u lovr.Vec4 # The vector to measure the distance to.
---@return number distance # The distance to `u`.
function Vec4:distance(u) end
@@ -717,7 +717,7 @@ function Vec4:distance(u) end
---
---Divides the vector by a vector or a number.
---
----@overload fun(x: number, y: number, z: number, w: number):lovr.Vec4
+---@overload fun(self: lovr.Vec4, x: number, y: number, z: number, w: number):lovr.Vec4
---@param u lovr.Vec4 # The other vector to divide the components by.
---@return lovr.Vec4 v # The original vector.
function Vec4:div(u) end
@@ -725,7 +725,7 @@ function Vec4:div(u) end
---
---Returns the dot product between this vector and another one.
---
----@overload fun(x: number, y: number, z: number, w: number):number
+---@overload fun(self: lovr.Vec4, x: number, y: number, z: number, w: number):number
---@param u lovr.Vec4 # The vector to compute the dot product with.
---@return number dot # The dot product between `v` and `u`.
function Vec4:dot(u) end
@@ -739,7 +739,7 @@ function Vec4:length() end
---
---Performs a linear interpolation between this vector and another one, which can be used to smoothly animate between two vectors, based on a parameter value. A parameter value of `0` will leave the vector unchanged, a parameter value of `1` will set the vector to be equal to the input vector, and a value of `.5` will set the components to be halfway between the two vectors.
---
----@overload fun(x: number, y: number, z: number, w: number, t: number):lovr.Vec4
+---@overload fun(self: lovr.Vec4, x: number, y: number, z: number, w: number, t: number):lovr.Vec4
---@param u lovr.Vec4 # The vector to lerp towards.
---@param t number # The lerping parameter.
---@return lovr.Vec4 v # The original vector, containing the new lerped values.
@@ -748,7 +748,7 @@ function Vec4:lerp(u, t) end
---
---Multiplies the vector by a vector or a number.
---
----@overload fun(x: number, y: number, z: number, w: number):lovr.Vec4
+---@overload fun(self: lovr.Vec4, x: number, y: number, z: number, w: number):lovr.Vec4
---@param u lovr.Vec4 # The other vector to multiply the components by.
---@return lovr.Vec4 v # The original vector.
function Vec4:mul(u) end
@@ -762,7 +762,7 @@ function Vec4:normalize() end
---
---Sets the components of the vector, either from numbers or an existing vector.
---
----@overload fun(u: lovr.Vec4):lovr.Vec4
+---@overload fun(self: lovr.Vec4, u: lovr.Vec4):lovr.Vec4
---@param x? number # The new x value of the vector.
---@param y? number # The new y value of the vector.
---@param z? number # The new z value of the vector.
@@ -773,7 +773,7 @@ function Vec4:set(x, y, z, w) end
---
---Subtracts a vector or a number from the vector.
---
----@overload fun(x: number, y: number, z: number, w: number):lovr.Vec4
+---@overload fun(self: lovr.Vec4, x: number, y: number, z: number, w: number):lovr.Vec4
---@param u lovr.Vec4 # The other vector.
---@return lovr.Vec4 v # The original vector.
function Vec4:sub(u) end
diff --git a/meta/3rd/lovr/library/lovr.physics.lua b/meta/3rd/lovr/library/lovr.physics.lua
index e4b44aba..7fef948b 100644
--- a/meta/3rd/lovr/library/lovr.physics.lua
+++ b/meta/3rd/lovr/library/lovr.physics.lua
@@ -215,7 +215,7 @@ function Collider:addShape(shape) end
---
---Applies a force to the Collider.
---
----@overload fun(x: number, y: number, z: number, px: number, py: number, pz: number)
+---@overload fun(self: lovr.Collider, x: number, y: number, z: number, px: number, py: number, pz: number)
---@param x number # The x component of the force to apply.
---@param y number # The y component of the force to apply.
---@param z number # The z component of the force to apply.
@@ -1059,7 +1059,7 @@ function World:getAngularDamping() end
---
---Returns a table of all Colliders in the World.
---
----@overload fun(t: table):table
+---@overload fun(self: lovr.World, t: table):table
---@return table colliders # A table of `Collider` objects.
function World:getColliders() end
@@ -1154,7 +1154,7 @@ function World:newCylinderCollider(x, y, z, radius, length) end
---
---Adds a new Collider to the World with a MeshShape already attached.
---
----@overload fun(model: lovr.Model):lovr.Collider
+---@overload fun(self: lovr.World, model: lovr.Model):lovr.Collider
---@param vertices table # The table of vertices in the mesh. Each vertex is a table with 3 numbers.
---@param indices table # A table of triangle indices representing how the vertices are connected in the Mesh.
---@return lovr.Collider collider # The new Collider.