I found undocumented functions

Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Forum rules
Before you make a thread asking for help, read this.
Post Reply
Andlac028
Prole
Posts: 5
Joined: Fri Dec 14, 2018 2:27 pm
Location: Slovakia

I found undocumented functions

Post by Andlac028 » Sat Apr 20, 2019 3:28 pm

Hello,

I made a simple code, that prints a structure of a table:

Code: Select all

function browse(t,i)
	for k,v in pairs(t) do
		print(i.."."..k.." - "..type(v))
		if type(v)=="table" then browse(v,i.."."..k) end
	end
end
I called browse(love,"love") and I got this result:

Code: Select all

love._version_codename - string
love.getVersion - function
love._os - string
love._modules - table
love._modules.font - userdata
love._modules.mouse - userdata
love._modules.image - userdata
love._modules.system - userdata
love._modules.audio - userdata
love._modules.touch - userdata
love._modules.physics - userdata
love._modules.joystick - userdata
love._modules.math - userdata
love._modules.timer - userdata
love._modules.graphics - userdata
love._modules.filesystem - userdata
love._modules.thread - userdata
love._modules.data - userdata
love._modules.event - userdata
love._modules.window - userdata
love._modules.keyboard - userdata
love._modules.video - userdata
love._modules.sound - userdata
love._version - string
love.init - function
love.threaderror - function
love.arg - table
love.arg.parseOption - function
love.arg.optionIndices - table
love.arg.optionIndices.1 - boolean
love.arg.options - table
love.arg.options.fused - table
love.arg.options.fused.a - number
love.arg.options.console - table
love.arg.options.console.a - number
love.arg.options.game - table
love.arg.options.game.arg - table
love.arg.options.game.arg.1 - string
love.arg.options.game.a - number
love.arg.options.game.set - boolean
love.arg.parseOptions - function
love.arg.parseGameArguments - function
love.arg.getLow - function
love._setGammaCorrect - function
love._deprecation - userdata
love._openConsole - function
love.event - table
love.event.clear - function
love.event.pump - function
love.event.poll - function
love.event.push - function
love.event.wait - function
love.event.poll_i - function
love.event.quit - function
love._version_minor - number
love.setDeprecationOutput - function
love._exe - boolean
love.physics - table
love.physics.newMouseJoint - function
love.physics.newPulleyJoint - function
love.physics.newFixture - function
love.physics.setMeter - function
love.physics.getMeter - function
love.physics.newWheelJoint - function
love.physics.newRectangleShape - function
love.physics.newFrictionJoint - function
love.physics.getDistance - function
love.physics.newMotorJoint - function
love.physics.newRopeJoint - function
love.physics.newBody - function
love.physics.newRevoluteJoint - function
love.physics.newEdgeShape - function
love.physics.newWorld - function
love.physics.newPrismaticJoint - function
love.physics.newPolygonShape - function
love.physics.newWeldJoint - function
love.physics.newGearJoint - function
love.physics.newDistanceJoint - function
love.physics.newCircleShape - function
love.physics.newChainShape - function
love.math - table
love.math.randomNormal - function
love.math.isConvex - function
love.math.setRandomState - function
love.math.compress - function
love.math.triangulate - function
love.math.newTransform - function
love.math.noise - function
love.math.getRandomSeed - function
love.math.newRandomGenerator - function
love.math.setRandomSeed - function
love.math.linearToGamma - function
love.math.gammaToLinear - function
love.math.getRandomState - function
love.math.random - function
love.math._getRandomGenerator - function
love.math.decompress - function
love.math.newBezierCurve - function
love._version_compat - table
love._version_compat.1 - string
love._version_compat.2 - string
love.thread - table
love.thread.getChannel - function
love.thread.newThread - function
love.thread.newChannel - function
love.window - table
love.window.restore - function
love.window.isMaximized - function
love.window.setFullscreen - function
love.window.updateMode - function
love.window.isMinimized - function
love.window.requestAttention - function
love.window.getDisplayCount - function
love.window.minimize - function
love.window.isVisible - function
love.window.fromPixels - function
love.window.getDisplayName - function
love.window.toPixels - function
love.window.isOpen - function
love.window.isDisplaySleepEnabled - function
love.window.setMode - function
love.window.hasMouseFocus - function
love.window.getTitle - function
love.window.setIcon - function
love.window.setTitle - function
love.window.getDesktopDimensions - function
love.window.getFullscreenModes - function
love.window.getDPIScale - function
love.window.getFullscreen - function
love.window.getPosition - function
love.window.close - function
love.window.setDisplaySleepEnabled - function
love.window.getIcon - function
love.window.setPosition - function
love.window.showMessageBox - function
love.window.getMode - function
love.window.maximize - function
love.window.hasFocus - function
love.conf - function
love.run - function
love.mouse - table
love.mouse.setX - function
love.mouse.getSystemCursor - function
love.mouse.isGrabbed - function
love.mouse.isVisible - function
love.mouse.newCursor - function
love.mouse.setVisible - function
love.mouse.getRelativeMode - function
love.mouse.setGrabbed - function
love.mouse.setCursor - function
love.mouse.getPosition - function
love.mouse.getCursor - function
love.mouse.isCursorSupported - function
love.mouse.setY - function
love.mouse.setPosition - function
love.mouse.getX - function
love.mouse.getY - function
love.mouse.isDown - function
love.mouse.setRelativeMode - function
love.image - table
love.image.newCubeFaces - function
love.image.isCompressed - function
love.image.newImageData - function
love.image.newCompressedData - function
love.isVersionCompatible - function
love.errhand - function
love.font - table
love.font.newImageRasterizer - function
love.font.newGlyphData - function
love.font.newTrueTypeRasterizer - function
love.font.newBMFontRasterizer - function
love.font.newRasterizer - function
love.filesystem - table
love.filesystem.unmount - function
love.filesystem.write - function
love.filesystem.setIdentity - function
love.filesystem.setCRequirePath - function
love.filesystem._setAndroidSaveExternal - function
love.filesystem.getExecutablePath - function
love.filesystem.getCRequirePath - function
love.filesystem.init - function
love.filesystem.newFileData - function
love.filesystem.isSymlink - function
love.filesystem.append - function
love.filesystem.getUserDirectory - function
love.filesystem.createDirectory - function
love.filesystem.getInfo - function
love.filesystem.areSymlinksEnabled - function
love.filesystem.exists - function
love.filesystem.newFile - function
love.filesystem.getSaveDirectory - function
love.filesystem.mount - function
love.filesystem.getRequirePath - function
love.filesystem.getWorkingDirectory - function
love.filesystem.getSize - function
love.filesystem.setRequirePath - function
love.filesystem.isFused - function
love.filesystem.getDirectoryItems - function
love.filesystem.setSource - function
love.filesystem.getLastModified - function
love.filesystem.isFile - function
love.filesystem.isDirectory - function
love.filesystem.getIdentity - function
love.filesystem.setFused - function
love.filesystem.getAppdataDirectory - function
love.filesystem.lines - function
love.filesystem.load - function
love.filesystem.remove - function
love.filesystem.getSource - function
love.filesystem.getRealDirectory - function
love.filesystem.read - function
love.filesystem.setSymlinksEnabled - function
love.filesystem.getSourceBaseDirectory - function
love.audio - table
love.audio.stop - function
love.audio.setVelocity - function
love.audio.getSourceCount - function
love.audio.getActiveEffects - function
love.audio.getActiveSourceCount - function
love.audio.setVolume - function
love.audio.getDopplerScale - function
love.audio.setMixWithSystem - function
love.audio.play - function
love.audio.setOrientation - function
love.audio.isEffectsSupported - function
love.audio.getMaxSourceEffects - function
love.audio.getMaxSceneEffects - function
love.audio.getEffect - function
love.audio.newSource - function
love.audio.pause - function
love.audio.setDistanceModel - function
love.audio.getRecordingDevices - function
love.audio.getVelocity - function
love.audio.newQueueableSource - function
love.audio.getDistanceModel - function
love.audio.getOrientation - function
love.audio.setPosition - function
love.audio.setEffect - function
love.audio.getPosition - function
love.audio.getVolume - function
love.audio.setDopplerScale - function
love.system - table
love.system.hasBackgroundMusic - function
love.system.setClipboardText - function
love.system.vibrate - function
love.system.openURL - function
love.system.getPowerInfo - function
love.system.getClipboardText - function
love.system.getOS - function
love.system.getProcessorCount - function
love.boot - function
love.hasDeprecationOutput - function
love.touch - table
love.touch.getPressure - function
love.touch.getTouches - function
love.touch.getPosition - function
love.joystick - table
love.joystick.saveGamepadMappings - function
love.joystick.setGamepadMapping - function
love.joystick.loadGamepadMappings - function
love.joystick.getJoystickCount - function
love.joystick.getJoysticks - function
love._version_revision - number
love.timer - table
love.timer.step - function
love.timer.getDelta - function
love.timer.getTime - function
love.timer.getAverageDelta - function
love.timer.sleep - function
love.timer.getFPS - function
love.graphics - table
love.graphics.getTextureTypes - function
love.graphics.setDefaultMipmapFilter - function
love.graphics.getStats - function
love.graphics.newParticleSystem - function
love.graphics.setFont - function
love.graphics.newQuad - function
love.graphics.getDefaultFilter - function
love.graphics.inverseTransformPoint - function
love.graphics.getStackDepth - function
love.graphics.setDefaultFilter - function
love.graphics.shear - function
love.graphics.translate - function
love.graphics.print - function
love.graphics.newShader - function
love.graphics.getPixelWidth - function
love.graphics.getBlendMode - function
love.graphics.newMesh - function
love.graphics.getMeshCullMode - function
love.graphics.present - function
love.graphics.drawLayer - function
love.graphics.newVolumeImage - function
love.graphics.scale - function
love.graphics.getLineStyle - function
love.graphics.setBlendMode - function
love.graphics.getImageFormats - function
love.graphics.getLineJoin - function
love.graphics.draw - function
love.graphics.getFont - function
love.graphics.setMeshCullMode - function
love.graphics.getDepthMode - function
love.graphics.newVideo - function
love.graphics.getFrontFaceWinding - function
love.graphics.getDPIScale - function
love.graphics.getCanvasFormats - function
love.graphics.discard - function
love.graphics.setStencilTest - function
love.graphics._shaderCodeToGLSL - function
love.graphics.newImageFont - function
love.graphics.origin - function
love.graphics.push - function
love.graphics.newArrayImage - function
love.graphics.clear - function
love.graphics.getHeight - function
love.graphics.setFrontFaceWinding - function
love.graphics.reset - function
love.graphics.newSpriteBatch - function
love.graphics.newImage - function
love.graphics.rectangle - function
love.graphics.isCreated - function
love.graphics.stencil - function
love.graphics.getShader - function
love.graphics.setNewFont - function
love.graphics.pop - function
love.graphics.flushBatch - function
love.graphics.getScissor - function
love.graphics.polygon - function
love.graphics.arc - function
love.graphics.ellipse - function
love.graphics.circle - function
love.graphics._newVideo - function
love.graphics.newCubeImage - function
love.graphics.setColor - function
love.graphics.line - function
love.graphics.points - function
love.graphics.setBackgroundColor - function
love.graphics.setColorMask - function
love.graphics.setLineStyle - function
love.graphics.getStencilTest - function
love.graphics._transformGLSLErrorMessages - function
love.graphics.getRendererInfo - function
love.graphics.isActive - function
love.graphics.rotate - function
love.graphics.intersectScissor - function
love.graphics.setScissor - function
love.graphics.printf - function
love.graphics.getPixelHeight - function
love.graphics.getDimensions - function
love.graphics.replaceTransform - function
love.graphics.captureScreenshot - function
love.graphics.getWidth - function
love.graphics.isGammaCorrect - function
love.graphics.setPointSize - function
love.graphics.getPixelDimensions - function
love.graphics.drawInstanced - function
love.graphics.getColorMask - function
love.graphics.transformPoint - function
love.graphics.setLineWidth - function
love.graphics.newCanvas - function
love.graphics.setDepthMode - function
love.graphics.getColor - function
love.graphics.validateShader - function
love.graphics.getDefaultMipmapFilter - function
love.graphics.getSystemLimits - function
love.graphics.applyTransform - function
love.graphics.setShader - function
love.graphics.setLineJoin - function
love.graphics.newFont - function
love.graphics.setCanvas - function
love.graphics.getLineWidth - function
love.graphics.newText - function
love.graphics.getPointSize - function
love.graphics.getBackgroundColor - function
love.graphics.setWireframe - function
love.graphics.isWireframe - function
love.graphics._setDefaultShaderCode - function
love.graphics.getCanvas - function
love.graphics.getSupported - function
love.path - table
love.path.getFull - function
love.path.endslash - function
love.path.abs - function
love.path.normalslashes - function
love.path.leaf - function
love.createhandlers - function
love.data - table
love.data.newByteData - function
love.data.encode - function
love.data.hash - function
love.data.compress - function
love.data.getPackedSize - function
love.data.decode - function
love.data.unpack - function
love.data.newDataView - function
love.data.decompress - function
love.data.pack - function
love.handlers - table
love.handlers.gamepadreleased - function
love.handlers.focus - function
love.handlers.touchpressed - function
love.handlers.lowmemory - function
love.handlers.quit - function
love.handlers.textinput - function
love.handlers.wheelmoved - function
love.handlers.resize - function
love.handlers.directorydropped - function
love.handlers.touchreleased - function
love.handlers.joystickhat - function
love.handlers.joystickaxis - function
love.handlers.joystickpressed - function
love.handlers.threaderror - function
love.handlers.gamepadpressed - function
love.handlers.visible - function
love.handlers.joystickreleased - function
love.handlers.joystickremoved - function
love.handlers.gamepadaxis - function
love.handlers.textedited - function
love.handlers.mousefocus - function
love.handlers.filedropped - function
love.handlers.mousepressed - function
love.handlers.keyreleased - function
love.handlers.touchmoved - function
love.handlers.mousemoved - function
love.handlers.joystickadded - function
love.handlers.mousereleased - function
love.handlers.keypressed - function
love.sound - table
love.sound.newSoundData - function
love.sound.newDecoder - function
love.keyboard - table
love.keyboard.setTextInput - function
love.keyboard.hasTextInput - function
love.keyboard.getScancodeFromKey - function
love.keyboard.hasScreenKeyboard - function
love.keyboard.setKeyRepeat - function
love.keyboard.getKeyFromScancode - function
love.keyboard.isDown - function
love.keyboard.hasKeyRepeat - function
love.keyboard.isScancodeDown - function
love.video - table
love.video.newVideoStream - function
love._version_major - number
But when I looked at the result, I found some functions, that are not documented on the wiki (for example love.keyboard.hasScreenKeyboard or love.image.newCubeFaces)

User avatar
zorg
Party member
Posts: 2619
Joined: Thu Dec 13, 2012 2:55 pm
Location: Absurdistan, Hungary
Contact:

Re: I found undocumented functions

Post by zorg » Sat Apr 20, 2019 5:27 pm

Some of the newer functions that were added with version 11.0 haven't yet been documented. Feel free to help out, if even with just having a list of only the ones not on the wiki... or join the discord server and post it into #docs-development; the wiki is editable by all that have forum accounts.

The stuff with underscores at the start of their names are internal stuff and are not part of the (mostly) stable API... and they have alternate means for accessing them (like there's a function that can get the version, so people don't need to use love._version_major and similar)
Me and my stuff :3True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 8 guests