summaryrefslogtreecommitdiff
path: root/meta/3rd/love2d/library
diff options
context:
space:
mode:
Diffstat (limited to 'meta/3rd/love2d/library')
-rw-r--r--meta/3rd/love2d/library/love.audio.lua58
-rw-r--r--meta/3rd/love2d/library/love.data.lua36
-rw-r--r--meta/3rd/love2d/library/love.event.lua76
-rw-r--r--meta/3rd/love2d/library/love.filesystem.lua40
-rw-r--r--meta/3rd/love2d/library/love.font.lua24
-rw-r--r--meta/3rd/love2d/library/love.graphics.lua294
-rw-r--r--meta/3rd/love2d/library/love.image.lua210
-rw-r--r--meta/3rd/love2d/library/love.joystick.lua70
-rw-r--r--meta/3rd/love2d/library/love.keyboard.lua676
-rw-r--r--meta/3rd/love2d/library/love.math.lua8
-rw-r--r--meta/3rd/love2d/library/love.mouse.lua30
-rw-r--r--meta/3rd/love2d/library/love.physics.lua50
-rw-r--r--meta/3rd/love2d/library/love.sound.lua4
-rw-r--r--meta/3rd/love2d/library/love.system.lua10
-rw-r--r--meta/3rd/love2d/library/love.window.lua24
15 files changed, 805 insertions, 805 deletions
diff --git a/meta/3rd/love2d/library/love.audio.lua b/meta/3rd/love2d/library/love.audio.lua
index 0d8b3296..fc6fba25 100644
--- a/meta/3rd/love2d/library/love.audio.lua
+++ b/meta/3rd/love2d/library/love.audio.lua
@@ -161,7 +161,7 @@ function love.audio.setDopplerScale(scale) end
---
---Not all system supports audio effects. Use love.audio.isEffectsSupported to check.
---
----@overload fun(name: string, enabled: boolean):boolean
+---@overload fun(name: string, enabled?: boolean):boolean
---@param name string # The name of the effect.
---@param settings {type: love.EffectType, volume: number} # The settings to use for this effect, with the following fields:
---@return boolean success # Whether the effect was successfully created.
@@ -355,7 +355,7 @@ function Source:getDuration(unit) end
---This function returns nil if the effect was applied with no filter settings associated to it.
---
---@param name string # The name of the effect.
----@param filtersettings? table # An optional empty table that will be filled with the filter settings.
+---@param filtersettings table # An optional empty table that will be filled with the filter settings.
---@return {volume: number, highgain: number, lowgain: number} filtersettings # The settings for the filter associated to this effect, or nil if the effect is not present in this Source or has no filter associated. The table has the following fields:
function Source:getEffect(name, filtersettings) end
@@ -597,31 +597,31 @@ function Source:tell(unit) end
---
---Sources do not get attenuated.
---
----| '"none"'
+---| "none"
---
---Inverse distance attenuation.
---
----| '"inverse"'
+---| "inverse"
---
---Inverse distance attenuation. Gain is clamped. In version 0.9.2 and older this is named '''inverse clamped'''.
---
----| '"inverseclamped"'
+---| "inverseclamped"
---
---Linear attenuation.
---
----| '"linear"'
+---| "linear"
---
---Linear attenuation. Gain is clamped. In version 0.9.2 and older this is named '''linear clamped'''.
---
----| '"linearclamped"'
+---| "linearclamped"
---
---Exponential attenuation.
---
----| '"exponent"'
+---| "exponent"
---
---Exponential attenuation. Gain is clamped. In version 0.9.2 and older this is named '''exponent clamped'''.
---
----| '"exponentclamped"'
+---| "exponentclamped"
---
---The different types of effects supported by love.audio.setEffect.
@@ -630,35 +630,35 @@ function Source:tell(unit) end
---
---Plays multiple copies of the sound with slight pitch and time variation. Used to make sounds sound "fuller" or "thicker".
---
----| '"chorus"'
+---| "chorus"
---
---Decreases the dynamic range of the sound, making the loud and quiet parts closer in volume, producing a more uniform amplitude throughout time.
---
----| '"compressor"'
+---| "compressor"
---
---Alters the sound by amplifying it until it clips, shearing off parts of the signal, leading to a compressed and distorted sound.
---
----| '"distortion"'
+---| "distortion"
---
---Decaying feedback based effect, on the order of seconds. Also known as delay; causes the sound to repeat at regular intervals at a decreasing volume.
---
----| '"echo"'
+---| "echo"
---
---Adjust the frequency components of the sound using a 4-band (low-shelf, two band-pass and a high-shelf) equalizer.
---
----| '"equalizer"'
+---| "equalizer"
---
---Plays two copies of the sound; while varying the phase, or equivalently delaying one of them, by amounts on the order of milliseconds, resulting in phasing sounds.
---
----| '"flanger"'
+---| "flanger"
---
---Decaying feedback based effect, on the order of milliseconds. Used to simulate the reflection off of the surroundings.
---
----| '"reverb"'
+---| "reverb"
---
---An implementation of amplitude modulation; multiplies the source signal with a simple waveform, to produce either volume changes, or inharmonic overtones.
---
----| '"ringmodulator"'
+---| "ringmodulator"
---
---The different types of waveforms that can be used with the '''ringmodulator''' EffectType.
@@ -667,19 +667,19 @@ function Source:tell(unit) end
---
---A sawtooth wave, also known as a ramp wave. Named for its linear rise, and (near-)instantaneous fall along time.
---
----| '"sawtooth"'
+---| "sawtooth"
---
---A sine wave. Follows a trigonometric sine function.
---
----| '"sine"'
+---| "sine"
---
---A square wave. Switches between high and low states (near-)instantaneously.
---
----| '"square"'
+---| "square"
---
---A triangle wave. Follows a linear rise and fall that repeats periodically.
---
----| '"triangle"'
+---| "triangle"
---
---Types of filters for Sources.
@@ -688,15 +688,15 @@ function Source:tell(unit) end
---
---Low-pass filter. High frequency sounds are attenuated.
---
----| '"lowpass"'
+---| "lowpass"
---
---High-pass filter. Low frequency sounds are attenuated.
---
----| '"highpass"'
+---| "highpass"
---
---Band-pass filter. Both high and low frequency sounds are attenuated based on the given parameters.
---
----| '"bandpass"'
+---| "bandpass"
---
---Types of audio sources.
@@ -707,15 +707,15 @@ function Source:tell(unit) end
---
---The whole audio is decoded.
---
----| '"static"'
+---| "static"
---
---The audio is decoded in chunks when needed.
---
----| '"stream"'
+---| "stream"
---
---The audio must be manually queued by the user.
---
----| '"queue"'
+---| "queue"
---
---Units that represent time.
@@ -724,8 +724,8 @@ function Source:tell(unit) end
---
---Regular seconds.
---
----| '"seconds"'
+---| "seconds"
---
---Audio samples.
---
----| '"samples"'
+---| "samples"
diff --git a/meta/3rd/love2d/library/love.data.lua b/meta/3rd/love2d/library/love.data.lua
index af67a9d1..433b035d 100644
--- a/meta/3rd/love2d/library/love.data.lua
+++ b/meta/3rd/love2d/library/love.data.lua
@@ -9,7 +9,7 @@ love.data = {}
---
---Compresses a string or data using a specific compression algorithm.
---
----@overload fun(container: love.ContainerType, format: love.CompressedDataFormat, data: love.Data, level: number):love.CompressedData|string
+---@overload fun(container: love.ContainerType, format: love.CompressedDataFormat, data: love.Data, level?: number):love.CompressedData|string
---@param container love.ContainerType # What type to return the compressed data as.
---@param format love.CompressedDataFormat # The format to use when compressing the string.
---@param rawstring string # The raw (un-compressed) string to compress.
@@ -40,7 +40,7 @@ function love.data.decompress(container, compressedData) end
---
---Encode Data or a string to a Data or string in one of the EncodeFormats.
---
----@overload fun(container: love.ContainerType, format: love.EncodeFormat, sourceData: love.Data, linelength: number):love.ByteData|string
+---@overload fun(container: love.ContainerType, format: love.EncodeFormat, sourceData: love.Data, linelength?: number):love.ByteData|string
---@param container love.ContainerType # What type to return the encoded data as.
---@param format love.EncodeFormat # The format of the output data.
---@param sourceString string # The raw data to encode.
@@ -71,7 +71,7 @@ function love.data.hash(hashFunction, string) end
---
---Data:getPointer along with LuaJIT's FFI can be used to manipulate the contents of the ByteData object after it has been created.
---
----@overload fun(Data: love.Data, offset: number, size: number):love.ByteData
+---@overload fun(Data: love.Data, offset?: number, size?: number):love.ByteData
---@overload fun(size: number):love.ByteData
---@param datastring string # The byte string to copy.
---@return love.ByteData bytedata # The new Data object.
@@ -103,7 +103,7 @@ function love.data.pack(container, format, v1, ...) end
---
---This function behaves the same as Lua 5.3's string.unpack.
---
----@overload fun(format: string, data: love.Data, pos: number):number|boolean|string, number|boolean|string, number
+---@overload fun(format: string, data: love.Data, pos?: number):number|boolean|string, number|boolean|string, number
---@param format string # A string determining how the values were packed. Follows the rules of Lua 5.3's string.pack format strings.
---@param datastring string # A string containing the packed (serialized) data.
---@param pos? number # Where to start reading in the string. Negative values can be used to read relative from the end of the string.
@@ -140,19 +140,19 @@ function CompressedData:getFormat() end
---
---The LZ4 compression format. Compresses and decompresses very quickly, but the compression ratio is not the best. LZ4-HC is used when compression level 9 is specified. Some benchmarks are available here.
---
----| '"lz4"'
+---| "lz4"
---
---The zlib format is DEFLATE-compressed data with a small bit of header data. Compresses relatively slowly and decompresses moderately quickly, and has a decent compression ratio.
---
----| '"zlib"'
+---| "zlib"
---
---The gzip format is DEFLATE-compressed data with a slightly larger header than zlib. Since it uses DEFLATE it has the same compression characteristics as the zlib format.
---
----| '"gzip"'
+---| "gzip"
---
---Raw DEFLATE-compressed data (no header).
---
----| '"deflate"'
+---| "deflate"
---
---Return type of various data-returning functions.
@@ -161,11 +161,11 @@ function CompressedData:getFormat() end
---
---Return type is ByteData.
---
----| '"data"'
+---| "data"
---
---Return type is string.
---
----| '"string"'
+---| "string"
---
---Encoding format used to encode or decode data.
@@ -174,11 +174,11 @@ function CompressedData:getFormat() end
---
---Encode/decode data as base64 binary-to-text encoding.
---
----| '"base64"'
+---| "base64"
---
---Encode/decode data as hexadecimal string.
---
----| '"hex"'
+---| "hex"
---
---Hash algorithm of love.data.hash.
@@ -187,24 +187,24 @@ function CompressedData:getFormat() end
---
---MD5 hash algorithm (16 bytes).
---
----| '"md5"'
+---| "md5"
---
---SHA1 hash algorithm (20 bytes).
---
----| '"sha1"'
+---| "sha1"
---
---SHA2 hash algorithm with message digest size of 224 bits (28 bytes).
---
----| '"sha224"'
+---| "sha224"
---
---SHA2 hash algorithm with message digest size of 256 bits (32 bytes).
---
----| '"sha256"'
+---| "sha256"
---
---SHA2 hash algorithm with message digest size of 384 bits (48 bytes).
---
----| '"sha384"'
+---| "sha384"
---
---SHA2 hash algorithm with message digest size of 512 bits (64 bytes).
---
----| '"sha512"'
+---| "sha512"
diff --git a/meta/3rd/love2d/library/love.event.lua b/meta/3rd/love2d/library/love.event.lua
index 12212c0b..c43f4bbd 100644
--- a/meta/3rd/love2d/library/love.event.lua
+++ b/meta/3rd/love2d/library/love.event.lua
@@ -48,7 +48,7 @@ function love.event.push(n, a, b, c, d, e, f, ...) end
---
---The quit event is a signal for the event handler to close LÖVE. It's possible to abort the exit process with the love.quit callback.
---
----@overload fun(restart: string|"'restart'")
+---@overload fun('restart': string|'restart')
---@param exitstatus? number # The program exit status to use when closing the application.
function love.event.quit(exitstatus) end
@@ -73,148 +73,148 @@ function love.event.wait() end
---
---Window focus gained or lost
---
----| '"focus"'
+---| "focus"
---
---Joystick pressed
---
----| '"joystickpressed"'
+---| "joystickpressed"
---
---Joystick released
---
----| '"joystickreleased"'
+---| "joystickreleased"
---
---Key pressed
---
----| '"keypressed"'
+---| "keypressed"
---
---Key released
---
----| '"keyreleased"'
+---| "keyreleased"
---
---Mouse pressed
---
----| '"mousepressed"'
+---| "mousepressed"
---
---Mouse released
---
----| '"mousereleased"'
+---| "mousereleased"
---
---Quit
---
----| '"quit"'
+---| "quit"
---
---Window size changed by the user
---
----| '"resize"'
+---| "resize"
---
---Window is minimized or un-minimized by the user
---
----| '"visible"'
+---| "visible"
---
---Window mouse focus gained or lost
---
----| '"mousefocus"'
+---| "mousefocus"
---
---A Lua error has occurred in a thread
---
----| '"threaderror"'
+---| "threaderror"
---
---Joystick connected
---
----| '"joystickadded"'
+---| "joystickadded"
---
---Joystick disconnected
---
----| '"joystickremoved"'
+---| "joystickremoved"
---
---Joystick axis motion
---
----| '"joystickaxis"'
+---| "joystickaxis"
---
---Joystick hat pressed
---
----| '"joystickhat"'
+---| "joystickhat"
---
---Joystick's virtual gamepad button pressed
---
----| '"gamepadpressed"'
+---| "gamepadpressed"
---
---Joystick's virtual gamepad button released
---
----| '"gamepadreleased"'
+---| "gamepadreleased"
---
---Joystick's virtual gamepad axis moved
---
----| '"gamepadaxis"'
+---| "gamepadaxis"
---
---User entered text
---
----| '"textinput"'
+---| "textinput"
---
---Mouse position changed
---
----| '"mousemoved"'
+---| "mousemoved"
---
---Running out of memory on mobile devices system
---
----| '"lowmemory"'
+---| "lowmemory"
---
---Candidate text for an IME changed
---
----| '"textedited"'
+---| "textedited"
---
---Mouse wheel moved
---
----| '"wheelmoved"'
+---| "wheelmoved"
---
---Touch screen touched
---
----| '"touchpressed"'
+---| "touchpressed"
---
---Touch screen stop touching
---
----| '"touchreleased"'
+---| "touchreleased"
---
---Touch press moved inside touch screen
---
----| '"touchmoved"'
+---| "touchmoved"
---
---Directory is dragged and dropped onto the window
---
----| '"directorydropped"'
+---| "directorydropped"
---
---File is dragged and dropped onto the window.
---
----| '"filedropped"'
+---| "filedropped"
---
---Joystick pressed
---
----| '"jp"'
+---| "jp"
---
---Joystick released
---
----| '"jr"'
+---| "jr"
---
---Key pressed
---
----| '"kp"'
+---| "kp"
---
---Key released
---
----| '"kr"'
+---| "kr"
---
---Mouse pressed
---
----| '"mp"'
+---| "mp"
---
---Mouse released
---
----| '"mr"'
+---| "mr"
---
---Quit
---
----| '"q"'
+---| "q"
---
---Window focus gained or lost
---
----| '"f"'
+---| "f"
diff --git a/meta/3rd/love2d/library/love.filesystem.lua b/meta/3rd/love2d/library/love.filesystem.lua
index 4c4a8f4e..d706793d 100644
--- a/meta/3rd/love2d/library/love.filesystem.lua
+++ b/meta/3rd/love2d/library/love.filesystem.lua
@@ -9,7 +9,7 @@ love.filesystem = {}
---
---Append data to an existing file.
---
----@overload fun(name: string, data: love.Data, size: number):boolean, string
+---@overload fun(name: string, data: love.Data, size?: number):boolean, string
---@param name string # The name (and path) of the file.
---@param data string # The string data to append to the file.
---@param size? number # How many bytes to write.
@@ -167,8 +167,8 @@ function love.filesystem.load(name) end
---
---It is also possible to mount love.filesystem.getSourceBaseDirectory if the game is in fused mode.
---
----@overload fun(filedata: love.FileData, mountpoint: string, appendToPath: boolean):boolean
----@overload fun(data: love.Data, archivename: string, mountpoint: string, appendToPath: boolean):boolean
+---@overload fun(filedata: love.FileData, mountpoint: string, appendToPath?: boolean):boolean
+---@overload fun(data: love.Data, archivename: string, mountpoint: string, appendToPath?: boolean):boolean
---@param archive string # The folder or zip file in the game's save directory to mount.
---@param mountpoint string # The new path the archive will be mounted to.
---@param appendToPath? boolean # Whether the archive will be searched when reading a filepath before or after already-mounted archives. This includes the game's source and save directories.
@@ -198,7 +198,7 @@ function love.filesystem.newFileData(contents, name) end
---
---Read the contents of a file.
---
----@overload fun(container: love.ContainerType, name: string, size: number):love.FileData|string, number, nil, string
+---@overload fun(container: love.ContainerType, name: string, size?: number):love.FileData|string, number, nil, string
---@param name string # The name (and path) of the file.
---@param size? number # How many bytes to read.
---@return string contents # The file contents.
@@ -265,7 +265,7 @@ function love.filesystem.unmount(archive) end
---
---Write data to a file in the save directory. If the file existed already, it will be completely replaced by the new contents.
---
----@overload fun(name: string, data: love.Data, size: number):boolean, string
+---@overload fun(name: string, data: love.Data, size?: number):boolean, string
---@param name string # The name (and path) of the file.
---@param data string # The string data to write to the file.
---@param size? number # How many bytes to write.
@@ -354,7 +354,7 @@ function File:open(mode) end
---
---Read a number of bytes from a file.
---
----@overload fun(self: love.File, 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(self: love.File, 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.
@@ -419,15 +419,15 @@ function FileData:getFilename() end
---
---No buffering. The result of write and append operations appears immediately.
---
----| '"none"'
+---| "none"
---
---Line buffering. Write and append operations are buffered until a newline is output or the buffer size limit is reached.
---
----| '"line"'
+---| "line"
---
---Full buffering. Write and append operations are always buffered until the buffer size limit is reached.
---
----| '"full"'
+---| "full"
---
---How to decode a given FileData.
@@ -436,11 +436,11 @@ function FileData:getFilename() end
---
---The data is unencoded.
---
----| '"file"'
+---| "file"
---
---The data is base64-encoded.
---
----| '"base64"'
+---| "base64"
---
---The different modes you can open a File in.
@@ -449,19 +449,19 @@ function FileData:getFilename() end
---
---Open a file for read.
---
----| '"r"'
+---| "r"
---
---Open a file for write.
---
----| '"w"'
+---| "w"
---
---Open a file for append.
---
----| '"a"'
+---| "a"
---
---Do not open a file (represents a closed file.)
---
----| '"c"'
+---| "c"
---
---The type of a file.
@@ -470,16 +470,16 @@ function FileData:getFilename() end
---
---Regular file.
---
----| '"file"'
+---| "file"
---
---Directory.
---
----| '"directory"'
+---| "directory"
---
---Symbolic link.
---
----| '"symlink"'
+---| "symlink"
---
---Something completely different like a device.
---
----| '"other"'
+---| "other"
diff --git a/meta/3rd/love2d/library/love.font.lua b/meta/3rd/love2d/library/love.font.lua
index 21666912..e7977b8c 100644
--- a/meta/3rd/love2d/library/love.font.lua
+++ b/meta/3rd/love2d/library/love.font.lua
@@ -9,7 +9,7 @@ love.font = {}
---
---Creates a new BMFont Rasterizer.
---
----@overload fun(fileName: string, glyphs: string, dpiscale: number):love.Rasterizer
+---@overload fun(fileName: string, glyphs: string, dpiscale?: number):love.Rasterizer
---@param imageData love.ImageData # The image data containing the drawable pictures of font glyphs.
---@param glyphs string # The sequence of glyphs in the ImageData.
---@param dpiscale? number # DPI scale.
@@ -37,11 +37,11 @@ function love.font.newImageRasterizer(imageData, glyphs, extraSpacing, dpiscale)
---Creates a new Rasterizer.
---
---@overload fun(data: love.FileData):love.Rasterizer
----@overload fun(size: number, hinting: love.HintingMode, dpiscale: number):love.Rasterizer
----@overload fun(fileName: string, size: number, hinting: love.HintingMode, dpiscale: number):love.Rasterizer
----@overload fun(fileData: love.FileData, size: number, hinting: love.HintingMode, dpiscale: number):love.Rasterizer
----@overload fun(imageData: love.ImageData, glyphs: string, dpiscale: number):love.Rasterizer
----@overload fun(fileName: string, glyphs: string, dpiscale: number):love.Rasterizer
+---@overload fun(size?: number, hinting?: love.HintingMode, dpiscale?: number):love.Rasterizer
+---@overload fun(fileName: string, size?: number, hinting?: love.HintingMode, dpiscale?: number):love.Rasterizer
+---@overload fun(fileData: love.FileData, size?: number, hinting?: love.HintingMode, dpiscale?: number):love.Rasterizer
+---@overload fun(imageData: love.ImageData, glyphs: string, dpiscale?: number):love.Rasterizer
+---@overload fun(fileName: string, glyphs: string, dpiscale?: number):love.Rasterizer
---@param filename string # The font file.
---@return love.Rasterizer rasterizer # The rasterizer.
function love.font.newRasterizer(filename) end
@@ -49,8 +49,8 @@ function love.font.newRasterizer(filename) end
---
---Creates a new TrueType Rasterizer.
---
----@overload fun(fileName: string, size: number, hinting: love.HintingMode, dpiscale: number):love.Rasterizer
----@overload fun(fileData: love.FileData, size: number, hinting: love.HintingMode, dpiscale: number):love.Rasterizer
+---@overload fun(fileName: string, size?: number, hinting?: love.HintingMode, dpiscale?: number):love.Rasterizer
+---@overload fun(fileData: love.FileData, size?: number, hinting?: love.HintingMode, dpiscale?: number):love.Rasterizer
---@param size? number # The font size.
---@param hinting? love.HintingMode # True Type hinting mode.
---@param dpiscale? number # The font DPI scale.
@@ -188,16 +188,16 @@ function Rasterizer:hasGlyphs(glyph1, glyph2, ...) end
---
---Default hinting. Should be preferred for typical antialiased fonts.
---
----| '"normal"'
+---| "normal"
---
---Results in fuzzier text but can sometimes preserve the original glyph shapes of the text better than normal hinting.
---
----| '"light"'
+---| "light"
---
---Results in aliased / unsmoothed text with either full opacity or completely transparent pixels. Should be used when antialiasing is not desired for the font.
---
----| '"mono"'
+---| "mono"
---
---Disables hinting for the font. Results in fuzzier text.
---
----| '"none"'
+---| "none"
diff --git a/meta/3rd/love2d/library/love.graphics.lua b/meta/3rd/love2d/library/love.graphics.lua
index 8e7a2ab5..d6adf2e4 100644
--- a/meta/3rd/love2d/library/love.graphics.lua
+++ b/meta/3rd/love2d/library/love.graphics.lua
@@ -23,7 +23,7 @@ function love.graphics.applyTransform(transform) end
---
---Draws a filled or unfilled arc at position (x, y). The arc is drawn from angle1 to angle2 in radians. The segments parameter determines how many segments are used to draw the arc. The more segments, the smoother the edge.
---
----@overload fun(drawmode: love.DrawMode, arctype: love.ArcType, x: number, y: number, radius: number, angle1: number, angle2: number, segments: number)
+---@overload fun(drawmode: love.DrawMode, arctype: love.ArcType, x: number, y: number, radius: number, angle1: number, angle2: number, segments?: number)
---@param drawmode love.DrawMode # How to draw the arc.
---@param x number # The position of the center along x-axis.
---@param y number # The position of the center along y-axis.
@@ -64,8 +64,8 @@ function love.graphics.circle(mode, x, y, radius) end
---
---In versions prior to background color instead.
---
----@overload fun(r: number, g: number, b: number, a: number, clearstencil: boolean, cleardepth: boolean)
----@overload fun(color: table, ..., clearstencil: boolean, cleardepth: boolean)
+---@overload fun(r: number, g: number, b: number, a?: number, clearstencil?: boolean, cleardepth?: boolean)
+---@overload fun(color: table, ..., clearstencil?: boolean, cleardepth?: boolean)
---@overload fun(clearcolor: boolean, clearstencil: boolean, cleardepth: boolean)
function love.graphics.clear() end
@@ -76,7 +76,7 @@ function love.graphics.clear() end
---
---On some desktop systems this function may do nothing.
---
----@overload fun(discardcolors: table, discardstencil: boolean)
+---@overload fun(discardcolors: table, discardstencil?: boolean)
---@param discardcolor? boolean # Whether to discard the texture(s) of the active Canvas(es) (the contents of the screen if no Canvas is active.)
---@param discardstencil? boolean # Whether to discard the contents of the stencil buffer of the screen / active Canvas.
function love.graphics.discard(discardcolor, discardstencil) end
@@ -96,7 +96,7 @@ function love.graphics.discard(discardcolor, discardstencil) end
---
---Set it to pure white to preserve the object's original colors.
---
----@overload fun(texture: love.Texture, quad: love.Quad, x: number, y: number, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
+---@overload fun(texture: love.Texture, quad: love.Quad, x: number, y: number, r?: number, sx?: number, sy?: number, ox?: number, oy?: number, kx?: number, ky?: number)
---@overload fun(drawable: love.Drawable, transform: love.Transform)
---@overload fun(texture: love.Texture, quad: love.Quad, transform: love.Transform)
---@param drawable love.Drawable # A drawable object.
@@ -135,7 +135,7 @@ function love.graphics.drawInstanced(mesh, instancecount, x, y, r, sx, sy, ox, o
---
---Draws a layer of an Array Texture.
---
----@overload fun(texture: love.Texture, 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(texture: love.Texture, 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(texture: love.Texture, layerindex: number, transform: love.Transform)
---@overload fun(texture: love.Texture, layerindex: number, quad: love.Quad, transform: love.Transform)
---@param texture love.Texture # The Array Texture to draw.
@@ -545,7 +545,7 @@ function love.graphics.newCanvas() end
---
---+x -x +y -y +z -z
---
----@overload fun(faces: table, settings: table):love.Image
+---@overload fun(faces: table, settings?: table):love.Image
---@param filename string # The filepath to a cubemap image file (or a File, FileData, or ImageData).
---@param settings? {mipmaps: boolean, linear: boolean} # Optional table of settings to configure the cubemap image, containing the following fields:
---@return love.Image image # An cubemap Image object.
@@ -556,9 +556,9 @@ function love.graphics.newCubeImage(filename, settings) end
---
---All variants which accept a filename can also accept a Data object instead.
---
----@overload fun(filename: string, size: number, hinting: love.HintingMode, dpiscale: number):love.Font
+---@overload fun(filename: string, size: number, hinting?: love.HintingMode, dpiscale?: number):love.Font
---@overload fun(filename: string, imagefilename: string):love.Font
----@overload fun(size: number, hinting: love.HintingMode, dpiscale: number):love.Font
+---@overload fun(size?: number, hinting?: love.HintingMode, dpiscale?: number):love.Font
---@param filename string # The filepath to the BMFont or TrueType font file.
---@return love.Font font # A Font object which can be used to draw text on screen.
function love.graphics.newFont(filename) end
@@ -566,9 +566,9 @@ function love.graphics.newFont(filename) end
---
---Creates a new Image from a filepath, FileData, an ImageData, or a CompressedImageData, and optionally generates or specifies mipmaps for the image.
---
----@overload fun(fileData: love.FileData, flags: table):love.Image
----@overload fun(imageData: love.ImageData, flags: table):love.Image
----@overload fun(compressedImageData: love.CompressedImageData, flags: table):love.Image
+---@overload fun(fileData: love.FileData, flags?: table):love.Image
+---@overload fun(imageData: love.ImageData, flags?: table):love.Image
+---@overload fun(compressedImageData: love.CompressedImageData, flags?: table):love.Image
---@param filename string # The filepath to the image file.
---@param flags? {dpiscale: number, linear: boolean, mipmaps: boolean} # A table containing the following fields:
---@return love.Image image # A new Image object which can be drawn on screen.
@@ -593,10 +593,10 @@ function love.graphics.newImageFont(filename, glyphs) 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(vertexcount: number, mode: love.MeshDrawMode, usage: love.SpriteBatchUsage):love.Mesh
----@overload fun(vertexformat: table, vertices: table, mode: love.MeshDrawMode, usage: love.SpriteBatchUsage):love.Mesh
----@overload fun(vertexformat: table, vertexcount: number, mode: love.MeshDrawMode, usage: love.SpriteBatchUsage):love.Mesh
----@overload fun(vertexcount: number, texture: love.Texture, mode: love.MeshDrawMode):love.Mesh
+---@overload fun(vertexcount: number, mode?: love.MeshDrawMode, usage?: love.SpriteBatchUsage):love.Mesh
+---@overload fun(vertexformat: table, vertices: table, mode?: love.MeshDrawMode, usage?: love.SpriteBatchUsage):love.Mesh
+---@overload fun(vertexformat: table, vertexcount: number, mode?: love.MeshDrawMode, usage?: love.SpriteBatchUsage):love.Mesh
+---@overload fun(vertexcount: number, texture?: love.Texture, mode?: love.MeshDrawMode):love.Mesh
---@param vertices {["1"]: number, ["2"]: number, ["3"]: number, ["4"]: number, ["5"]: number, ["6"]: number, ["7"]: number, ["8"]: number} # The table filled with vertex information tables for each vertex as follows:
---@param mode? love.MeshDrawMode # How the vertices are used when drawing. The default mode 'fan' is sufficient for simple convex polygons.
---@param usage? love.SpriteBatchUsage # The expected usage of the Mesh. The specified usage mode affects the Mesh's memory usage and performance.
@@ -606,7 +606,7 @@ function love.graphics.newMesh(vertices, mode, usage) end
---
---Creates a new ParticleSystem.
---
----@overload fun(texture: love.Texture, buffer: number):love.ParticleSystem
+---@overload fun(texture: love.Texture, buffer?: number):love.ParticleSystem
---@param image love.Image # The image to use.
---@param buffer? number # The max number of particles at the same time.
---@return love.ParticleSystem system # A new ParticleSystem.
@@ -639,8 +639,8 @@ function love.graphics.newShader(code) end
---
---Creates a new SpriteBatch object.
---
----@overload fun(image: love.Image, maxsprites: number, usage: love.SpriteBatchUsage):love.SpriteBatch
----@overload fun(texture: love.Texture, maxsprites: number, usage: love.SpriteBatchUsage):love.SpriteBatch
+---@overload fun(image: love.Image, maxsprites?: number, usage?: love.SpriteBatchUsage):love.SpriteBatch
+---@overload fun(texture: love.Texture, maxsprites?: number, usage?: love.SpriteBatchUsage):love.SpriteBatch
---@param image love.Image # The Image to use for the sprites.
---@param maxsprites? number # The maximum number of sprites that the SpriteBatch can contain at any given time. Since version 11.0, additional sprites added past this number will automatically grow the spritebatch.
---@return love.SpriteBatch spriteBatch # The new SpriteBatch.
@@ -658,9 +658,9 @@ function love.graphics.newText(font, textstring) end
---Creates a new drawable Video. Currently only Ogg Theora video files are supported.
---
---@overload fun(videostream: love.VideoStream):love.Video
----@overload fun(filename: string, settings: table):love.Video
----@overload fun(filename: string, loadaudio: boolean):love.Video
----@overload fun(videostream: love.VideoStream, loadaudio: boolean):love.Video
+---@overload fun(filename: string, settings?: table):love.Video
+---@overload fun(filename: string, loadaudio?: boolean):love.Video
+---@overload fun(videostream: love.VideoStream, loadaudio?: boolean):love.Video
---@param filename string # The file path to the Ogg Theora video file.
---@return love.Video video # A new Video.
function love.graphics.newVideo(filename) end
@@ -733,7 +733,7 @@ function love.graphics.present() 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(coloredtext: table, x: number, y: number, angle: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
+---@overload fun(coloredtext: table, x?: number, y?: number, angle?: number, sx?: number, sy?: number, ox?: number, oy?: number, kx?: number, ky?: number)
---@overload fun(text: string, transform: love.Transform)
---@overload fun(coloredtext: table, transform: love.Transform)
---@overload fun(text: string, font: love.Font, transform: love.Transform)
@@ -761,13 +761,13 @@ function love.graphics.print(text, x, y, r, sx, sy, ox, oy, kx, ky) 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(text: string, font: love.Font, x: number, y: number, limit: number, align: love.AlignMode, r: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
----@overload fun(text: string, transform: love.Transform, limit: number, align: love.AlignMode)
----@overload fun(text: string, font: love.Font, transform: love.Transform, limit: number, align: love.AlignMode)
----@overload fun(coloredtext: table, x: number, y: number, limit: number, align: love.AlignMode, angle: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
----@overload fun(coloredtext: table, font: love.Font, x: number, y: number, limit: number, align: love.AlignMode, angle: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number)
----@overload fun(coloredtext: table, transform: love.Transform, limit: number, align: love.AlignMode)
----@overload fun(coloredtext: table, font: love.Font, transform: love.Transform, limit: number, align: love.AlignMode)
+---@overload fun(text: string, font: love.Font, x: number, y: number, limit: number, align?: love.AlignMode, r?: number, sx?: number, sy?: number, ox?: number, oy?: number, kx?: number, ky?: number)
+---@overload fun(text: string, transform: love.Transform, limit: number, align?: love.AlignMode)
+---@overload fun(text: string, font: love.Font, transform: love.Transform, limit: number, align?: love.AlignMode)
+---@overload fun(coloredtext: table, x: number, y: number, limit: number, align: love.AlignMode, angle?: number, sx?: number, sy?: number, ox?: number, oy?: number, kx?: number, ky?: number)
+---@overload fun(coloredtext: table, font: love.Font, x: number, y: number, limit: number, align?: love.AlignMode, angle?: number, sx?: number, sy?: number, ox?: number, oy?: number, kx?: number, ky?: number)
+---@overload fun(coloredtext: table, transform: love.Transform, limit: number, align?: love.AlignMode)
+---@overload fun(coloredtext: table, font: love.Font, transform: love.Transform, limit: number, align?: love.AlignMode)
---@param text string # A text string.
---@param x number # The position on the x-axis.
---@param y number # The position on the y-axis.
@@ -793,7 +793,7 @@ function love.graphics.push() end
---
---Draws a rectangle.
---
----@overload fun(mode: love.DrawMode, x: number, y: number, width: number, height: number, rx: number, ry: number, segments: number)
+---@overload fun(mode: love.DrawMode, x: number, y: number, width: number, height: number, rx: number, ry?: number, segments?: number)
---@param mode love.DrawMode # How to draw the rectangle.
---@param x number # The position of top-left corner along the x-axis.
---@param y number # The position of top-left corner along the y-axis.
@@ -851,7 +851,7 @@ function love.graphics.setBackgroundColor(red, green, blue, alpha) end
---
---Sets the blending mode.
---
----@overload fun(mode: love.BlendMode, alphamode: love.BlendAlphaMode)
+---@overload fun(mode: love.BlendMode, alphamode?: love.BlendAlphaMode)
---@param mode love.BlendMode # The blend mode to use.
function love.graphics.setBlendMode(mode) end
@@ -860,7 +860,7 @@ function love.graphics.setBlendMode(mode) end
---
---@overload fun()
---@overload fun(canvas1: love.Canvas, canvas2: love.Canvas, ...)
----@overload fun(canvas: love.Canvas, slice: number, mipmap: number)
+---@overload fun(canvas: love.Canvas, slice: number, mipmap?: number)
---@overload fun(setup: table)
---@param canvas love.Canvas # The new target.
---@param mipmap? number # The mipmap level to render to, for Canvases with mipmaps.
@@ -953,9 +953,9 @@ function love.graphics.setMeshCullMode(mode) end
---
---Creates and sets a new Font.
---
----@overload fun(filename: string, size: number):love.Font
----@overload fun(file: love.File, size: number):love.Font
----@overload fun(data: love.Data, size: number):love.Font
+---@overload fun(filename: string, size?: number):love.Font
+---@overload fun(file: love.File, size?: number):love.Font
+---@overload fun(data: love.Data, size?: number):love.Font
---@overload fun(rasterizer: love.Rasterizer):love.Font
---@param size? number # The size of the font.
---@return love.Font font # The new font.
@@ -1096,7 +1096,7 @@ function Canvas:getMipmapMode() end
---
---Generates ImageData from the contents of the Canvas.
---
----@overload fun(self: love.Canvas, 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
@@ -1289,7 +1289,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(self: love.Mesh, 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
@@ -1402,7 +1402,7 @@ 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(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, 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.
@@ -1434,7 +1434,7 @@ 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(self: love.Mesh, data: love.Data, startvertex: number)
+---@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.
@@ -1966,9 +1966,9 @@ function Shader:hasUniform(name) end
---@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)
+---@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.
---@vararg number # Additional numbers to send if the uniform variable is an array.
@@ -2005,7 +2005,7 @@ local SpriteBatch = {}
---
---Adds a sprite to the batch. Sprites are drawn in the order they are added.
---
----@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
+---@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).
@@ -2021,7 +2021,7 @@ 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(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, 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.
@@ -2094,7 +2094,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(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)
+---@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).
@@ -2132,7 +2132,7 @@ 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(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, 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.
@@ -2163,7 +2163,7 @@ local Text = {}
---
---Adds additional colored text to the Text object at the specified position.
---
----@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
+---@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.
@@ -2182,7 +2182,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(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
+---@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.
@@ -2529,19 +2529,19 @@ function Video:tell() end
---
---Align text center.
---
----| '"center"'
+---| "center"
---
---Align text left.
---
----| '"left"'
+---| "left"
---
---Align text right.
---
----| '"right"'
+---| "right"
---
---Align text both left and right.
---
----| '"justify"'
+---| "justify"
---
---Different types of arcs that can be drawn.
@@ -2550,15 +2550,15 @@ function Video:tell() end
---
---The arc is drawn like a slice of pie, with the arc circle connected to the center at its end-points.
---
----| '"pie"'
+---| "pie"
---
---The arc circle's two end-points are unconnected when the arc is drawn as a line. Behaves like the "closed" arc type when the arc is drawn in filled mode.
---
----| '"open"'
+---| "open"
---
---The arc circle's two end-points are connected to each other.
---
----| '"closed"'
+---| "closed"
---
---Types of particle area spread distribution.
@@ -2567,27 +2567,27 @@ function Video:tell() end
---
---Uniform distribution.
---
----| '"uniform"'
+---| "uniform"
---
---Normal (gaussian) distribution.
---
----| '"normal"'
+---| "normal"
---
---Uniform distribution in an ellipse.
---
----| '"ellipse"'
+---| "ellipse"
---
---Distribution in an ellipse with particles spawning at the edges of the ellipse.
---
----| '"borderellipse"'
+---| "borderellipse"
---
---Distribution in a rectangle with particles spawning at the edges of the rectangle.
---
----| '"borderrectangle"'
+---| "borderrectangle"
---
---No distribution - area spread is disabled.
---
----| '"none"'
+---| "none"
---
---Different ways alpha affects color blending. See BlendMode and the BlendMode Formulas for additional notes.
@@ -2596,11 +2596,11 @@ function Video:tell() end
---
---The RGB values of what's drawn are multiplied by the alpha values of those colors during blending. This is the default alpha mode.
---
----| '"alphamultiply"'
+---| "alphamultiply"
---
---The RGB values of what's drawn are '''not''' multiplied by the alpha values of those colors during blending. For most blend modes to work correctly with this alpha mode, the colors of a drawn object need to have had their RGB values multiplied by their alpha values at some point previously ("premultiplied alpha").
---
----| '"premultiplied"'
+---| "premultiplied"
---
---Different ways to do color blending. See BlendAlphaMode and the BlendMode Formulas for additional notes.
@@ -2609,51 +2609,51 @@ function Video:tell() end
---
---Alpha blending (normal). The alpha of what's drawn determines its opacity.
---
----| '"alpha"'
+---| "alpha"
---
---The colors of what's drawn completely replace what was on the screen, with no additional blending. The BlendAlphaMode specified in love.graphics.setBlendMode still affects what happens.
---
----| '"replace"'
+---| "replace"
---
---'Screen' blending.
---
----| '"screen"'
+---| "screen"
---
---The pixel colors of what's drawn are added to the pixel colors already on the screen. The alpha of the screen is not modified.
---
----| '"add"'
+---| "add"
---
---The pixel colors of what's drawn are subtracted from the pixel colors already on the screen. The alpha of the screen is not modified.
---
----| '"subtract"'
+---| "subtract"
---
---The pixel colors of what's drawn are multiplied with the pixel colors already on the screen (darkening them). The alpha of drawn objects is multiplied with the alpha of the screen rather than determining how much the colors on the screen are affected, even when the "alphamultiply" BlendAlphaMode is used.
---
----| '"multiply"'
+---| "multiply"
---
---The pixel colors of what's drawn are compared to the existing pixel colors, and the larger of the two values for each color component is used. Only works when the "premultiplied" BlendAlphaMode is used in love.graphics.setBlendMode.
---
----| '"lighten"'
+---| "lighten"
---
---The pixel colors of what's drawn are compared to the existing pixel colors, and the smaller of the two values for each color component is used. Only works when the "premultiplied" BlendAlphaMode is used in love.graphics.setBlendMode.
---
----| '"darken"'
+---| "darken"
---
---Additive blend mode.
---
----| '"additive"'
+---| "additive"
---
---Subtractive blend mode.
---
----| '"subtractive"'
+---| "subtractive"
---
---Multiply blend mode.
---
----| '"multiplicative"'
+---| "multiplicative"
---
---Premultiplied alpha blend mode.
---
----| '"premultiplied"'
+---| "premultiplied"
---
---Different types of per-pixel stencil test and depth test comparisons. The pixels of an object will be drawn if the comparison succeeds, for each pixel that the object touches.
@@ -2663,40 +2663,40 @@ function Video:tell() end
---* stencil tests: the stencil value of the pixel must be equal to the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be equal to the existing depth value of that pixel.
---
----| '"equal"'
+---| "equal"
---
---* stencil tests: the stencil value of the pixel must not be equal to the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must not be equal to the existing depth value of that pixel.
---
----| '"notequal"'
+---| "notequal"
---
---* stencil tests: the stencil value of the pixel must be less than the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be less than the existing depth value of that pixel.
---
----| '"less"'
+---| "less"
---
---* stencil tests: the stencil value of the pixel must be less than or equal to the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be less than or equal to the existing depth value of that pixel.
---
----| '"lequal"'
+---| "lequal"
---
---* stencil tests: the stencil value of the pixel must be greater than or equal to the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be greater than or equal to the existing depth value of that pixel.
---
----| '"gequal"'
+---| "gequal"
---
---* stencil tests: the stencil value of the pixel must be greater than the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be greater than the existing depth value of that pixel.
---
----| '"greater"'
+---| "greater"
---
---Objects will never be drawn.
---
----| '"never"'
+---| "never"
---
---Objects will always be drawn. Effectively disables the depth or stencil test.
---
----| '"always"'
+---| "always"
---
---How Mesh geometry is culled when rendering.
@@ -2705,15 +2705,15 @@ function Video:tell() end
---
---Back-facing triangles in Meshes are culled (not rendered). The vertex order of a triangle determines whether it is back- or front-facing.
---
----| '"back"'
+---| "back"
---
---Front-facing triangles in Meshes are culled.
---
----| '"front"'
+---| "front"
---
---Both back- and front-facing triangles in Meshes are rendered.
---
----| '"none"'
+---| "none"
---
---Controls whether shapes are drawn as an outline, or filled.
@@ -2722,11 +2722,11 @@ function Video:tell() end
---
---Draw filled shape.
---
----| '"fill"'
+---| "fill"
---
---Draw outlined shape.
---
----| '"line"'
+---| "line"
---
---How the image is filtered when scaling.
@@ -2735,11 +2735,11 @@ function Video:tell() end
---
---Scale image with linear interpolation.
---
----| '"linear"'
+---| "linear"
---
---Scale image with nearest neighbor interpolation.
---
----| '"nearest"'
+---| "nearest"
---
---Graphics features that can be checked for with love.graphics.getSupported.
@@ -2748,35 +2748,35 @@ function Video:tell() end
---
---Whether the "clampzero" WrapMode is supported.
---
----| '"clampzero"'
+---| "clampzero"
---
---Whether the "lighten" and "darken" BlendModes are supported.
---
----| '"lighten"'
+---| "lighten"
---
---Whether multiple formats can be used in the same love.graphics.setCanvas call.
---
----| '"multicanvasformats"'
+---| "multicanvasformats"
---
---Whether GLSL 3 Shaders can be used.
---
----| '"glsl3"'
+---| "glsl3"
---
---Whether mesh instancing is supported.
---
----| '"instancing"'
+---| "instancing"
---
---Whether textures with non-power-of-two dimensions can use mipmapping and the 'repeat' WrapMode.
---
----| '"fullnpot"'
+---| "fullnpot"
---
---Whether pixel shaders can use "highp" 32 bit floating point numbers (as opposed to just 16 bit or lower precision).
---
----| '"pixelshaderhighp"'
+---| "pixelshaderhighp"
---
---Whether shaders can use the dFdx, dFdy, and fwidth functions for computing derivatives.
---
----| '"shaderderivatives"'
+---| "shaderderivatives"
---
---Types of system-dependent graphics limits checked for using love.graphics.getSystemLimits.
@@ -2785,35 +2785,35 @@ function Video:tell() end
---
---The maximum size of points.
---
----| '"pointsize"'
+---| "pointsize"
---
---The maximum width or height of Images and Canvases.
---
----| '"texturesize"'
+---| "texturesize"
---
---The maximum number of simultaneously active canvases (via love.graphics.setCanvas.)
---
----| '"multicanvas"'
+---| "multicanvas"
---
---The maximum number of antialiasing samples for a Canvas.
---
----| '"canvasmsaa"'
+---| "canvasmsaa"
---
---The maximum number of layers in an Array texture.
---
----| '"texturelayers"'
+---| "texturelayers"
---
---The maximum width, height, or depth of a Volume texture.
---
----| '"volumetexturesize"'
+---| "volumetexturesize"
---
---The maximum width or height of a Cubemap texture.
---
----| '"cubetexturesize"'
+---| "cubetexturesize"
---
---The maximum amount of anisotropic filtering. Texture:setMipmapFilter internally clamps the given anisotropy value to the system's limit.
---
----| '"anisotropy"'
+---| "anisotropy"
---
---Vertex map datatype for Data variant of Mesh:setVertexMap.
@@ -2822,11 +2822,11 @@ function Video:tell() end
---
---The vertex map is array of unsigned word (16-bit).
---
----| '"uint16"'
+---| "uint16"
---
---The vertex map is array of unsigned dword (32-bit).
---
----| '"uint32"'
+---| "uint32"
---
---Line join style.
@@ -2835,15 +2835,15 @@ function Video:tell() end
---
---The ends of the line segments beveled in an angle so that they join seamlessly.
---
----| '"miter"'
+---| "miter"
---
---No cap applied to the ends of the line segments.
---
----| '"none"'
+---| "none"
---
---Flattens the point where line segments join together.
---
----| '"bevel"'
+---| "bevel"
---
---The styles in which lines are drawn.
@@ -2852,11 +2852,11 @@ function Video:tell() end
---
---Draw rough lines.
---
----| '"rough"'
+---| "rough"
---
---Draw smooth lines.
---
----| '"smooth"'
+---| "smooth"
---
---How a Mesh's vertices are used when drawing.
@@ -2865,19 +2865,19 @@ function Video:tell() end
---
---The vertices create a "fan" shape with the first vertex acting as the hub point. Can be easily used to draw simple convex polygons.
---
----| '"fan"'
+---| "fan"
---
---The vertices create a series of connected triangles using vertices 1, 2, 3, then 3, 2, 4 (note the order), then 3, 4, 5, and so on.
---
----| '"strip"'
+---| "strip"
---
---The vertices create unconnected triangles.
---
----| '"triangles"'
+---| "triangles"
---
---The vertices are drawn as unconnected points (see love.graphics.setPointSize.)
---
----| '"points"'
+---| "points"
---
---Controls whether a Canvas has mipmaps, and its behaviour when it does.
@@ -2886,15 +2886,15 @@ function Video:tell() end
---
---The Canvas has no mipmaps.
---
----| '"none"'
+---| "none"
---
---The Canvas has mipmaps. love.graphics.setCanvas can be used to render to a specific mipmap level, or Canvas:generateMipmaps can (re-)compute all mipmap levels based on the base level.
---
----| '"auto"'
+---| "auto"
---
---The Canvas has mipmaps, and all mipmap levels will automatically be recomputed when switching away from the Canvas with love.graphics.setCanvas.
---
----| '"manual"'
+---| "manual"
---
---How newly created particles are added to the ParticleSystem.
@@ -2903,15 +2903,15 @@ function Video:tell() end
---
---Particles are inserted at the top of the ParticleSystem's list of particles.
---
----| '"top"'
+---| "top"
---
---Particles are inserted at the bottom of the ParticleSystem's list of particles.
---
----| '"bottom"'
+---| "bottom"
---
---Particles are inserted at random positions in the ParticleSystem's list of particles.
---
----| '"random"'
+---| "random"
---
---Usage hints for SpriteBatches and Meshes to optimize data storage and access.
@@ -2920,15 +2920,15 @@ function Video:tell() end
---
---The object's data will change occasionally during its lifetime.
---
----| '"dynamic"'
+---| "dynamic"
---
---The object will not be modified after initial sprites or vertices are added.
---
----| '"static"'
+---| "static"
---
---The object data will always change between draws.
---
----| '"stream"'
+---| "stream"
---
---Graphics state stack types used with love.graphics.push.
@@ -2937,11 +2937,11 @@ function Video:tell() end
---
---The transformation stack (love.graphics.translate, love.graphics.rotate, etc.)
---
----| '"transform"'
+---| "transform"
---
---All love.graphics state, including transform state.
---
----| '"all"'
+---| "all"
---
---How a stencil function modifies the stencil values of pixels it touches.
@@ -2950,27 +2950,27 @@ function Video:tell() end
---
---The stencil value of a pixel will be replaced by the value specified in love.graphics.stencil, if any object touches the pixel.
---
----| '"replace"'
+---| "replace"
---
---The stencil value of a pixel will be incremented by 1 for each object that touches the pixel. If the stencil value reaches 255 it will stay at 255.
---
----| '"increment"'
+---| "increment"
---
---The stencil value of a pixel will be decremented by 1 for each object that touches the pixel. If the stencil value reaches 0 it will stay at 0.
---
----| '"decrement"'
+---| "decrement"
---
---The stencil value of a pixel will be incremented by 1 for each object that touches the pixel. If a stencil value of 255 is incremented it will be set to 0.
---
----| '"incrementwrap"'
+---| "incrementwrap"
---
---The stencil value of a pixel will be decremented by 1 for each object that touches the pixel. If the stencil value of 0 is decremented it will be set to 255.
---
----| '"decrementwrap"'
+---| "decrementwrap"
---
---The stencil value of a pixel will be bitwise-inverted for each object that touches the pixel. If a stencil value of 0 is inverted it will become 255.
---
----| '"invert"'
+---| "invert"
---
---Types of textures (2D, cubemap, etc.)
@@ -2979,19 +2979,19 @@ function Video:tell() end
---
---Regular 2D texture with width and height.
---
----| '"2d"'
+---| "2d"
---
---Several same-size 2D textures organized into a single object. Similar to a texture atlas / sprite sheet, but avoids sprite bleeding and other issues.
---
----| '"array"'
+---| "array"
---
---Cubemap texture with 6 faces. Requires a custom shader (and Shader:send) to use. Sampling from a cube texture in a shader takes a 3D direction vector instead of a texture coordinate.
---
----| '"cube"'
+---| "cube"
---
---3D texture with width, height, and depth. Requires a custom shader to use. Volume textures can have texture filtering applied along the 3rd axis.
---
----| '"volume"'
+---| "volume"
---
---The frequency at which a vertex shader fetches the vertex attribute's data from the Mesh when it's drawn.
@@ -3002,11 +3002,11 @@ function Video:tell() end
---
---The vertex attribute will have a unique value for each vertex in the Mesh.
---
----| '"pervertex"'
+---| "pervertex"
---
---The vertex attribute will have a unique value for each instance of the Mesh.
---
----| '"perinstance"'
+---| "perinstance"
---
---How Mesh geometry vertices are ordered.
@@ -3015,11 +3015,11 @@ function Video:tell() end
---
---Clockwise.
---
----| '"cw"'
+---| "cw"
---
---Counter-clockwise.
---
----| '"ccw"'
+---| "ccw"
---
---How the image wraps inside a Quad with a larger quad size than image size. This also affects how Meshes with texture coordinates which are outside the range of 1 are drawn, and the color returned by the Texel Shader function when using it to sample from texture coordinates outside of the range of 1.
@@ -3028,16 +3028,16 @@ function Video:tell() end
---
---Clamp the texture. Appears only once. The area outside the texture's normal range is colored based on the edge pixels of the texture.
---
----| '"clamp"'
+---| "clamp"
---
---Repeat the texture. Fills the whole available extent.
---
----| '"repeat"'
+---| "repeat"
---
---Repeat the texture, flipping it each time it repeats. May produce better visual results than the repeat mode when the texture doesn't seamlessly tile.
---
----| '"mirroredrepeat"'
+---| "mirroredrepeat"
---
---Clamp the texture. Fills the area outside the texture's normal range with transparent black (or opaque black for textures with no alpha channel.)
---
----| '"clampzero"'
+---| "clampzero"
diff --git a/meta/3rd/love2d/library/love.image.lua b/meta/3rd/love2d/library/love.image.lua
index 19d6f825..e3a1565f 100644
--- a/meta/3rd/love2d/library/love.image.lua
+++ b/meta/3rd/love2d/library/love.image.lua
@@ -25,7 +25,7 @@ function love.image.newCompressedData(filename) end
---
---Creates a new ImageData object.
---
----@overload fun(width: number, height: number, format: love.PixelFormat, data: string):love.ImageData
+---@overload fun(width: number, height: number, format?: love.PixelFormat, data?: string):love.ImageData
---@overload fun(width: number, height: number, data: string):love.ImageData
---@overload fun(filename: string):love.ImageData
---@overload fun(filedata: love.FileData):love.ImageData
@@ -200,147 +200,147 @@ function ImageData:getFormat() end
---
---The DXT1 format. RGB data at 4 bits per pixel (compared to 32 bits for ImageData and regular Images.) Suitable for fully opaque images on desktop systems.
---
----| '"DXT1"'
+---| "DXT1"
---
---The DXT3 format. RGBA data at 8 bits per pixel. Smooth variations in opacity do not mix well with this format.
---
----| '"DXT3"'
+---| "DXT3"
---
---The DXT5 format. RGBA data at 8 bits per pixel. Recommended for images with varying opacity on desktop systems.
---
----| '"DXT5"'
+---| "DXT5"
---
---The BC4 format (also known as 3Dc+ or ATI1.) Stores just the red channel, at 4 bits per pixel.
---
----| '"BC4"'
+---| "BC4"
---
---The signed variant of the BC4 format. Same as above but pixel values in the texture are in the range of 1 instead of 1 in shaders.
---
----| '"BC4s"'
+---| "BC4s"
---
---The BC5 format (also known as 3Dc or ATI2.) Stores red and green channels at 8 bits per pixel.
---
----| '"BC5"'
+---| "BC5"
---
---The signed variant of the BC5 format.
---
----| '"BC5s"'
+---| "BC5s"
---
---The BC6H format. Stores half-precision floating-point RGB data in the range of 65504 at 8 bits per pixel. Suitable for HDR images on desktop systems.
---
----| '"BC6h"'
+---| "BC6h"
---
---The signed variant of the BC6H format. Stores RGB data in the range of +65504.
---
----| '"BC6hs"'
+---| "BC6hs"
---
---The BC7 format (also known as BPTC.) Stores RGB or RGBA data at 8 bits per pixel.
---
----| '"BC7"'
+---| "BC7"
---
---The ETC1 format. RGB data at 4 bits per pixel. Suitable for fully opaque images on older Android devices.
---
----| '"ETC1"'
+---| "ETC1"
---
---The RGB variant of the ETC2 format. RGB data at 4 bits per pixel. Suitable for fully opaque images on newer mobile devices.
---
----| '"ETC2rgb"'
+---| "ETC2rgb"
---
---The RGBA variant of the ETC2 format. RGBA data at 8 bits per pixel. Recommended for images with varying opacity on newer mobile devices.
---
----| '"ETC2rgba"'
+---| "ETC2rgba"
---
---The RGBA variant of the ETC2 format where pixels are either fully transparent or fully opaque. RGBA data at 4 bits per pixel.
---
----| '"ETC2rgba1"'
+---| "ETC2rgba1"
---
---The single-channel variant of the EAC format. Stores just the red channel, at 4 bits per pixel.
---
----| '"EACr"'
+---| "EACr"
---
---The signed single-channel variant of the EAC format. Same as above but pixel values in the texture are in the range of 1 instead of 1 in shaders.
---
----| '"EACrs"'
+---| "EACrs"
---
---The two-channel variant of the EAC format. Stores red and green channels at 8 bits per pixel.
---
----| '"EACrg"'
+---| "EACrg"
---
---The signed two-channel variant of the EAC format.
---
----| '"EACrgs"'
+---| "EACrgs"
---
---The 2 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 2 bits per pixel. Textures compressed with PVRTC1 formats must be square and power-of-two sized.
---
----| '"PVR1rgb2"'
+---| "PVR1rgb2"
---
---The 4 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 4 bits per pixel.
---
----| '"PVR1rgb4"'
+---| "PVR1rgb4"
---
---The 2 bit per pixel RGBA variant of the PVRTC1 format.
---
----| '"PVR1rgba2"'
+---| "PVR1rgba2"
---
---The 4 bit per pixel RGBA variant of the PVRTC1 format.
---
----| '"PVR1rgba4"'
+---| "PVR1rgba4"
---
---The 4x4 pixels per block variant of the ASTC format. RGBA data at 8 bits per pixel.
---
----| '"ASTC4x4"'
+---| "ASTC4x4"
---
---The 5x4 pixels per block variant of the ASTC format. RGBA data at 6.4 bits per pixel.
---
----| '"ASTC5x4"'
+---| "ASTC5x4"
---
---The 5x5 pixels per block variant of the ASTC format. RGBA data at 5.12 bits per pixel.
---
----| '"ASTC5x5"'
+---| "ASTC5x5"
---
---The 6x5 pixels per block variant of the ASTC format. RGBA data at 4.27 bits per pixel.
---
----| '"ASTC6x5"'
+---| "ASTC6x5"
---
---The 6x6 pixels per block variant of the ASTC format. RGBA data at 3.56 bits per pixel.
---
----| '"ASTC6x6"'
+---| "ASTC6x6"
---
---The 8x5 pixels per block variant of the ASTC format. RGBA data at 3.2 bits per pixel.
---
----| '"ASTC8x5"'
+---| "ASTC8x5"
---
---The 8x6 pixels per block variant of the ASTC format. RGBA data at 2.67 bits per pixel.
---
----| '"ASTC8x6"'
+---| "ASTC8x6"
---
---The 8x8 pixels per block variant of the ASTC format. RGBA data at 2 bits per pixel.
---
----| '"ASTC8x8"'
+---| "ASTC8x8"
---
---The 10x5 pixels per block variant of the ASTC format. RGBA data at 2.56 bits per pixel.
---
----| '"ASTC10x5"'
+---| "ASTC10x5"
---
---The 10x6 pixels per block variant of the ASTC format. RGBA data at 2.13 bits per pixel.
---
----| '"ASTC10x6"'
+---| "ASTC10x6"
---
---The 10x8 pixels per block variant of the ASTC format. RGBA data at 1.6 bits per pixel.
---
----| '"ASTC10x8"'
+---| "ASTC10x8"
---
---The 10x10 pixels per block variant of the ASTC format. RGBA data at 1.28 bits per pixel.
---
----| '"ASTC10x10"'
+---| "ASTC10x10"
---
---The 12x10 pixels per block variant of the ASTC format. RGBA data at 1.07 bits per pixel.
---
----| '"ASTC12x10"'
+---| "ASTC12x10"
---
---The 12x12 pixels per block variant of the ASTC format. RGBA data at 0.89 bits per pixel.
---
----| '"ASTC12x12"'
+---| "ASTC12x12"
---
---Encoded image formats.
@@ -349,19 +349,19 @@ function ImageData:getFormat() end
---
---Targa image format.
---
----| '"tga"'
+---| "tga"
---
---PNG image format.
---
----| '"png"'
+---| "png"
---
---JPG image format.
---
----| '"jpg"'
+---| "jpg"
---
---BMP image format.
---
----| '"bmp"'
+---| "bmp"
---
---Pixel formats for Textures, ImageData, and CompressedImageData.
@@ -370,256 +370,256 @@ function ImageData:getFormat() end
---
---Indicates unknown pixel format, used internally.
---
----| '"unknown"'
+---| "unknown"
---
---Alias for rgba8, or srgba8 if gamma-correct rendering is enabled.
---
----| '"normal"'
+---| "normal"
---
---A format suitable for high dynamic range content - an alias for the rgba16f format, normally.
---
----| '"hdr"'
+---| "hdr"
---
---Single-channel (red component) format (8 bpp).
---
----| '"r8"'
+---| "r8"
---
---Two channels (red and green components) with 8 bits per channel (16 bpp).
---
----| '"rg8"'
+---| "rg8"
---
---8 bits per channel (32 bpp) RGBA. Color channel values range from 0-255 (0-1 in shaders).
---
----| '"rgba8"'
+---| "rgba8"
---
---gamma-correct version of rgba8.
---
----| '"srgba8"'
+---| "srgba8"
---
---Single-channel (red component) format (16 bpp).
---
----| '"r16"'
+---| "r16"
---
---Two channels (red and green components) with 16 bits per channel (32 bpp).
---
----| '"rg16"'
+---| "rg16"
---
---16 bits per channel (64 bpp) RGBA. Color channel values range from 0-65535 (0-1 in shaders).
---
----| '"rgba16"'
+---| "rgba16"
---
---Floating point single-channel format (16 bpp). Color values can range from [-65504, +65504].
---
----| '"r16f"'
+---| "r16f"
---
---Floating point two-channel format with 16 bits per channel (32 bpp). Color values can range from [-65504, +65504].
---
----| '"rg16f"'
+---| "rg16f"
---
---Floating point RGBA with 16 bits per channel (64 bpp). Color values can range from [-65504, +65504].
---
----| '"rgba16f"'
+---| "rgba16f"
---
---Floating point single-channel format (32 bpp).
---
----| '"r32f"'
+---| "r32f"
---
---Floating point two-channel format with 32 bits per channel (64 bpp).
---
----| '"rg32f"'
+---| "rg32f"
---
---Floating point RGBA with 32 bits per channel (128 bpp).
---
----| '"rgba32f"'
+---| "rgba32f"
---
---Same as rg8, but accessed as (L, L, L, A)
---
----| '"la8"'
+---| "la8"
---
---4 bits per channel (16 bpp) RGBA.
---
----| '"rgba4"'
+---| "rgba4"
---
---RGB with 5 bits each, and a 1-bit alpha channel (16 bpp).
---
----| '"rgb5a1"'
+---| "rgb5a1"
---
---RGB with 5, 6, and 5 bits each, respectively (16 bpp). There is no alpha channel in this format.
---
----| '"rgb565"'
+---| "rgb565"
---
---RGB with 10 bits per channel, and a 2-bit alpha channel (32 bpp).
---
----| '"rgb10a2"'
+---| "rgb10a2"
---
---Floating point RGB with 11 bits in the red and green channels, and 10 bits in the blue channel (32 bpp). There is no alpha channel. Color values can range from [0, +65024].
---
----| '"rg11b10f"'
+---| "rg11b10f"
---
---No depth buffer and 8-bit stencil buffer.
---
----| '"stencil8"'
+---| "stencil8"
---
---16-bit depth buffer and no stencil buffer.
---
----| '"depth16"'
+---| "depth16"
---
---24-bit depth buffer and no stencil buffer.
---
----| '"depth24"'
+---| "depth24"
---
---32-bit float depth buffer and no stencil buffer.
---
----| '"depth32f"'
+---| "depth32f"
---
---24-bit depth buffer and 8-bit stencil buffer.
---
----| '"depth24stencil8"'
+---| "depth24stencil8"
---
---32-bit float depth buffer and 8-bit stencil buffer.
---
----| '"depth32fstencil8"'
+---| "depth32fstencil8"
---
---The DXT1 format. RGB data at 4 bits per pixel (compared to 32 bits for ImageData and regular Images.) Suitable for fully opaque images on desktop systems.
---
----| '"DXT1"'
+---| "DXT1"
---
---The DXT3 format. RGBA data at 8 bits per pixel. Smooth variations in opacity do not mix well with this format.
---
----| '"DXT3"'
+---| "DXT3"
---
---The DXT5 format. RGBA data at 8 bits per pixel. Recommended for images with varying opacity on desktop systems.
---
----| '"DXT5"'
+---| "DXT5"
---
---The BC4 format (also known as 3Dc+ or ATI1.) Stores just the red channel, at 4 bits per pixel.
---
----| '"BC4"'
+---| "BC4"
---
---The signed variant of the BC4 format. Same as above but pixel values in the texture are in the range of 1 instead of 1 in shaders.
---
----| '"BC4s"'
+---| "BC4s"
---
---The BC5 format (also known as 3Dc or ATI2.) Stores red and green channels at 8 bits per pixel.
---
----| '"BC5"'
+---| "BC5"
---
---The signed variant of the BC5 format.
---
----| '"BC5s"'
+---| "BC5s"
---
---The BC6H format. Stores half-precision floating-point RGB data in the range of 65504 at 8 bits per pixel. Suitable for HDR images on desktop systems.
---
----| '"BC6h"'
+---| "BC6h"
---
---The signed variant of the BC6H format. Stores RGB data in the range of +65504.
---
----| '"BC6hs"'
+---| "BC6hs"
---
---The BC7 format (also known as BPTC.) Stores RGB or RGBA data at 8 bits per pixel.
---
----| '"BC7"'
+---| "BC7"
---
---The ETC1 format. RGB data at 4 bits per pixel. Suitable for fully opaque images on older Android devices.
---
----| '"ETC1"'
+---| "ETC1"
---
---The RGB variant of the ETC2 format. RGB data at 4 bits per pixel. Suitable for fully opaque images on newer mobile devices.
---
----| '"ETC2rgb"'
+---| "ETC2rgb"
---
---The RGBA variant of the ETC2 format. RGBA data at 8 bits per pixel. Recommended for images with varying opacity on newer mobile devices.
---
----| '"ETC2rgba"'
+---| "ETC2rgba"
---
---The RGBA variant of the ETC2 format where pixels are either fully transparent or fully opaque. RGBA data at 4 bits per pixel.
---
----| '"ETC2rgba1"'
+---| "ETC2rgba1"
---
---The single-channel variant of the EAC format. Stores just the red channel, at 4 bits per pixel.
---
----| '"EACr"'
+---| "EACr"
---
---The signed single-channel variant of the EAC format. Same as above but pixel values in the texture are in the range of 1 instead of 1 in shaders.
---
----| '"EACrs"'
+---| "EACrs"
---
---The two-channel variant of the EAC format. Stores red and green channels at 8 bits per pixel.
---
----| '"EACrg"'
+---| "EACrg"
---
---The signed two-channel variant of the EAC format.
---
----| '"EACrgs"'
+---| "EACrgs"
---
---The 2 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 2 bits per pixel. Textures compressed with PVRTC1 formats must be square and power-of-two sized.
---
----| '"PVR1rgb2"'
+---| "PVR1rgb2"
---
---The 4 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 4 bits per pixel.
---
----| '"PVR1rgb4"'
+---| "PVR1rgb4"
---
---The 2 bit per pixel RGBA variant of the PVRTC1 format.
---
----| '"PVR1rgba2"'
+---| "PVR1rgba2"
---
---The 4 bit per pixel RGBA variant of the PVRTC1 format.
---
----| '"PVR1rgba4"'
+---| "PVR1rgba4"
---
---The 4x4 pixels per block variant of the ASTC format. RGBA data at 8 bits per pixel.
---
----| '"ASTC4x4"'
+---| "ASTC4x4"
---
---The 5x4 pixels per block variant of the ASTC format. RGBA data at 6.4 bits per pixel.
---
----| '"ASTC5x4"'
+---| "ASTC5x4"
---
---The 5x5 pixels per block variant of the ASTC format. RGBA data at 5.12 bits per pixel.
---
----| '"ASTC5x5"'
+---| "ASTC5x5"
---
---The 6x5 pixels per block variant of the ASTC format. RGBA data at 4.27 bits per pixel.
---
----| '"ASTC6x5"'
+---| "ASTC6x5"
---
---The 6x6 pixels per block variant of the ASTC format. RGBA data at 3.56 bits per pixel.
---
----| '"ASTC6x6"'
+---| "ASTC6x6"
---
---The 8x5 pixels per block variant of the ASTC format. RGBA data at 3.2 bits per pixel.
---
----| '"ASTC8x5"'
+---| "ASTC8x5"
---
---The 8x6 pixels per block variant of the ASTC format. RGBA data at 2.67 bits per pixel.
---
----| '"ASTC8x6"'
+---| "ASTC8x6"
---
---The 8x8 pixels per block variant of the ASTC format. RGBA data at 2 bits per pixel.
---
----| '"ASTC8x8"'
+---| "ASTC8x8"
---
---The 10x5 pixels per block variant of the ASTC format. RGBA data at 2.56 bits per pixel.
---
----| '"ASTC10x5"'
+---| "ASTC10x5"
---
---The 10x6 pixels per block variant of the ASTC format. RGBA data at 2.13 bits per pixel.
---
----| '"ASTC10x6"'
+---| "ASTC10x6"
---
---The 10x8 pixels per block variant of the ASTC format. RGBA data at 1.6 bits per pixel.
---
----| '"ASTC10x8"'
+---| "ASTC10x8"
---
---The 10x10 pixels per block variant of the ASTC format. RGBA data at 1.28 bits per pixel.
---
----| '"ASTC10x10"'
+---| "ASTC10x10"
---
---The 12x10 pixels per block variant of the ASTC format. RGBA data at 1.07 bits per pixel.
---
----| '"ASTC12x10"'
+---| "ASTC12x10"
---
---The 12x12 pixels per block variant of the ASTC format. RGBA data at 0.89 bits per pixel.
---
----| '"ASTC12x12"'
+---| "ASTC12x12"
diff --git a/meta/3rd/love2d/library/love.joystick.lua b/meta/3rd/love2d/library/love.joystick.lua
index 29e21cd8..a6c8b206 100644
--- a/meta/3rd/love2d/library/love.joystick.lua
+++ b/meta/3rd/love2d/library/love.joystick.lua
@@ -53,7 +53,7 @@ function love.joystick.saveGamepadMappings(filename) end
---
---The virtual gamepad buttons and axes are designed around the Xbox 360 controller layout.
---
----@overload fun(guid: string, axis: love.GamepadAxis, inputtype: love.JoystickInputType, inputindex: number, hatdir: love.JoystickHat):boolean
+---@overload fun(guid: string, axis: love.GamepadAxis, inputtype: love.JoystickInputType, inputindex: number, hatdir?: love.JoystickHat):boolean
---@param guid string # The OS-dependent GUID for the type of Joystick the binding will affect.
---@param button love.GamepadButton # The virtual gamepad button to bind.
---@param inputtype love.JoystickInputType # The type of input to bind the virtual gamepad button to.
@@ -209,7 +209,7 @@ 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(self: love.Joystick):boolean
----@overload fun(self: love.Joystick, left: number, right: number, duration: number):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.
@@ -222,27 +222,27 @@ function Joystick:setVibration(left, right) end
---
---The x-axis of the left thumbstick.
---
----| '"leftx"'
+---| "leftx"
---
---The y-axis of the left thumbstick.
---
----| '"lefty"'
+---| "lefty"
---
---The x-axis of the right thumbstick.
---
----| '"rightx"'
+---| "rightx"
---
---The y-axis of the right thumbstick.
---
----| '"righty"'
+---| "righty"
---
---Left analog trigger.
---
----| '"triggerleft"'
+---| "triggerleft"
---
---Right analog trigger.
---
----| '"triggerright"'
+---| "triggerright"
---
---Virtual gamepad buttons.
@@ -251,63 +251,63 @@ function Joystick:setVibration(left, right) end
---
---Bottom face button (A).
---
----| '"a"'
+---| "a"
---
---Right face button (B).
---
----| '"b"'
+---| "b"
---
---Left face button (X).
---
----| '"x"'
+---| "x"
---
---Top face button (Y).
---
----| '"y"'
+---| "y"
---
---Back button.
---
----| '"back"'
+---| "back"
---
---Guide button.
---
----| '"guide"'
+---| "guide"
---
---Start button.
---
----| '"start"'
+---| "start"
---
---Left stick click button.
---
----| '"leftstick"'
+---| "leftstick"
---
---Right stick click button.
---
----| '"rightstick"'
+---| "rightstick"
---
---Left bumper.
---
----| '"leftshoulder"'
+---| "leftshoulder"
---
---Right bumper.
---
----| '"rightshoulder"'
+---| "rightshoulder"
---
---D-pad up.
---
----| '"dpup"'
+---| "dpup"
---
---D-pad down.
---
----| '"dpdown"'
+---| "dpdown"
---
---D-pad left.
---
----| '"dpleft"'
+---| "dpleft"
---
---D-pad right.
---
----| '"dpright"'
+---| "dpright"
---
---Joystick hat positions.
@@ -316,39 +316,39 @@ function Joystick:setVibration(left, right) end
---
---Centered
---
----| '"c"'
+---| "c"
---
---Down
---
----| '"d"'
+---| "d"
---
---Left
---
----| '"l"'
+---| "l"
---
---Left+Down
---
----| '"ld"'
+---| "ld"
---
---Left+Up
---
----| '"lu"'
+---| "lu"
---
---Right
---
----| '"r"'
+---| "r"
---
---Right+Down
---
----| '"rd"'
+---| "rd"
---
---Right+Up
---
----| '"ru"'
+---| "ru"
---
---Up
---
----| '"u"'
+---| "u"
---
---Types of Joystick inputs.
@@ -357,12 +357,12 @@ function Joystick:setVibration(left, right) end
---
---Analog axis.
---
----| '"axis"'
+---| "axis"
---
---Button.
---
----| '"button"'
+---| "button"
---
---8-direction hat value.
---
----| '"hat"'
+---| "hat"
diff --git a/meta/3rd/love2d/library/love.keyboard.lua b/meta/3rd/love2d/library/love.keyboard.lua
index 2f68c50f..0d06744f 100644
--- a/meta/3rd/love2d/library/love.keyboard.lua
+++ b/meta/3rd/love2d/library/love.keyboard.lua
@@ -86,579 +86,579 @@ function love.keyboard.setTextInput(enable) end
---
---The A key
---
----| '"a"'
+---| "a"
---
---The B key
---
----| '"b"'
+---| "b"
---
---The C key
---
----| '"c"'
+---| "c"
---
---The D key
---
----| '"d"'
+---| "d"
---
---The E key
---
----| '"e"'
+---| "e"
---
---The F key
---
----| '"f"'
+---| "f"
---
---The G key
---
----| '"g"'
+---| "g"
---
---The H key
---
----| '"h"'
+---| "h"
---
---The I key
---
----| '"i"'
+---| "i"
---
---The J key
---
----| '"j"'
+---| "j"
---
---The K key
---
----| '"k"'
+---| "k"
---
---The L key
---
----| '"l"'
+---| "l"
---
---The M key
---
----| '"m"'
+---| "m"
---
---The N key
---
----| '"n"'
+---| "n"
---
---The O key
---
----| '"o"'
+---| "o"
---
---The P key
---
----| '"p"'
+---| "p"
---
---The Q key
---
----| '"q"'
+---| "q"
---
---The R key
---
----| '"r"'
+---| "r"
---
---The S key
---
----| '"s"'
+---| "s"
---
---The T key
---
----| '"t"'
+---| "t"
---
---The U key
---
----| '"u"'
+---| "u"
---
---The V key
---
----| '"v"'
+---| "v"
---
---The W key
---
----| '"w"'
+---| "w"
---
---The X key
---
----| '"x"'
+---| "x"
---
---The Y key
---
----| '"y"'
+---| "y"
---
---The Z key
---
----| '"z"'
+---| "z"
---
---The zero key
---
----| '"0"'
+---| "0"
---
---The one key
---
----| '"1"'
+---| "1"
---
---The two key
---
----| '"2"'
+---| "2"
---
---The three key
---
----| '"3"'
+---| "3"
---
---The four key
---
----| '"4"'
+---| "4"
---
---The five key
---
----| '"5"'
+---| "5"
---
---The six key
---
----| '"6"'
+---| "6"
---
---The seven key
---
----| '"7"'
+---| "7"
---
---The eight key
---
----| '"8"'
+---| "8"
---
---The nine key
---
----| '"9"'
+---| "9"
---
---Space key
---
----| '"space"'
+---| "space"
---
---Exclamation mark key
---
----| '"!"'
+---| "!"
---
---Double quote key
---
----| '"\""'
+---| "\""
---
---Hash key
---
----| '"#"'
+---| "#"
---
---Dollar key
---
----| '"$"'
+---| "$"
---
---Ampersand key
---
----| '"&"'
+---| "&"
---
---Single quote key
---
----| '"\'"'
+---| "'"
---
---Left parenthesis key
---
----| '"("'
+---| "("
---
---Right parenthesis key
---
----| '")"'
+---| ")"
---
---Asterisk key
---
----| '"*"'
+---| "*"
---
---Plus key
---
----| '"+"'
+---| "+"
---
---Comma key
---
----| '","'
+---| ","
---
---Hyphen-minus key
---
----| '"-"'
+---| "-"
---
---Full stop key
---
----| '"."'
+---| "."
---
---Slash key
---
----| '"/"'
+---| "/"
---
---Colon key
---
----| '":"'
+---| ":"
---
---Semicolon key
---
----| '";"'
+---| ";"
---
---Less-than key
---
----| '"<"'
+---| "<"
---
---Equal key
---
----| '"="'
+---| "="
---
---Greater-than key
---
----| '">"'
+---| ">"
---
---Question mark key
---
----| '"?"'
+---| "?"
---
---At sign key
---
----| '"@"'
+---| "@"
---
---Left square bracket key
---
----| '"["'
+---| "["
---
---Backslash key
---
----| '"\\"'
+---| "\\"
---
---Right square bracket key
---
----| '"]"'
+---| "]"
---
---Caret key
---
----| '"^"'
+---| "^"
---
---Underscore key
---
----| '"_"'
+---| "_"
---
---Grave accent key
---
----| '"`"'
+---| "`"
---
---The numpad zero key
---
----| '"kp0"'
+---| "kp0"
---
---The numpad one key
---
----| '"kp1"'
+---| "kp1"
---
---The numpad two key
---
----| '"kp2"'
+---| "kp2"
---
---The numpad three key
---
----| '"kp3"'
+---| "kp3"
---
---The numpad four key
---
----| '"kp4"'
+---| "kp4"
---
---The numpad five key
---
----| '"kp5"'
+---| "kp5"
---
---The numpad six key
---
----| '"kp6"'
+---| "kp6"
---
---The numpad seven key
---
----| '"kp7"'
+---| "kp7"
---
---The numpad eight key
---
----| '"kp8"'
+---| "kp8"
---
---The numpad nine key
---
----| '"kp9"'
+---| "kp9"
---
---The numpad decimal point key
---
----| '"kp."'
+---| "kp."
---
---The numpad division key
---
----| '"kp/"'
+---| "kp/"
---
---The numpad multiplication key
---
----| '"kp*"'
+---| "kp*"
---
---The numpad substraction key
---
----| '"kp-"'
+---| "kp-"
---
---The numpad addition key
---
----| '"kp+"'
+---| "kp+"
---
---The numpad enter key
---
----| '"kpenter"'
+---| "kpenter"
---
---The numpad equals key
---
----| '"kp="'
+---| "kp="
---
---Up cursor key
---
----| '"up"'
+---| "up"
---
---Down cursor key
---
----| '"down"'
+---| "down"
---
---Right cursor key
---
----| '"right"'
+---| "right"
---
---Left cursor key
---
----| '"left"'
+---| "left"
---
---Home key
---
----| '"home"'
+---| "home"
---
---End key
---
----| '"end"'
+---| "end"
---
---Page up key
---
----| '"pageup"'
+---| "pageup"
---
---Page down key
---
----| '"pagedown"'
+---| "pagedown"
---
---Insert key
---
----| '"insert"'
+---| "insert"
---
---Backspace key
---
----| '"backspace"'
+---| "backspace"
---
---Tab key
---
----| '"tab"'
+---| "tab"
---
---Clear key
---
----| '"clear"'
+---| "clear"
---
---Return key
---
----| '"return"'
+---| "return"
---
---Delete key
---
----| '"delete"'
+---| "delete"
---
---The 1st function key
---
----| '"f1"'
+---| "f1"
---
---The 2nd function key
---
----| '"f2"'
+---| "f2"
---
---The 3rd function key
---
----| '"f3"'
+---| "f3"
---
---The 4th function key
---
----| '"f4"'
+---| "f4"
---
---The 5th function key
---
----| '"f5"'
+---| "f5"
---
---The 6th function key
---
----| '"f6"'
+---| "f6"
---
---The 7th function key
---
----| '"f7"'
+---| "f7"
---
---The 8th function key
---
----| '"f8"'
+---| "f8"
---
---The 9th function key
---
----| '"f9"'
+---| "f9"
---
---The 10th function key
---
----| '"f10"'
+---| "f10"
---
---The 11th function key
---
----| '"f11"'
+---| "f11"
---
---The 12th function key
---
----| '"f12"'
+---| "f12"
---
---The 13th function key
---
----| '"f13"'
+---| "f13"
---
---The 14th function key
---
----| '"f14"'
+---| "f14"
---
---The 15th function key
---
----| '"f15"'
+---| "f15"
---
---Num-lock key
---
----| '"numlock"'
+---| "numlock"
---
---Caps-lock key
---
----| '"capslock"'
+---| "capslock"
---
---Scroll-lock key
---
----| '"scrollock"'
+---| "scrollock"
---
---Right shift key
---
----| '"rshift"'
+---| "rshift"
---
---Left shift key
---
----| '"lshift"'
+---| "lshift"
---
---Right control key
---
----| '"rctrl"'
+---| "rctrl"
---
---Left control key
---
----| '"lctrl"'
+---| "lctrl"
---
---Right alt key
---
----| '"ralt"'
+---| "ralt"
---
---Left alt key
---
----| '"lalt"'
+---| "lalt"
---
---Right meta key
---
----| '"rmeta"'
+---| "rmeta"
---
---Left meta key
---
----| '"lmeta"'
+---| "lmeta"
---
---Left super key
---
----| '"lsuper"'
+---| "lsuper"
---
---Right super key
---
----| '"rsuper"'
+---| "rsuper"
---
---Mode key
---
----| '"mode"'
+---| "mode"
---
---Compose key
---
----| '"compose"'
+---| "compose"
---
---Pause key
---
----| '"pause"'
+---| "pause"
---
---Escape key
---
----| '"escape"'
+---| "escape"
---
---Help key
---
----| '"help"'
+---| "help"
---
---Print key
---
----| '"print"'
+---| "print"
---
---System request key
---
----| '"sysreq"'
+---| "sysreq"
---
---Break key
---
----| '"break"'
+---| "break"
---
---Menu key
---
----| '"menu"'
+---| "menu"
---
---Power key
---
----| '"power"'
+---| "power"
---
---Euro (&euro;) key
---
----| '"euro"'
+---| "euro"
---
---Undo key
---
----| '"undo"'
+---| "undo"
---
---WWW key
---
----| '"www"'
+---| "www"
---
---Mail key
---
----| '"mail"'
+---| "mail"
---
---Calculator key
---
----| '"calculator"'
+---| "calculator"
---
---Application search key
---
----| '"appsearch"'
+---| "appsearch"
---
---Application home key
---
----| '"apphome"'
+---| "apphome"
---
---Application back key
---
----| '"appback"'
+---| "appback"
---
---Application forward key
---
----| '"appforward"'
+---| "appforward"
---
---Application refresh key
---
----| '"apprefresh"'
+---| "apprefresh"
---
---Application bookmarks key
---
----| '"appbookmarks"'
+---| "appbookmarks"
---
---Keyboard scancodes.
@@ -673,776 +673,776 @@ function love.keyboard.setTextInput(enable) end
---
---The 'A' key on an American layout.
---
----| '"a"'
+---| "a"
---
---The 'B' key on an American layout.
---
----| '"b"'
+---| "b"
---
---The 'C' key on an American layout.
---
----| '"c"'
+---| "c"
---
---The 'D' key on an American layout.
---
----| '"d"'
+---| "d"
---
---The 'E' key on an American layout.
---
----| '"e"'
+---| "e"
---
---The 'F' key on an American layout.
---
----| '"f"'
+---| "f"
---
---The 'G' key on an American layout.
---
----| '"g"'
+---| "g"
---
---The 'H' key on an American layout.
---
----| '"h"'
+---| "h"
---
---The 'I' key on an American layout.
---
----| '"i"'
+---| "i"
---
---The 'J' key on an American layout.
---
----| '"j"'
+---| "j"
---
---The 'K' key on an American layout.
---
----| '"k"'
+---| "k"
---
---The 'L' key on an American layout.
---
----| '"l"'
+---| "l"
---
---The 'M' key on an American layout.
---
----| '"m"'
+---| "m"
---
---The 'N' key on an American layout.
---
----| '"n"'
+---| "n"
---
---The 'O' key on an American layout.
---
----| '"o"'
+---| "o"
---
---The 'P' key on an American layout.
---
----| '"p"'
+---| "p"
---
---The 'Q' key on an American layout.
---
----| '"q"'
+---| "q"
---
---The 'R' key on an American layout.
---
----| '"r"'
+---| "r"
---
---The 'S' key on an American layout.
---
----| '"s"'
+---| "s"
---
---The 'T' key on an American layout.
---
----| '"t"'
+---| "t"
---
---The 'U' key on an American layout.
---
----| '"u"'
+---| "u"
---
---The 'V' key on an American layout.
---
----| '"v"'
+---| "v"
---
---The 'W' key on an American layout.
---
----| '"w"'
+---| "w"
---
---The 'X' key on an American layout.
---
----| '"x"'
+---| "x"
---
---The 'Y' key on an American layout.
---
----| '"y"'
+---| "y"
---
---The 'Z' key on an American layout.
---
----| '"z"'
+---| "z"
---
---The '1' key on an American layout.
---
----| '"1"'
+---| "1"
---
---The '2' key on an American layout.
---
----| '"2"'
+---| "2"
---
---The '3' key on an American layout.
---
----| '"3"'
+---| "3"
---
---The '4' key on an American layout.
---
----| '"4"'
+---| "4"
---
---The '5' key on an American layout.
---
----| '"5"'
+---| "5"
---
---The '6' key on an American layout.
---
----| '"6"'
+---| "6"
---
---The '7' key on an American layout.
---
----| '"7"'
+---| "7"
---
---The '8' key on an American layout.
---
----| '"8"'
+---| "8"
---
---The '9' key on an American layout.
---
----| '"9"'
+---| "9"
---
---The '0' key on an American layout.
---
----| '"0"'
+---| "0"
---
---The 'return' / 'enter' key on an American layout.
---
----| '"return"'
+---| "return"
---
---The 'escape' key on an American layout.
---
----| '"escape"'
+---| "escape"
---
---The 'backspace' key on an American layout.
---
----| '"backspace"'
+---| "backspace"
---
---The 'tab' key on an American layout.
---
----| '"tab"'
+---| "tab"
---
---The spacebar on an American layout.
---
----| '"space"'
+---| "space"
---
---The minus key on an American layout.
---
----| '"-"'
+---| "-"
---
---The equals key on an American layout.
---
----| '"="'
+---| "="
---
---The left-bracket key on an American layout.
---
----| '"["'
+---| "["
---
---The right-bracket key on an American layout.
---
----| '"]"'
+---| "]"
---
---The backslash key on an American layout.
---
----| '"\\"'
+---| "\\"
---
---The non-U.S. hash scancode.
---
----| '"nonus#"'
+---| "nonus#"
---
---The semicolon key on an American layout.
---
----| '";"'
+---| ";"
---
---The apostrophe key on an American layout.
---
----| '"\'"'
+---| "'"
---
---The back-tick / grave key on an American layout.
---
----| '"`"'
+---| "`"
---
---The comma key on an American layout.
---
----| '","'
+---| ","
---
---The period key on an American layout.
---
----| '"."'
+---| "."
---
---The forward-slash key on an American layout.
---
----| '"/"'
+---| "/"
---
---The capslock key on an American layout.
---
----| '"capslock"'
+---| "capslock"
---
---The F1 key on an American layout.
---
----| '"f1"'
+---| "f1"
---
---The F2 key on an American layout.
---
----| '"f2"'
+---| "f2"
---
---The F3 key on an American layout.
---
----| '"f3"'
+---| "f3"
---
---The F4 key on an American layout.
---
----| '"f4"'
+---| "f4"
---
---The F5 key on an American layout.
---
----| '"f5"'
+---| "f5"
---
---The F6 key on an American layout.
---
----| '"f6"'
+---| "f6"
---
---The F7 key on an American layout.
---
----| '"f7"'
+---| "f7"
---
---The F8 key on an American layout.
---
----| '"f8"'
+---| "f8"
---
---The F9 key on an American layout.
---
----| '"f9"'
+---| "f9"
---
---The F10 key on an American layout.
---
----| '"f10"'
+---| "f10"
---
---The F11 key on an American layout.
---
----| '"f11"'
+---| "f11"
---
---The F12 key on an American layout.
---
----| '"f12"'
+---| "f12"
---
---The F13 key on an American layout.
---
----| '"f13"'
+---| "f13"
---
---The F14 key on an American layout.
---
----| '"f14"'
+---| "f14"
---
---The F15 key on an American layout.
---
----| '"f15"'
+---| "f15"
---
---The F16 key on an American layout.
---
----| '"f16"'
+---| "f16"
---
---The F17 key on an American layout.
---
----| '"f17"'
+---| "f17"
---
---The F18 key on an American layout.
---
----| '"f18"'
+---| "f18"
---
---The F19 key on an American layout.
---
----| '"f19"'
+---| "f19"
---
---The F20 key on an American layout.
---
----| '"f20"'
+---| "f20"
---
---The F21 key on an American layout.
---
----| '"f21"'
+---| "f21"
---
---The F22 key on an American layout.
---
----| '"f22"'
+---| "f22"
---
---The F23 key on an American layout.
---
----| '"f23"'
+---| "f23"
---
---The F24 key on an American layout.
---
----| '"f24"'
+---| "f24"
---
---The left control key on an American layout.
---
----| '"lctrl"'
+---| "lctrl"
---
---The left shift key on an American layout.
---
----| '"lshift"'
+---| "lshift"
---
---The left alt / option key on an American layout.
---
----| '"lalt"'
+---| "lalt"
---
---The left GUI (command / windows / super) key on an American layout.
---
----| '"lgui"'
+---| "lgui"
---
---The right control key on an American layout.
---
----| '"rctrl"'
+---| "rctrl"
---
---The right shift key on an American layout.
---
----| '"rshift"'
+---| "rshift"
---
---The right alt / option key on an American layout.
---
----| '"ralt"'
+---| "ralt"
---
---The right GUI (command / windows / super) key on an American layout.
---
----| '"rgui"'
+---| "rgui"
---
---The printscreen key on an American layout.
---
----| '"printscreen"'
+---| "printscreen"
---
---The scroll-lock key on an American layout.
---
----| '"scrolllock"'
+---| "scrolllock"
---
---The pause key on an American layout.
---
----| '"pause"'
+---| "pause"
---
---The insert key on an American layout.
---
----| '"insert"'
+---| "insert"
---
---The home key on an American layout.
---
----| '"home"'
+---| "home"
---
---The numlock / clear key on an American layout.
---
----| '"numlock"'
+---| "numlock"
---
---The page-up key on an American layout.
---
----| '"pageup"'
+---| "pageup"
---
---The forward-delete key on an American layout.
---
----| '"delete"'
+---| "delete"
---
---The end key on an American layout.
---
----| '"end"'
+---| "end"
---
---The page-down key on an American layout.
---
----| '"pagedown"'
+---| "pagedown"
---
---The right-arrow key on an American layout.
---
----| '"right"'
+---| "right"
---
---The left-arrow key on an American layout.
---
----| '"left"'
+---| "left"
---
---The down-arrow key on an American layout.
---
----| '"down"'
+---| "down"
---
---The up-arrow key on an American layout.
---
----| '"up"'
+---| "up"
---
---The non-U.S. backslash scancode.
---
----| '"nonusbackslash"'
+---| "nonusbackslash"
---
---The application key on an American layout. Windows contextual menu, compose key.
---
----| '"application"'
+---| "application"
---
---The 'execute' key on an American layout.
---
----| '"execute"'
+---| "execute"
---
---The 'help' key on an American layout.
---
----| '"help"'
+---| "help"
---
---The 'menu' key on an American layout.
---
----| '"menu"'
+---| "menu"
---
---The 'select' key on an American layout.
---
----| '"select"'
+---| "select"
---
---The 'stop' key on an American layout.
---
----| '"stop"'
+---| "stop"
---
---The 'again' key on an American layout.
---
----| '"again"'
+---| "again"
---
---The 'undo' key on an American layout.
---
----| '"undo"'
+---| "undo"
---
---The 'cut' key on an American layout.
---
----| '"cut"'
+---| "cut"
---
---The 'copy' key on an American layout.
---
----| '"copy"'
+---| "copy"
---
---The 'paste' key on an American layout.
---
----| '"paste"'
+---| "paste"
---
---The 'find' key on an American layout.
---
----| '"find"'
+---| "find"
---
---The keypad forward-slash key on an American layout.
---
----| '"kp/"'
+---| "kp/"
---
---The keypad '*' key on an American layout.
---
----| '"kp*"'
+---| "kp*"
---
---The keypad minus key on an American layout.
---
----| '"kp-"'
+---| "kp-"
---
---The keypad plus key on an American layout.
---
----| '"kp+"'
+---| "kp+"
---
---The keypad equals key on an American layout.
---
----| '"kp="'
+---| "kp="
---
---The keypad enter key on an American layout.
---
----| '"kpenter"'
+---| "kpenter"
---
---The keypad '1' key on an American layout.
---
----| '"kp1"'
+---| "kp1"
---
---The keypad '2' key on an American layout.
---
----| '"kp2"'
+---| "kp2"
---
---The keypad '3' key on an American layout.
---
----| '"kp3"'
+---| "kp3"
---
---The keypad '4' key on an American layout.
---
----| '"kp4"'
+---| "kp4"
---
---The keypad '5' key on an American layout.
---
----| '"kp5"'
+---| "kp5"
---
---The keypad '6' key on an American layout.
---
----| '"kp6"'
+---| "kp6"
---
---The keypad '7' key on an American layout.
---
----| '"kp7"'
+---| "kp7"
---
---The keypad '8' key on an American layout.
---
----| '"kp8"'
+---| "kp8"
---
---The keypad '9' key on an American layout.
---
----| '"kp9"'
+---| "kp9"
---
---The keypad '0' key on an American layout.
---
----| '"kp0"'
+---| "kp0"
---
---The keypad period key on an American layout.
---
----| '"kp."'
+---| "kp."
---
---The 1st international key on an American layout. Used on Asian keyboards.
---
----| '"international1"'
+---| "international1"
---
---The 2nd international key on an American layout.
---
----| '"international2"'
+---| "international2"
---
---The 3rd international key on an American layout. Yen.
---
----| '"international3"'
+---| "international3"
---
---The 4th international key on an American layout.
---
----| '"international4"'
+---| "international4"
---
---The 5th international key on an American layout.
---
----| '"international5"'
+---| "international5"
---
---The 6th international key on an American layout.
---
----| '"international6"'
+---| "international6"
---
---The 7th international key on an American layout.
---
----| '"international7"'
+---| "international7"
---
---The 8th international key on an American layout.
---
----| '"international8"'
+---| "international8"
---
---The 9th international key on an American layout.
---
----| '"international9"'
+---| "international9"
---
---Hangul/English toggle scancode.
---
----| '"lang1"'
+---| "lang1"
---
---Hanja conversion scancode.
---
----| '"lang2"'
+---| "lang2"
---
---Katakana scancode.
---
----| '"lang3"'
+---| "lang3"
---
---Hiragana scancode.
---
----| '"lang4"'
+---| "lang4"
---
---Zenkaku/Hankaku scancode.
---
----| '"lang5"'
+---| "lang5"
---
---The mute key on an American layout.
---
----| '"mute"'
+---| "mute"
---
---The volume up key on an American layout.
---
----| '"volumeup"'
+---| "volumeup"
---
---The volume down key on an American layout.
---
----| '"volumedown"'
+---| "volumedown"
---
---The audio next track key on an American layout.
---
----| '"audionext"'
+---| "audionext"
---
---The audio previous track key on an American layout.
---
----| '"audioprev"'
+---| "audioprev"
---
---The audio stop key on an American layout.
---
----| '"audiostop"'
+---| "audiostop"
---
---The audio play key on an American layout.
---
----| '"audioplay"'
+---| "audioplay"
---
---The audio mute key on an American layout.
---
----| '"audiomute"'
+---| "audiomute"
---
---The media select key on an American layout.
---
----| '"mediaselect"'
+---| "mediaselect"
---
---The 'WWW' key on an American layout.
---
----| '"www"'
+---| "www"
---
---The Mail key on an American layout.
---
----| '"mail"'
+---| "mail"
---
---The calculator key on an American layout.
---
----| '"calculator"'
+---| "calculator"
---
---The 'computer' key on an American layout.
---
----| '"computer"'
+---| "computer"
---
---The AC Search key on an American layout.
---
----| '"acsearch"'
+---| "acsearch"
---
---The AC Home key on an American layout.
---
----| '"achome"'
+---| "achome"
---
---The AC Back key on an American layout.
---
----| '"acback"'
+---| "acback"
---
---The AC Forward key on an American layout.
---
----| '"acforward"'
+---| "acforward"
---
---Th AC Stop key on an American layout.
---
----| '"acstop"'
+---| "acstop"
---
---The AC Refresh key on an American layout.
---
----| '"acrefresh"'
+---| "acrefresh"
---
---The AC Bookmarks key on an American layout.
---
----| '"acbookmarks"'
+---| "acbookmarks"
---
---The system power scancode.
---
----| '"power"'
+---| "power"
---
---The brightness-down scancode.
---
----| '"brightnessdown"'
+---| "brightnessdown"
---
---The brightness-up scancode.
---
----| '"brightnessup"'
+---| "brightnessup"
---
---The display switch scancode.
---
----| '"displayswitch"'
+---| "displayswitch"
---
---The keyboard illumination toggle scancode.
---
----| '"kbdillumtoggle"'
+---| "kbdillumtoggle"
---
---The keyboard illumination down scancode.
---
----| '"kbdillumdown"'
+---| "kbdillumdown"
---
---The keyboard illumination up scancode.
---
----| '"kbdillumup"'
+---| "kbdillumup"
---
---The eject scancode.
---
----| '"eject"'
+---| "eject"
---
---The system sleep scancode.
---
----| '"sleep"'
+---| "sleep"
---
---The alt-erase key on an American layout.
---
----| '"alterase"'
+---| "alterase"
---
---The sysreq key on an American layout.
---
----| '"sysreq"'
+---| "sysreq"
---
---The 'cancel' key on an American layout.
---
----| '"cancel"'
+---| "cancel"
---
---The 'clear' key on an American layout.
---
----| '"clear"'
+---| "clear"
---
---The 'prior' key on an American layout.
---
----| '"prior"'
+---| "prior"
---
---The 'return2' key on an American layout.
---
----| '"return2"'
+---| "return2"
---
---The 'separator' key on an American layout.
---
----| '"separator"'
+---| "separator"
---
---The 'out' key on an American layout.
---
----| '"out"'
+---| "out"
---
---The 'oper' key on an American layout.
---
----| '"oper"'
+---| "oper"
---
---The 'clearagain' key on an American layout.
---
----| '"clearagain"'
+---| "clearagain"
---
---The 'crsel' key on an American layout.
---
----| '"crsel"'
+---| "crsel"
---
---The 'exsel' key on an American layout.
---
----| '"exsel"'
+---| "exsel"
---
---The keypad 00 key on an American layout.
---
----| '"kp00"'
+---| "kp00"
---
---The keypad 000 key on an American layout.
---
----| '"kp000"'
+---| "kp000"
---
---The thousands-separator key on an American layout.
---
----| '"thsousandsseparator"'
+---| "thsousandsseparator"
---
---The decimal separator key on an American layout.
---
----| '"decimalseparator"'
+---| "decimalseparator"
---
---The currency unit key on an American layout.
---
----| '"currencyunit"'
+---| "currencyunit"
---
---The currency sub-unit key on an American layout.
---
----| '"currencysubunit"'
+---| "currencysubunit"
---
---The 'app1' scancode.
---
----| '"app1"'
+---| "app1"
---
---The 'app2' scancode.
---
----| '"app2"'
+---| "app2"
---
---An unknown key.
---
----| '"unknown"'
+---| "unknown"
diff --git a/meta/3rd/love2d/library/love.math.lua b/meta/3rd/love2d/library/love.math.lua
index cd85b1bf..53e43e3a 100644
--- a/meta/3rd/love2d/library/love.math.lua
+++ b/meta/3rd/love2d/library/love.math.lua
@@ -35,7 +35,7 @@ function love.math.colorToBytes(r, g, b, a) end
---
---Compresses a string or data using a specific compression algorithm.
---
----@overload fun(data: love.Data, format: love.CompressedDataFormat, level: number):love.CompressedData
+---@overload fun(data: love.Data, format?: love.CompressedDataFormat, level?: number):love.CompressedData
---@param rawstring string # The raw (un-compressed) string to compress.
---@param format? love.CompressedDataFormat # The format to use when compressing the string.
---@param level? number # The level of compression to use, between 0 and 9. -1 indicates the default level. The meaning of this argument depends on the compression format being used.
@@ -135,7 +135,7 @@ function love.math.newRandomGenerator() end
---
---Creates a new Transform object.
---
----@overload fun(x: number, y: number, angle: number, sx: number, sy: number, ox: number, oy: number, kx: number, ky: number):love.Transform
+---@overload fun(x: number, y: number, angle?: number, sx?: number, sy?: number, ox?: number, oy?: number, kx?: number, ky?: number):love.Transform
---@return love.Transform transform # The new Transform object.
function love.math.newTransform() end
@@ -508,8 +508,8 @@ function Transform:translate(dx, dy) end
---
---The matrix is row-major:
---
----| '"row"'
+---| "row"
---
---The matrix is column-major:
---
----| '"column"'
+---| "column"
diff --git a/meta/3rd/love2d/library/love.mouse.lua b/meta/3rd/love2d/library/love.mouse.lua
index e92a5859..e4e70f97 100644
--- a/meta/3rd/love2d/library/love.mouse.lua
+++ b/meta/3rd/love2d/library/love.mouse.lua
@@ -87,8 +87,8 @@ function love.mouse.isVisible() end
---
---The hot spot is the point the operating system uses to determine what was clicked and at what position the mouse cursor is. For example, the normal arrow pointer normally has its hot spot at the top left of the image, but a crosshair cursor might have it in the middle.
---
----@overload fun(filename: string, hotx: number, hoty: number):love.Cursor
----@overload fun(fileData: love.FileData, hotx: number, hoty: number):love.Cursor
+---@overload fun(filename: string, hotx?: number, hoty?: number):love.Cursor
+---@overload fun(fileData: love.FileData, hotx?: number, hoty?: number):love.Cursor
---@param imageData love.ImageData # The ImageData to use for the new Cursor.
---@param hotx? number # The x-coordinate in the ImageData of the cursor's hot spot.
---@param hoty? number # The y-coordinate in the ImageData of the cursor's hot spot.
@@ -166,52 +166,52 @@ function Cursor:getType() end
---
---The cursor is using a custom image.
---
----| '"image"'
+---| "image"
---
---An arrow pointer.
---
----| '"arrow"'
+---| "arrow"
---
---An I-beam, normally used when mousing over editable or selectable text.
---
----| '"ibeam"'
+---| "ibeam"
---
---Wait graphic.
---
----| '"wait"'
+---| "wait"
---
---Small wait cursor with an arrow pointer.
---
----| '"waitarrow"'
+---| "waitarrow"
---
---Crosshair symbol.
---
----| '"crosshair"'
+---| "crosshair"
---
---Double arrow pointing to the top-left and bottom-right.
---
----| '"sizenwse"'
+---| "sizenwse"
---
---Double arrow pointing to the top-right and bottom-left.
---
----| '"sizenesw"'
+---| "sizenesw"
---
---Double arrow pointing left and right.
---
----| '"sizewe"'
+---| "sizewe"
---
---Double arrow pointing up and down.
---
----| '"sizens"'
+---| "sizens"
---
---Four-pointed arrow pointing up, down, left, and right.
---
----| '"sizeall"'
+---| "sizeall"
---
---Slashed circle or crossbones.
---
----| '"no"'
+---| "no"
---
---Hand symbol.
---
----| '"hand"'
+---| "hand"
diff --git a/meta/3rd/love2d/library/love.physics.lua b/meta/3rd/love2d/library/love.physics.lua
index fbc617a1..93cb67e4 100644
--- a/meta/3rd/love2d/library/love.physics.lua
+++ b/meta/3rd/love2d/library/love.physics.lua
@@ -108,7 +108,7 @@ function love.physics.newFixture(body, shape, density) end
---
---Create a friction joint between two bodies. A FrictionJoint applies friction to a body.
---
----@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, collideConnected: boolean):love.FrictionJoint
+---@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, collideConnected?: boolean):love.FrictionJoint
---@param body1 love.Body # The first body to attach to the joint.
---@param body2 love.Body # The second body to attach to the joint.
---@param x number # The x position of the anchor point.
@@ -136,7 +136,7 @@ function love.physics.newGearJoint(joint1, joint2, ratio, collideConnected) end
---
---Position and rotation offsets can be specified once the MotorJoint has been created, as well as the maximum motor force and torque that will be be applied to reach the target offsets.
---
----@overload fun(body1: love.Body, body2: love.Body, correctionFactor: number, collideConnected: boolean):love.MotorJoint
+---@overload fun(body1: love.Body, body2: love.Body, correctionFactor?: number, collideConnected?: boolean):love.MotorJoint
---@param body1 love.Body # The first body to attach to the joint.
---@param body2 love.Body # The second body to attach to the joint.
---@param correctionFactor? number # The joint's initial position correction factor, in the range of 1.
@@ -177,8 +177,8 @@ function love.physics.newPolygonShape(x1, y1, x2, y2, x3, y3, ...) end
---
---A prismatic joint constrains two bodies to move relatively to each other on a specified axis. It does not allow for relative rotation. Its definition and operation are similar to a revolute joint, but with translation and force substituted for angle and torque.
---
----@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, ax: number, ay: number, collideConnected: boolean):love.PrismaticJoint
----@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, ax: number, ay: number, collideConnected: boolean, referenceAngle: number):love.PrismaticJoint
+---@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, ax: number, ay: number, collideConnected?: boolean):love.PrismaticJoint
+---@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, ax: number, ay: number, collideConnected?: boolean, referenceAngle?: number):love.PrismaticJoint
---@param body1 love.Body # The first body to connect with a prismatic joint.
---@param body2 love.Body # The second body to connect with a prismatic joint.
---@param x number # The x coordinate of the anchor point.
@@ -216,7 +216,7 @@ function love.physics.newPulleyJoint(body1, body2, gx1, gy1, gx2, gy2, x1, y1, x
---
---By default, the local origin is located at the '''center''' of the rectangle as opposed to the top left for graphics.
---
----@overload fun(x: number, y: number, width: number, height: number, angle: number):love.PolygonShape
+---@overload fun(x: number, y: number, width: number, height: number, angle?: number):love.PolygonShape
---@param width number # The width of the rectangle.
---@param height number # The height of the rectangle.
---@return love.PolygonShape shape # A new PolygonShape.
@@ -227,7 +227,7 @@ function love.physics.newRectangleShape(width, height) end
---
---This joint connects two bodies to a point around which they can pivot.
---
----@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, collideConnected: boolean, referenceAngle: number):love.RevoluteJoint
+---@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, collideConnected?: boolean, referenceAngle?: number):love.RevoluteJoint
---@param body1 love.Body # The first body.
---@param body2 love.Body # The second body.
---@param x number # The x position of the connecting point.
@@ -253,8 +253,8 @@ function love.physics.newRopeJoint(body1, body2, x1, y1, x2, y2, maxLength, coll
---
---Creates a constraint joint between two bodies. A WeldJoint essentially glues two bodies together. The constraint is a bit soft, however, due to Box2D's iterative solver.
---
----@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, collideConnected: boolean):love.WeldJoint
----@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, collideConnected: boolean, referenceAngle: number):love.WeldJoint
+---@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, collideConnected?: boolean):love.WeldJoint
+---@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, collideConnected?: boolean, referenceAngle?: number):love.WeldJoint
---@param body1 love.Body # The first body to attach to the joint.
---@param body2 love.Body # The second body to attach to the joint.
---@param x number # The x position of the anchor point (world space).
@@ -266,7 +266,7 @@ function love.physics.newWeldJoint(body1, body2, x, y, collideConnected) end
---
---Creates a wheel joint.
---
----@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, ax: number, ay: number, collideConnected: boolean):love.WheelJoint
+---@overload fun(body1: love.Body, body2: love.Body, x1: number, y1: number, x2: number, y2: number, ax: number, ay: number, collideConnected?: boolean):love.WheelJoint
---@param body1 love.Body # The first body.
---@param body2 love.Body # The second body.
---@param x number # The x position of the anchor point.
@@ -2325,15 +2325,15 @@ function World:update(dt, velocityiterations, positioniterations) end
---
---Static bodies do not move.
---
----| '"static"'
+---| "static"
---
---Dynamic bodies collide with all bodies.
---
----| '"dynamic"'
+---| "dynamic"
---
---Kinematic bodies only collide with dynamic bodies.
---
----| '"kinematic"'
+---| "kinematic"
---
---Different types of joints.
@@ -2342,39 +2342,39 @@ function World:update(dt, velocityiterations, positioniterations) end
---
---A DistanceJoint.
---
----| '"distance"'
+---| "distance"
---
---A FrictionJoint.
---
----| '"friction"'
+---| "friction"
---
---A GearJoint.
---
----| '"gear"'
+---| "gear"
---
---A MouseJoint.
---
----| '"mouse"'
+---| "mouse"
---
---A PrismaticJoint.
---
----| '"prismatic"'
+---| "prismatic"
---
---A PulleyJoint.
---
----| '"pulley"'
+---| "pulley"
---
---A RevoluteJoint.
---
----| '"revolute"'
+---| "revolute"
---
---A RopeJoint.
---
----| '"rope"'
+---| "rope"
---
---A WeldJoint.
---
----| '"weld"'
+---| "weld"
---
---The different types of Shapes, as returned by Shape:getType.
@@ -2383,16 +2383,16 @@ function World:update(dt, velocityiterations, positioniterations) end
---
---The Shape is a CircleShape.
---
----| '"circle"'
+---| "circle"
---
---The Shape is a PolygonShape.
---
----| '"polygon"'
+---| "polygon"
---
---The Shape is a EdgeShape.
---
----| '"edge"'
+---| "edge"
---
---The Shape is a ChainShape.
---
----| '"chain"'
+---| "chain"
diff --git a/meta/3rd/love2d/library/love.sound.lua b/meta/3rd/love2d/library/love.sound.lua
index 536336aa..c41d3380 100644
--- a/meta/3rd/love2d/library/love.sound.lua
+++ b/meta/3rd/love2d/library/love.sound.lua
@@ -9,7 +9,7 @@ love.sound = {}
---
---Attempts to find a decoder for the encoded sound data in the specified file.
---
----@overload fun(filename: string, buffer: number):love.Decoder
+---@overload fun(filename: string, buffer?: number):love.Decoder
---@param file love.File # The file with encoded sound data.
---@param buffer? number # The size of each decoded chunk, in bytes.
---@return love.Decoder decoder # A new Decoder object.
@@ -22,7 +22,7 @@ function love.sound.newDecoder(file, buffer) end
---
---@overload fun(file: love.File):love.SoundData
---@overload fun(decoder: love.Decoder):love.SoundData
----@overload fun(samples: number, rate: number, bits: number, channels: number):love.SoundData
+---@overload fun(samples: number, rate?: number, bits?: number, channels?: number):love.SoundData
---@param filename string # The file name of the file to load.
---@return love.SoundData soundData # A new SoundData object.
function love.sound.newSoundData(filename) end
diff --git a/meta/3rd/love2d/library/love.system.lua b/meta/3rd/love2d/library/love.system.lua
index 154e2f79..bfb76283 100644
--- a/meta/3rd/love2d/library/love.system.lua
+++ b/meta/3rd/love2d/library/love.system.lua
@@ -66,20 +66,20 @@ function love.system.vibrate(seconds) end
---
---Cannot determine power status.
---
----| '"unknown"'
+---| "unknown"
---
---Not plugged in, running on a battery.
---
----| '"battery"'
+---| "battery"
---
---Plugged in, no battery available.
---
----| '"nobattery"'
+---| "nobattery"
---
---Plugged in, charging battery.
---
----| '"charging"'
+---| "charging"
---
---Plugged in, battery is fully charged.
---
----| '"charged"'
+---| "charged"
diff --git a/meta/3rd/love2d/library/love.window.lua b/meta/3rd/love2d/library/love.window.lua
index 0e9004d4..9722af3b 100644
--- a/meta/3rd/love2d/library/love.window.lua
+++ b/meta/3rd/love2d/library/love.window.lua
@@ -258,7 +258,7 @@ function love.window.setVSync(vsync) end
---
---Displays a message box dialog above the love window. The message box contains a title, optional text, and buttons.
---
----@overload fun(title: string, message: string, buttonlist: table, type: love.MessageBoxType, attachtowindow: boolean):number
+---@overload fun(title: string, message: string, buttonlist: table, type?: love.MessageBoxType, attachtowindow?: boolean):number
---@param title string # The title of the message box.
---@param message string # The text inside the message box.
---@param type? love.MessageBoxType # The type of the message box.
@@ -300,23 +300,23 @@ function love.window.updateMode(width, height, settings) end
---
---Orientation cannot be determined.
---
----| '"unknown"'
+---| "unknown"
---
---Landscape orientation.
---
----| '"landscape"'
+---| "landscape"
---
---Landscape orientation (flipped).
---
----| '"landscapeflipped"'
+---| "landscapeflipped"
---
---Portrait orientation.
---
----| '"portrait"'
+---| "portrait"
---
---Portrait orientation (flipped).
---
----| '"portraitflipped"'
+---| "portraitflipped"
---
---Types of fullscreen modes.
@@ -325,15 +325,15 @@ function love.window.updateMode(width, height, settings) end
---
---Sometimes known as borderless fullscreen windowed mode. A borderless screen-sized window is created which sits on top of all desktop UI elements. The window is automatically resized to match the dimensions of the desktop, and its size cannot be changed.
---
----| '"desktop"'
+---| "desktop"
---
---Standard exclusive-fullscreen mode. Changes the display mode (actual resolution) of the monitor.
---
----| '"exclusive"'
+---| "exclusive"
---
---Standard exclusive-fullscreen mode. Changes the display mode (actual resolution) of the monitor.
---
----| '"normal"'
+---| "normal"
---
---Types of message box dialogs. Different types may have slightly different looks.
@@ -342,12 +342,12 @@ function love.window.updateMode(width, height, settings) end
---
---Informational dialog.
---
----| '"info"'
+---| "info"
---
---Warning dialog.
---
----| '"warning"'
+---| "warning"
---
---Error dialog.
---
----| '"error"'
+---| "error"