gitextract_aaj4kzw1/ ├── .gitattributes ├── .github/ │ └── workflows/ │ └── main.yml ├── .gitignore ├── CMakeLists.txt ├── changes.txt ├── extra/ │ ├── cmake/ │ │ ├── FindHarfbuzz.cmake │ │ ├── FindLuaJIT.cmake │ │ ├── FindModPlug.cmake │ │ ├── FindOgg.cmake │ │ ├── FindSDL2.cmake │ │ ├── FindTheora.cmake │ │ ├── FindVorbis.cmake │ │ ├── LoveMacros.cmake │ │ └── NSIS.template.in │ ├── resources/ │ │ ├── NotoSans-Regular.ttf.gzip │ │ └── b64.lua │ └── windows/ │ └── love.rc ├── license.txt ├── platform/ │ ├── unix/ │ │ ├── debian/ │ │ │ ├── changelog.in │ │ │ ├── compat │ │ │ ├── control.in │ │ │ ├── copyright │ │ │ ├── docs │ │ │ ├── liblove-unstable0.docs │ │ │ ├── liblove-unstable0.install │ │ │ ├── liblove0.docs │ │ │ ├── liblove0.install │ │ │ ├── love-unstable.install │ │ │ ├── love-unstable.manpages │ │ │ ├── love.install │ │ │ ├── love.manpages │ │ │ ├── rules.in │ │ │ └── source/ │ │ │ └── format │ │ ├── love.6 │ │ ├── love.desktop.in │ │ └── love.xml │ └── xcode/ │ ├── Images.xcassets/ │ │ ├── Contents.json │ │ ├── OS X AppIcon.appiconset/ │ │ │ └── Contents.json │ │ └── iOS AppIcon.appiconset/ │ │ └── Contents.json │ ├── ios/ │ │ ├── Launch Screen.xib │ │ ├── love-ios.plist │ │ └── lovedocument.icns │ ├── liblove.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── love.entitlements │ ├── love.xcodeproj/ │ │ ├── TemplateIcon.icns │ │ ├── default.pbxuser │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ └── macosx/ │ ├── liblove-macosx.plist │ ├── love-macosx.plist │ └── macos-copy-app.plist ├── readme-iOS.rtf ├── readme.md ├── src/ │ ├── .editorconfig │ ├── common/ │ │ ├── Color.h │ │ ├── Data.cpp │ │ ├── Data.h │ │ ├── EnumMap.h │ │ ├── Exception.cpp │ │ ├── Exception.h │ │ ├── Matrix.cpp │ │ ├── Matrix.h │ │ ├── Module.cpp │ │ ├── Module.h │ │ ├── Object.cpp │ │ ├── Object.h │ │ ├── Optional.h │ │ ├── Range.h │ │ ├── Reference.cpp │ │ ├── Reference.h │ │ ├── Stream.cpp │ │ ├── Stream.h │ │ ├── StringMap.cpp │ │ ├── StringMap.h │ │ ├── Variant.cpp │ │ ├── Variant.h │ │ ├── Vector.cpp │ │ ├── Vector.h │ │ ├── android.cpp │ │ ├── android.h │ │ ├── apple.h │ │ ├── apple.mm │ │ ├── b64.cpp │ │ ├── b64.h │ │ ├── config.h │ │ ├── delay.cpp │ │ ├── delay.h │ │ ├── deprecation.cpp │ │ ├── deprecation.h │ │ ├── floattypes.cpp │ │ ├── floattypes.h │ │ ├── int.h │ │ ├── ios.h │ │ ├── ios.mm │ │ ├── macos.h │ │ ├── macos.mm │ │ ├── math.h │ │ ├── memory.cpp │ │ ├── memory.h │ │ ├── pixelformat.cpp │ │ ├── pixelformat.h │ │ ├── runtime.cpp │ │ ├── runtime.h │ │ ├── types.cpp │ │ ├── types.h │ │ ├── utf8.cpp │ │ ├── utf8.h │ │ └── version.h │ ├── libraries/ │ │ ├── .editorconfig │ │ ├── Wuff/ │ │ │ ├── wuff.c │ │ │ ├── wuff.h │ │ │ ├── wuff_config.h │ │ │ ├── wuff_convert.c │ │ │ ├── wuff_convert.h │ │ │ ├── wuff_internal.c │ │ │ ├── wuff_internal.h │ │ │ └── wuff_memory.c │ │ ├── box2d/ │ │ │ ├── Box2D.h │ │ │ ├── README.MODIFIED │ │ │ ├── b2_api.h │ │ │ ├── b2_block_allocator.h │ │ │ ├── b2_body.h │ │ │ ├── b2_broad_phase.h │ │ │ ├── b2_chain_shape.h │ │ │ ├── b2_circle_shape.h │ │ │ ├── b2_collision.h │ │ │ ├── b2_common.h │ │ │ ├── b2_contact.h │ │ │ ├── b2_contact_manager.h │ │ │ ├── b2_distance.h │ │ │ ├── b2_distance_joint.h │ │ │ ├── b2_draw.h │ │ │ ├── b2_dynamic_tree.h │ │ │ ├── b2_edge_shape.h │ │ │ ├── b2_fixture.h │ │ │ ├── b2_friction_joint.h │ │ │ ├── b2_gear_joint.h │ │ │ ├── b2_growable_stack.h │ │ │ ├── b2_joint.h │ │ │ ├── b2_math.h │ │ │ ├── b2_motor_joint.h │ │ │ ├── b2_mouse_joint.h │ │ │ ├── b2_polygon_shape.h │ │ │ ├── b2_prismatic_joint.h │ │ │ ├── b2_pulley_joint.h │ │ │ ├── b2_revolute_joint.h │ │ │ ├── b2_rope.h │ │ │ ├── b2_settings.h │ │ │ ├── b2_shape.h │ │ │ ├── b2_stack_allocator.h │ │ │ ├── b2_time_of_impact.h │ │ │ ├── b2_time_step.h │ │ │ ├── b2_timer.h │ │ │ ├── b2_types.h │ │ │ ├── b2_weld_joint.h │ │ │ ├── b2_wheel_joint.h │ │ │ ├── b2_world.h │ │ │ ├── b2_world_callbacks.h │ │ │ ├── collision/ │ │ │ │ ├── b2_broad_phase.cpp │ │ │ │ ├── b2_chain_shape.cpp │ │ │ │ ├── b2_circle_shape.cpp │ │ │ │ ├── b2_collide_circle.cpp │ │ │ │ ├── b2_collide_edge.cpp │ │ │ │ ├── b2_collide_polygon.cpp │ │ │ │ ├── b2_collision.cpp │ │ │ │ ├── b2_distance.cpp │ │ │ │ ├── b2_dynamic_tree.cpp │ │ │ │ ├── b2_edge_shape.cpp │ │ │ │ ├── b2_polygon_shape.cpp │ │ │ │ └── b2_time_of_impact.cpp │ │ │ ├── common/ │ │ │ │ ├── b2_block_allocator.cpp │ │ │ │ ├── b2_draw.cpp │ │ │ │ ├── b2_math.cpp │ │ │ │ ├── b2_settings.cpp │ │ │ │ ├── b2_stack_allocator.cpp │ │ │ │ └── b2_timer.cpp │ │ │ ├── dynamics/ │ │ │ │ ├── b2_body.cpp │ │ │ │ ├── b2_chain_circle_contact.cpp │ │ │ │ ├── b2_chain_circle_contact.h │ │ │ │ ├── b2_chain_polygon_contact.cpp │ │ │ │ ├── b2_chain_polygon_contact.h │ │ │ │ ├── b2_circle_contact.cpp │ │ │ │ ├── b2_circle_contact.h │ │ │ │ ├── b2_contact.cpp │ │ │ │ ├── b2_contact_manager.cpp │ │ │ │ ├── b2_contact_solver.cpp │ │ │ │ ├── b2_contact_solver.h │ │ │ │ ├── b2_distance_joint.cpp │ │ │ │ ├── b2_edge_circle_contact.cpp │ │ │ │ ├── b2_edge_circle_contact.h │ │ │ │ ├── b2_edge_polygon_contact.cpp │ │ │ │ ├── b2_edge_polygon_contact.h │ │ │ │ ├── b2_fixture.cpp │ │ │ │ ├── b2_friction_joint.cpp │ │ │ │ ├── b2_gear_joint.cpp │ │ │ │ ├── b2_island.cpp │ │ │ │ ├── b2_island.h │ │ │ │ ├── b2_joint.cpp │ │ │ │ ├── b2_motor_joint.cpp │ │ │ │ ├── b2_mouse_joint.cpp │ │ │ │ ├── b2_polygon_circle_contact.cpp │ │ │ │ ├── b2_polygon_circle_contact.h │ │ │ │ ├── b2_polygon_contact.cpp │ │ │ │ ├── b2_polygon_contact.h │ │ │ │ ├── b2_prismatic_joint.cpp │ │ │ │ ├── b2_pulley_joint.cpp │ │ │ │ ├── b2_revolute_joint.cpp │ │ │ │ ├── b2_weld_joint.cpp │ │ │ │ ├── b2_wheel_joint.cpp │ │ │ │ ├── b2_world.cpp │ │ │ │ └── b2_world_callbacks.cpp │ │ │ └── rope/ │ │ │ └── b2_rope.cpp │ │ ├── ddsparse/ │ │ │ ├── ddsinfo.h │ │ │ ├── ddsparse.cpp │ │ │ └── ddsparse.h │ │ ├── dr/ │ │ │ ├── dr_flac.h │ │ │ └── dr_mp3.h │ │ ├── enet/ │ │ │ ├── enet.cpp │ │ │ ├── libenet/ │ │ │ │ ├── ChangeLog │ │ │ │ ├── LICENSE │ │ │ │ ├── README │ │ │ │ ├── callbacks.c │ │ │ │ ├── compress.c │ │ │ │ ├── host.c │ │ │ │ ├── include/ │ │ │ │ │ └── enet/ │ │ │ │ │ ├── callbacks.h │ │ │ │ │ ├── enet.h │ │ │ │ │ ├── list.h │ │ │ │ │ ├── protocol.h │ │ │ │ │ ├── time.h │ │ │ │ │ ├── types.h │ │ │ │ │ ├── unix.h │ │ │ │ │ ├── utility.h │ │ │ │ │ └── win32.h │ │ │ │ ├── list.c │ │ │ │ ├── packet.c │ │ │ │ ├── peer.c │ │ │ │ ├── protocol.c │ │ │ │ ├── unix.c │ │ │ │ └── win32.c │ │ │ └── lua-enet.h │ │ ├── glad/ │ │ │ ├── glad.cpp │ │ │ ├── glad.hpp │ │ │ └── gladfuncs.hpp │ │ ├── glslang/ │ │ │ ├── SPIRV/ │ │ │ │ ├── GLSL.ext.AMD.h │ │ │ │ ├── GLSL.ext.ARM.h │ │ │ │ ├── GLSL.ext.EXT.h │ │ │ │ ├── GLSL.ext.KHR.h │ │ │ │ ├── GLSL.ext.NV.h │ │ │ │ ├── GLSL.ext.QCOM.h │ │ │ │ ├── GLSL.std.450.h │ │ │ │ ├── GlslangToSpv.cpp │ │ │ │ ├── GlslangToSpv.h │ │ │ │ ├── InReadableOrder.cpp │ │ │ │ ├── Logger.cpp │ │ │ │ ├── Logger.h │ │ │ │ ├── NonSemanticDebugPrintf.h │ │ │ │ ├── NonSemanticShaderDebugInfo100.h │ │ │ │ ├── SPVRemapper.cpp │ │ │ │ ├── SPVRemapper.h │ │ │ │ ├── SpvBuilder.cpp │ │ │ │ ├── SpvBuilder.h │ │ │ │ ├── SpvPostProcess.cpp │ │ │ │ ├── SpvTools.cpp │ │ │ │ ├── SpvTools.h │ │ │ │ ├── bitutils.h │ │ │ │ ├── disassemble.cpp │ │ │ │ ├── disassemble.h │ │ │ │ ├── doc.cpp │ │ │ │ ├── doc.h │ │ │ │ ├── hex_float.h │ │ │ │ ├── spirv.hpp11 │ │ │ │ ├── spvIR.h │ │ │ │ └── spvUtil.h │ │ │ └── glslang/ │ │ │ ├── ExtensionHeaders/ │ │ │ │ └── GL_EXT_shader_realtime_clock.glsl │ │ │ ├── GenericCodeGen/ │ │ │ │ ├── CodeGen.cpp │ │ │ │ └── Link.cpp │ │ │ ├── Include/ │ │ │ │ ├── BaseTypes.h │ │ │ │ ├── Common.h │ │ │ │ ├── ConstantUnion.h │ │ │ │ ├── InfoSink.h │ │ │ │ ├── InitializeGlobals.h │ │ │ │ ├── PoolAlloc.h │ │ │ │ ├── ResourceLimits.h │ │ │ │ ├── ShHandle.h │ │ │ │ ├── SpirvIntrinsics.h │ │ │ │ ├── Types.h │ │ │ │ ├── arrays.h │ │ │ │ ├── intermediate.h │ │ │ │ └── visibility.h │ │ │ ├── MachineIndependent/ │ │ │ │ ├── Constant.cpp │ │ │ │ ├── InfoSink.cpp │ │ │ │ ├── Initialize.cpp │ │ │ │ ├── Initialize.h │ │ │ │ ├── IntermTraverse.cpp │ │ │ │ ├── Intermediate.cpp │ │ │ │ ├── LiveTraverser.h │ │ │ │ ├── ParseContextBase.cpp │ │ │ │ ├── ParseHelper.cpp │ │ │ │ ├── ParseHelper.h │ │ │ │ ├── PoolAlloc.cpp │ │ │ │ ├── RemoveTree.cpp │ │ │ │ ├── RemoveTree.h │ │ │ │ ├── Scan.cpp │ │ │ │ ├── Scan.h │ │ │ │ ├── ScanContext.h │ │ │ │ ├── ShaderLang.cpp │ │ │ │ ├── SpirvIntrinsics.cpp │ │ │ │ ├── SymbolTable.cpp │ │ │ │ ├── SymbolTable.h │ │ │ │ ├── Versions.cpp │ │ │ │ ├── Versions.h │ │ │ │ ├── attribute.cpp │ │ │ │ ├── attribute.h │ │ │ │ ├── gl_types.h │ │ │ │ ├── glslang_tab.cpp │ │ │ │ ├── glslang_tab.cpp.h │ │ │ │ ├── intermOut.cpp │ │ │ │ ├── iomapper.cpp │ │ │ │ ├── iomapper.h │ │ │ │ ├── limits.cpp │ │ │ │ ├── linkValidate.cpp │ │ │ │ ├── localintermediate.h │ │ │ │ ├── parseConst.cpp │ │ │ │ ├── parseVersions.h │ │ │ │ ├── pch.h │ │ │ │ ├── preprocessor/ │ │ │ │ │ ├── Pp.cpp │ │ │ │ │ ├── PpAtom.cpp │ │ │ │ │ ├── PpContext.cpp │ │ │ │ │ ├── PpContext.h │ │ │ │ │ ├── PpScanner.cpp │ │ │ │ │ ├── PpTokens.cpp │ │ │ │ │ └── PpTokens.h │ │ │ │ ├── propagateNoContraction.cpp │ │ │ │ ├── propagateNoContraction.h │ │ │ │ ├── reflection.cpp │ │ │ │ ├── reflection.h │ │ │ │ └── span.h │ │ │ ├── OSDependent/ │ │ │ │ ├── Unix/ │ │ │ │ │ └── ossource.cpp │ │ │ │ ├── Web/ │ │ │ │ │ ├── glslang.after.js │ │ │ │ │ ├── glslang.js.cpp │ │ │ │ │ └── glslang.pre.js │ │ │ │ ├── Windows/ │ │ │ │ │ └── ossource.cpp │ │ │ │ └── osinclude.h │ │ │ ├── Public/ │ │ │ │ ├── ResourceLimits.h │ │ │ │ └── ShaderLang.h │ │ │ ├── ResourceLimits/ │ │ │ │ └── ResourceLimits.cpp │ │ │ └── build_info.h │ │ ├── lodepng/ │ │ │ ├── lodepng.cpp │ │ │ └── lodepng.h │ │ ├── lua53/ │ │ │ ├── lprefix.h │ │ │ ├── lstrlib.c │ │ │ ├── lstrlib.h │ │ │ ├── lutf8lib.c │ │ │ └── lutf8lib.h │ │ ├── luahttps/ │ │ │ ├── Android.mk │ │ │ ├── java.txt │ │ │ ├── license.txt │ │ │ └── src/ │ │ │ ├── android/ │ │ │ │ ├── AndroidClient.cpp │ │ │ │ ├── AndroidClient.h │ │ │ │ └── java/ │ │ │ │ └── org/ │ │ │ │ └── love2d/ │ │ │ │ └── luahttps/ │ │ │ │ └── LuaHTTPS.java │ │ │ ├── apple/ │ │ │ │ ├── NSURLClient.h │ │ │ │ └── NSURLClient.mm │ │ │ ├── common/ │ │ │ │ ├── Connection.h │ │ │ │ ├── ConnectionClient.h │ │ │ │ ├── HTTPRequest.cpp │ │ │ │ ├── HTTPRequest.h │ │ │ │ ├── HTTPS.cpp │ │ │ │ ├── HTTPS.h │ │ │ │ ├── HTTPSClient.cpp │ │ │ │ ├── HTTPSClient.h │ │ │ │ ├── LibraryLoader.h │ │ │ │ ├── PlaintextConnection.cpp │ │ │ │ ├── PlaintextConnection.h │ │ │ │ └── config.h │ │ │ ├── generic/ │ │ │ │ ├── CurlClient.cpp │ │ │ │ ├── CurlClient.h │ │ │ │ ├── LinktimeLibraryLoader.cpp │ │ │ │ ├── OpenSSLConnection.cpp │ │ │ │ ├── OpenSSLConnection.h │ │ │ │ └── UnixLibraryLoader.cpp │ │ │ ├── lua/ │ │ │ │ └── main.cpp │ │ │ └── windows/ │ │ │ ├── SChannelConnection.cpp │ │ │ ├── SChannelConnection.h │ │ │ ├── WinINetClient.cpp │ │ │ ├── WinINetClient.h │ │ │ └── WindowsLibraryLoader.cpp │ │ ├── luasocket/ │ │ │ ├── libluasocket/ │ │ │ │ ├── auxiliar.c │ │ │ │ ├── auxiliar.h │ │ │ │ ├── buffer.c │ │ │ │ ├── buffer.h │ │ │ │ ├── compat.c │ │ │ │ ├── compat.h │ │ │ │ ├── except.c │ │ │ │ ├── except.h │ │ │ │ ├── ftp.lua │ │ │ │ ├── ftp.lua.h │ │ │ │ ├── headers.lua │ │ │ │ ├── headers.lua.h │ │ │ │ ├── http.lua │ │ │ │ ├── http.lua.h │ │ │ │ ├── inet.c │ │ │ │ ├── inet.h │ │ │ │ ├── io.c │ │ │ │ ├── io.h │ │ │ │ ├── ltn12.lua │ │ │ │ ├── ltn12.lua.h │ │ │ │ ├── luasocket.c │ │ │ │ ├── luasocket.h │ │ │ │ ├── makefile │ │ │ │ ├── mbox.lua │ │ │ │ ├── mbox.lua.h │ │ │ │ ├── mime.c │ │ │ │ ├── mime.h │ │ │ │ ├── mime.lua │ │ │ │ ├── mime.lua.h │ │ │ │ ├── options.c │ │ │ │ ├── options.h │ │ │ │ ├── pierror.h │ │ │ │ ├── select.c │ │ │ │ ├── select.h │ │ │ │ ├── serial.c │ │ │ │ ├── smtp.lua │ │ │ │ ├── smtp.lua.h │ │ │ │ ├── socket.h │ │ │ │ ├── socket.lua │ │ │ │ ├── socket.lua.h │ │ │ │ ├── tcp.c │ │ │ │ ├── tcp.h │ │ │ │ ├── timeout.c │ │ │ │ ├── timeout.h │ │ │ │ ├── tp.lua │ │ │ │ ├── tp.lua.h │ │ │ │ ├── udp.c │ │ │ │ ├── udp.h │ │ │ │ ├── unix.c │ │ │ │ ├── unix.h │ │ │ │ ├── unixdgram.c │ │ │ │ ├── unixdgram.h │ │ │ │ ├── unixstream.c │ │ │ │ ├── unixstream.h │ │ │ │ ├── url.lua │ │ │ │ ├── url.lua.h │ │ │ │ ├── usocket.c │ │ │ │ ├── usocket.h │ │ │ │ ├── wsocket.c │ │ │ │ └── wsocket.h │ │ │ ├── luasocket.cpp │ │ │ └── luasocket.h │ │ ├── lz4/ │ │ │ ├── lz4.c │ │ │ ├── lz4.h │ │ │ ├── lz4hc.c │ │ │ ├── lz4hc.h │ │ │ └── lz4opt.h │ │ ├── noise1234/ │ │ │ ├── noise1234.cpp │ │ │ ├── noise1234.h │ │ │ ├── simplexnoise1234.cpp │ │ │ └── simplexnoise1234.h │ │ ├── physfs/ │ │ │ ├── physfs.c │ │ │ ├── physfs.h │ │ │ ├── physfs_archiver_7z.c │ │ │ ├── physfs_archiver_dir.c │ │ │ ├── physfs_archiver_grp.c │ │ │ ├── physfs_archiver_hog.c │ │ │ ├── physfs_archiver_iso9660.c │ │ │ ├── physfs_archiver_mvl.c │ │ │ ├── physfs_archiver_qpak.c │ │ │ ├── physfs_archiver_slb.c │ │ │ ├── physfs_archiver_unpacked.c │ │ │ ├── physfs_archiver_vdf.c │ │ │ ├── physfs_archiver_wad.c │ │ │ ├── physfs_archiver_zip.c │ │ │ ├── physfs_byteorder.c │ │ │ ├── physfs_casefolding.h │ │ │ ├── physfs_internal.h │ │ │ ├── physfs_lzmasdk.h │ │ │ ├── physfs_miniz.h │ │ │ ├── physfs_platform_android.c │ │ │ ├── physfs_platform_apple.m │ │ │ ├── physfs_platform_haiku.cpp │ │ │ ├── physfs_platform_os2.c │ │ │ ├── physfs_platform_posix.c │ │ │ ├── physfs_platform_qnx.c │ │ │ ├── physfs_platform_unix.c │ │ │ ├── physfs_platform_windows.c │ │ │ ├── physfs_platform_winrt.cpp │ │ │ ├── physfs_platforms.h │ │ │ └── physfs_unicode.c │ │ ├── spirv_cross/ │ │ │ ├── GLSL.std.450.h │ │ │ ├── include/ │ │ │ │ └── spirv_cross/ │ │ │ │ ├── barrier.hpp │ │ │ │ ├── external_interface.h │ │ │ │ ├── image.hpp │ │ │ │ ├── internal_interface.hpp │ │ │ │ ├── sampler.hpp │ │ │ │ └── thread_group.hpp │ │ │ ├── spirv.hpp │ │ │ ├── spirv_cfg.cpp │ │ │ ├── spirv_cfg.hpp │ │ │ ├── spirv_common.hpp │ │ │ ├── spirv_cpp.cpp │ │ │ ├── spirv_cpp.hpp │ │ │ ├── spirv_cross.cpp │ │ │ ├── spirv_cross.hpp │ │ │ ├── spirv_cross_containers.hpp │ │ │ ├── spirv_cross_error_handling.hpp │ │ │ ├── spirv_cross_parsed_ir.cpp │ │ │ ├── spirv_cross_parsed_ir.hpp │ │ │ ├── spirv_cross_util.cpp │ │ │ ├── spirv_cross_util.hpp │ │ │ ├── spirv_glsl.cpp │ │ │ ├── spirv_glsl.hpp │ │ │ ├── spirv_hlsl.cpp │ │ │ ├── spirv_hlsl.hpp │ │ │ ├── spirv_msl.cpp │ │ │ ├── spirv_msl.hpp │ │ │ ├── spirv_parser.cpp │ │ │ ├── spirv_parser.hpp │ │ │ ├── spirv_reflect.cpp │ │ │ └── spirv_reflect.hpp │ │ ├── stb/ │ │ │ └── stb_image.h │ │ ├── tinyexr/ │ │ │ └── tinyexr.h │ │ ├── utf8/ │ │ │ ├── utf8/ │ │ │ │ ├── checked.h │ │ │ │ ├── core.h │ │ │ │ └── unchecked.h │ │ │ └── utf8.h │ │ ├── vk_video/ │ │ │ ├── vulkan_video_codec_av1std.h │ │ │ ├── vulkan_video_codec_av1std_decode.h │ │ │ ├── vulkan_video_codec_av1std_encode.h │ │ │ ├── vulkan_video_codec_h264std.h │ │ │ ├── vulkan_video_codec_h264std_decode.h │ │ │ ├── vulkan_video_codec_h264std_encode.h │ │ │ ├── vulkan_video_codec_h265std.h │ │ │ ├── vulkan_video_codec_h265std_decode.h │ │ │ ├── vulkan_video_codec_h265std_encode.h │ │ │ └── vulkan_video_codecs_common.h │ │ ├── vma/ │ │ │ └── vk_mem_alloc.h │ │ ├── volk/ │ │ │ ├── volk.c │ │ │ └── volk.h │ │ ├── vulkanheaders/ │ │ │ ├── vk_icd.h │ │ │ ├── vk_layer.h │ │ │ ├── vk_platform.h │ │ │ ├── vulkan.h │ │ │ ├── vulkan.hpp │ │ │ ├── vulkan_android.h │ │ │ ├── vulkan_beta.h │ │ │ ├── vulkan_core.h │ │ │ ├── vulkan_directfb.h │ │ │ ├── vulkan_enums.hpp │ │ │ ├── vulkan_extension_inspection.hpp │ │ │ ├── vulkan_format_traits.hpp │ │ │ ├── vulkan_fuchsia.h │ │ │ ├── vulkan_funcs.hpp │ │ │ ├── vulkan_ggp.h │ │ │ ├── vulkan_handles.hpp │ │ │ ├── vulkan_hash.hpp │ │ │ ├── vulkan_hpp_macros.hpp │ │ │ ├── vulkan_ios.h │ │ │ ├── vulkan_macos.h │ │ │ ├── vulkan_metal.h │ │ │ ├── vulkan_raii.hpp │ │ │ ├── vulkan_screen.h │ │ │ ├── vulkan_shared.hpp │ │ │ ├── vulkan_static_assertions.hpp │ │ │ ├── vulkan_structs.hpp │ │ │ ├── vulkan_to_string.hpp │ │ │ ├── vulkan_vi.h │ │ │ ├── vulkan_video.hpp │ │ │ ├── vulkan_wayland.h │ │ │ ├── vulkan_win32.h │ │ │ ├── vulkan_xcb.h │ │ │ ├── vulkan_xlib.h │ │ │ └── vulkan_xlib_xrandr.h │ │ └── xxHash/ │ │ ├── xxhash.c │ │ └── xxhash.h │ ├── love.cpp │ ├── modules/ │ │ ├── audio/ │ │ │ ├── Audio.cpp │ │ │ ├── Audio.h │ │ │ ├── Effect.cpp │ │ │ ├── Effect.h │ │ │ ├── Filter.cpp │ │ │ ├── Filter.h │ │ │ ├── RecordingDevice.cpp │ │ │ ├── RecordingDevice.h │ │ │ ├── Source.cpp │ │ │ ├── Source.h │ │ │ ├── null/ │ │ │ │ ├── Audio.cpp │ │ │ │ ├── Audio.h │ │ │ │ ├── RecordingDevice.cpp │ │ │ │ ├── RecordingDevice.h │ │ │ │ ├── Source.cpp │ │ │ │ └── Source.h │ │ │ ├── openal/ │ │ │ │ ├── Audio.cpp │ │ │ │ ├── Audio.h │ │ │ │ ├── Effect.cpp │ │ │ │ ├── Effect.h │ │ │ │ ├── Filter.cpp │ │ │ │ ├── Filter.h │ │ │ │ ├── Pool.cpp │ │ │ │ ├── Pool.h │ │ │ │ ├── RecordingDevice.cpp │ │ │ │ ├── RecordingDevice.h │ │ │ │ ├── Source.cpp │ │ │ │ └── Source.h │ │ │ ├── wrap_Audio.cpp │ │ │ ├── wrap_Audio.h │ │ │ ├── wrap_RecordingDevice.cpp │ │ │ ├── wrap_RecordingDevice.h │ │ │ ├── wrap_Source.cpp │ │ │ └── wrap_Source.h │ │ ├── data/ │ │ │ ├── ByteData.cpp │ │ │ ├── ByteData.h │ │ │ ├── CompressedData.cpp │ │ │ ├── CompressedData.h │ │ │ ├── Compressor.cpp │ │ │ ├── Compressor.h │ │ │ ├── DataModule.cpp │ │ │ ├── DataModule.h │ │ │ ├── DataStream.cpp │ │ │ ├── DataStream.h │ │ │ ├── DataView.cpp │ │ │ ├── DataView.h │ │ │ ├── HashFunction.cpp │ │ │ ├── HashFunction.h │ │ │ ├── wrap_ByteData.cpp │ │ │ ├── wrap_ByteData.h │ │ │ ├── wrap_CompressedData.cpp │ │ │ ├── wrap_CompressedData.h │ │ │ ├── wrap_Data.cpp │ │ │ ├── wrap_Data.h │ │ │ ├── wrap_Data.lua │ │ │ ├── wrap_DataModule.cpp │ │ │ ├── wrap_DataModule.h │ │ │ ├── wrap_DataView.cpp │ │ │ └── wrap_DataView.h │ │ ├── event/ │ │ │ ├── Event.cpp │ │ │ ├── Event.h │ │ │ ├── sdl/ │ │ │ │ ├── Event.cpp │ │ │ │ └── Event.h │ │ │ ├── wrap_Event.cpp │ │ │ ├── wrap_Event.h │ │ │ └── wrap_Event.lua │ │ ├── filesystem/ │ │ │ ├── File.cpp │ │ │ ├── File.h │ │ │ ├── FileData.cpp │ │ │ ├── FileData.h │ │ │ ├── Filesystem.cpp │ │ │ ├── Filesystem.h │ │ │ ├── NativeFile.cpp │ │ │ ├── NativeFile.h │ │ │ ├── physfs/ │ │ │ │ ├── File.cpp │ │ │ │ ├── File.h │ │ │ │ ├── Filesystem.cpp │ │ │ │ ├── Filesystem.h │ │ │ │ ├── PhysfsIo.cpp │ │ │ │ └── PhysfsIo.h │ │ │ ├── wrap_File.cpp │ │ │ ├── wrap_File.h │ │ │ ├── wrap_FileData.cpp │ │ │ ├── wrap_FileData.h │ │ │ ├── wrap_Filesystem.cpp │ │ │ ├── wrap_Filesystem.h │ │ │ ├── wrap_NativeFile.cpp │ │ │ └── wrap_NativeFile.h │ │ ├── font/ │ │ │ ├── BMFontRasterizer.cpp │ │ │ ├── BMFontRasterizer.h │ │ │ ├── Font.cpp │ │ │ ├── Font.h │ │ │ ├── GenericShaper.cpp │ │ │ ├── GenericShaper.h │ │ │ ├── GlyphData.cpp │ │ │ ├── GlyphData.h │ │ │ ├── ImageRasterizer.cpp │ │ │ ├── ImageRasterizer.h │ │ │ ├── NotoSans-Regular.ttf.gzip.h │ │ │ ├── Rasterizer.cpp │ │ │ ├── Rasterizer.h │ │ │ ├── TextShaper.cpp │ │ │ ├── TextShaper.h │ │ │ ├── TrueTypeRasterizer.cpp │ │ │ ├── TrueTypeRasterizer.h │ │ │ ├── freetype/ │ │ │ │ ├── Font.cpp │ │ │ │ ├── Font.h │ │ │ │ ├── HarfbuzzShaper.cpp │ │ │ │ ├── HarfbuzzShaper.h │ │ │ │ ├── TrueTypeRasterizer.cpp │ │ │ │ └── TrueTypeRasterizer.h │ │ │ ├── wrap_Font.cpp │ │ │ ├── wrap_Font.h │ │ │ ├── wrap_GlyphData.cpp │ │ │ ├── wrap_GlyphData.h │ │ │ ├── wrap_Rasterizer.cpp │ │ │ └── wrap_Rasterizer.h │ │ ├── graphics/ │ │ │ ├── Buffer.cpp │ │ │ ├── Buffer.h │ │ │ ├── Deprecations.cpp │ │ │ ├── Deprecations.h │ │ │ ├── Drawable.cpp │ │ │ ├── Drawable.h │ │ │ ├── Font.cpp │ │ │ ├── Font.h │ │ │ ├── Graphics.cpp │ │ │ ├── Graphics.h │ │ │ ├── GraphicsReadback.cpp │ │ │ ├── GraphicsReadback.h │ │ │ ├── Mesh.cpp │ │ │ ├── Mesh.h │ │ │ ├── ParticleSystem.cpp │ │ │ ├── ParticleSystem.h │ │ │ ├── Polyline.cpp │ │ │ ├── Polyline.h │ │ │ ├── Quad.cpp │ │ │ ├── Quad.h │ │ │ ├── Resource.h │ │ │ ├── Shader.cpp │ │ │ ├── Shader.h │ │ │ ├── ShaderStage.cpp │ │ │ ├── ShaderStage.h │ │ │ ├── SpriteBatch.cpp │ │ │ ├── SpriteBatch.h │ │ │ ├── StreamBuffer.cpp │ │ │ ├── StreamBuffer.h │ │ │ ├── TextBatch.cpp │ │ │ ├── TextBatch.h │ │ │ ├── Texture.cpp │ │ │ ├── Texture.h │ │ │ ├── Video.cpp │ │ │ ├── Video.h │ │ │ ├── Volatile.cpp │ │ │ ├── Volatile.h │ │ │ ├── metal/ │ │ │ │ ├── Buffer.h │ │ │ │ ├── Buffer.mm │ │ │ │ ├── Graphics.h │ │ │ │ ├── Graphics.mm │ │ │ │ ├── GraphicsReadback.h │ │ │ │ ├── GraphicsReadback.mm │ │ │ │ ├── Metal.h │ │ │ │ ├── Metal.mm │ │ │ │ ├── Shader.h │ │ │ │ ├── Shader.mm │ │ │ │ ├── ShaderStage.h │ │ │ │ ├── ShaderStage.mm │ │ │ │ ├── StreamBuffer.h │ │ │ │ ├── StreamBuffer.mm │ │ │ │ ├── Texture.h │ │ │ │ └── Texture.mm │ │ │ ├── opengl/ │ │ │ │ ├── Buffer.cpp │ │ │ │ ├── Buffer.h │ │ │ │ ├── FenceSync.cpp │ │ │ │ ├── FenceSync.h │ │ │ │ ├── Graphics.cpp │ │ │ │ ├── Graphics.h │ │ │ │ ├── GraphicsReadback.cpp │ │ │ │ ├── GraphicsReadback.h │ │ │ │ ├── OpenGL.cpp │ │ │ │ ├── OpenGL.h │ │ │ │ ├── Shader.cpp │ │ │ │ ├── Shader.h │ │ │ │ ├── ShaderStage.cpp │ │ │ │ ├── ShaderStage.h │ │ │ │ ├── StreamBuffer.cpp │ │ │ │ ├── StreamBuffer.h │ │ │ │ ├── Texture.cpp │ │ │ │ └── Texture.h │ │ │ ├── renderstate.cpp │ │ │ ├── renderstate.h │ │ │ ├── vertex.cpp │ │ │ ├── vertex.h │ │ │ ├── vulkan/ │ │ │ │ ├── Buffer.cpp │ │ │ │ ├── Buffer.h │ │ │ │ ├── Graphics.cpp │ │ │ │ ├── Graphics.h │ │ │ │ ├── GraphicsReadback.cpp │ │ │ │ ├── GraphicsReadback.h │ │ │ │ ├── Shader.cpp │ │ │ │ ├── Shader.h │ │ │ │ ├── ShaderStage.cpp │ │ │ │ ├── ShaderStage.h │ │ │ │ ├── StreamBuffer.cpp │ │ │ │ ├── StreamBuffer.h │ │ │ │ ├── Texture.cpp │ │ │ │ ├── Texture.h │ │ │ │ ├── Vulkan.cpp │ │ │ │ ├── Vulkan.h │ │ │ │ └── VulkanWrapper.h │ │ │ ├── wrap_Buffer.cpp │ │ │ ├── wrap_Buffer.h │ │ │ ├── wrap_Font.cpp │ │ │ ├── wrap_Font.h │ │ │ ├── wrap_Graphics.cpp │ │ │ ├── wrap_Graphics.h │ │ │ ├── wrap_Graphics.lua │ │ │ ├── wrap_GraphicsReadback.cpp │ │ │ ├── wrap_GraphicsReadback.h │ │ │ ├── wrap_Mesh.cpp │ │ │ ├── wrap_Mesh.h │ │ │ ├── wrap_ParticleSystem.cpp │ │ │ ├── wrap_ParticleSystem.h │ │ │ ├── wrap_Quad.cpp │ │ │ ├── wrap_Quad.h │ │ │ ├── wrap_Shader.cpp │ │ │ ├── wrap_Shader.h │ │ │ ├── wrap_SpriteBatch.cpp │ │ │ ├── wrap_SpriteBatch.h │ │ │ ├── wrap_TextBatch.cpp │ │ │ ├── wrap_TextBatch.h │ │ │ ├── wrap_Texture.cpp │ │ │ ├── wrap_Texture.h │ │ │ ├── wrap_Video.cpp │ │ │ ├── wrap_Video.h │ │ │ └── wrap_Video.lua │ │ ├── image/ │ │ │ ├── CompressedImageData.cpp │ │ │ ├── CompressedImageData.h │ │ │ ├── CompressedSlice.cpp │ │ │ ├── CompressedSlice.h │ │ │ ├── FormatHandler.cpp │ │ │ ├── FormatHandler.h │ │ │ ├── Image.cpp │ │ │ ├── Image.h │ │ │ ├── ImageData.cpp │ │ │ ├── ImageData.h │ │ │ ├── ImageDataBase.cpp │ │ │ ├── ImageDataBase.h │ │ │ ├── magpie/ │ │ │ │ ├── ASTCHandler.cpp │ │ │ │ ├── ASTCHandler.h │ │ │ │ ├── EXRHandler.cpp │ │ │ │ ├── EXRHandler.h │ │ │ │ ├── KTXHandler.cpp │ │ │ │ ├── KTXHandler.h │ │ │ │ ├── PKMHandler.cpp │ │ │ │ ├── PKMHandler.h │ │ │ │ ├── PNGHandler.cpp │ │ │ │ ├── PNGHandler.h │ │ │ │ ├── PVRHandler.cpp │ │ │ │ ├── PVRHandler.h │ │ │ │ ├── STBHandler.cpp │ │ │ │ ├── STBHandler.h │ │ │ │ ├── ddsHandler.cpp │ │ │ │ └── ddsHandler.h │ │ │ ├── wrap_CompressedImageData.cpp │ │ │ ├── wrap_CompressedImageData.h │ │ │ ├── wrap_Image.cpp │ │ │ ├── wrap_Image.h │ │ │ ├── wrap_ImageData.cpp │ │ │ ├── wrap_ImageData.h │ │ │ └── wrap_ImageData.lua │ │ ├── joystick/ │ │ │ ├── Joystick.cpp │ │ │ ├── Joystick.h │ │ │ ├── JoystickModule.h │ │ │ ├── sdl/ │ │ │ │ ├── Joystick.cpp │ │ │ │ ├── Joystick.h │ │ │ │ ├── JoystickModule.cpp │ │ │ │ └── JoystickModule.h │ │ │ ├── wrap_Joystick.cpp │ │ │ ├── wrap_Joystick.h │ │ │ ├── wrap_JoystickModule.cpp │ │ │ └── wrap_JoystickModule.h │ │ ├── keyboard/ │ │ │ ├── Keyboard.cpp │ │ │ ├── Keyboard.h │ │ │ ├── sdl/ │ │ │ │ ├── Keyboard.cpp │ │ │ │ └── Keyboard.h │ │ │ ├── wrap_Keyboard.cpp │ │ │ └── wrap_Keyboard.h │ │ ├── love/ │ │ │ ├── arg.lua │ │ │ ├── boot.lua │ │ │ ├── callbacks.lua │ │ │ ├── jitsetup.lua │ │ │ ├── love.cpp │ │ │ └── love.h │ │ ├── math/ │ │ │ ├── BezierCurve.cpp │ │ │ ├── BezierCurve.h │ │ │ ├── MathModule.cpp │ │ │ ├── MathModule.h │ │ │ ├── RandomGenerator.cpp │ │ │ ├── RandomGenerator.h │ │ │ ├── Transform.cpp │ │ │ ├── Transform.h │ │ │ ├── wrap_BezierCurve.cpp │ │ │ ├── wrap_BezierCurve.h │ │ │ ├── wrap_Math.cpp │ │ │ ├── wrap_Math.h │ │ │ ├── wrap_Math.lua │ │ │ ├── wrap_RandomGenerator.cpp │ │ │ ├── wrap_RandomGenerator.h │ │ │ ├── wrap_RandomGenerator.lua │ │ │ ├── wrap_Transform.cpp │ │ │ └── wrap_Transform.h │ │ ├── mouse/ │ │ │ ├── Cursor.cpp │ │ │ ├── Cursor.h │ │ │ ├── Mouse.h │ │ │ ├── sdl/ │ │ │ │ ├── Cursor.cpp │ │ │ │ ├── Cursor.h │ │ │ │ ├── Mouse.cpp │ │ │ │ └── Mouse.h │ │ │ ├── wrap_Cursor.cpp │ │ │ ├── wrap_Cursor.h │ │ │ ├── wrap_Mouse.cpp │ │ │ └── wrap_Mouse.h │ │ ├── physics/ │ │ │ ├── Body.cpp │ │ │ ├── Body.h │ │ │ ├── Joint.cpp │ │ │ ├── Joint.h │ │ │ ├── Shape.cpp │ │ │ ├── Shape.h │ │ │ └── box2d/ │ │ │ ├── Body.cpp │ │ │ ├── Body.h │ │ │ ├── ChainShape.cpp │ │ │ ├── ChainShape.h │ │ │ ├── CircleShape.cpp │ │ │ ├── CircleShape.h │ │ │ ├── Contact.cpp │ │ │ ├── Contact.h │ │ │ ├── DistanceJoint.cpp │ │ │ ├── DistanceJoint.h │ │ │ ├── EdgeShape.cpp │ │ │ ├── EdgeShape.h │ │ │ ├── FrictionJoint.cpp │ │ │ ├── FrictionJoint.h │ │ │ ├── GearJoint.cpp │ │ │ ├── GearJoint.h │ │ │ ├── Joint.cpp │ │ │ ├── Joint.h │ │ │ ├── MotorJoint.cpp │ │ │ ├── MotorJoint.h │ │ │ ├── MouseJoint.cpp │ │ │ ├── MouseJoint.h │ │ │ ├── Physics.cpp │ │ │ ├── Physics.h │ │ │ ├── PolygonShape.cpp │ │ │ ├── PolygonShape.h │ │ │ ├── PrismaticJoint.cpp │ │ │ ├── PrismaticJoint.h │ │ │ ├── PulleyJoint.cpp │ │ │ ├── PulleyJoint.h │ │ │ ├── RevoluteJoint.cpp │ │ │ ├── RevoluteJoint.h │ │ │ ├── RopeJoint.cpp │ │ │ ├── RopeJoint.h │ │ │ ├── Shape.cpp │ │ │ ├── Shape.h │ │ │ ├── WeldJoint.cpp │ │ │ ├── WeldJoint.h │ │ │ ├── WheelJoint.cpp │ │ │ ├── WheelJoint.h │ │ │ ├── World.cpp │ │ │ ├── World.h │ │ │ ├── wrap_Body.cpp │ │ │ ├── wrap_Body.h │ │ │ ├── wrap_ChainShape.cpp │ │ │ ├── wrap_ChainShape.h │ │ │ ├── wrap_CircleShape.cpp │ │ │ ├── wrap_CircleShape.h │ │ │ ├── wrap_Contact.cpp │ │ │ ├── wrap_Contact.h │ │ │ ├── wrap_DistanceJoint.cpp │ │ │ ├── wrap_DistanceJoint.h │ │ │ ├── wrap_EdgeShape.cpp │ │ │ ├── wrap_EdgeShape.h │ │ │ ├── wrap_FrictionJoint.cpp │ │ │ ├── wrap_FrictionJoint.h │ │ │ ├── wrap_GearJoint.cpp │ │ │ ├── wrap_GearJoint.h │ │ │ ├── wrap_Joint.cpp │ │ │ ├── wrap_Joint.h │ │ │ ├── wrap_MotorJoint.cpp │ │ │ ├── wrap_MotorJoint.h │ │ │ ├── wrap_MouseJoint.cpp │ │ │ ├── wrap_MouseJoint.h │ │ │ ├── wrap_Physics.cpp │ │ │ ├── wrap_Physics.h │ │ │ ├── wrap_PolygonShape.cpp │ │ │ ├── wrap_PolygonShape.h │ │ │ ├── wrap_PrismaticJoint.cpp │ │ │ ├── wrap_PrismaticJoint.h │ │ │ ├── wrap_PulleyJoint.cpp │ │ │ ├── wrap_PulleyJoint.h │ │ │ ├── wrap_RevoluteJoint.cpp │ │ │ ├── wrap_RevoluteJoint.h │ │ │ ├── wrap_RopeJoint.cpp │ │ │ ├── wrap_RopeJoint.h │ │ │ ├── wrap_Shape.cpp │ │ │ ├── wrap_Shape.h │ │ │ ├── wrap_WeldJoint.cpp │ │ │ ├── wrap_WeldJoint.h │ │ │ ├── wrap_WheelJoint.cpp │ │ │ ├── wrap_WheelJoint.h │ │ │ ├── wrap_World.cpp │ │ │ └── wrap_World.h │ │ ├── sensor/ │ │ │ ├── Sensor.cpp │ │ │ ├── Sensor.h │ │ │ ├── sdl/ │ │ │ │ ├── Sensor.cpp │ │ │ │ └── Sensor.h │ │ │ ├── wrap_Sensor.cpp │ │ │ └── wrap_Sensor.h │ │ ├── sound/ │ │ │ ├── Decoder.cpp │ │ │ ├── Decoder.h │ │ │ ├── Sound.cpp │ │ │ ├── Sound.h │ │ │ ├── SoundData.cpp │ │ │ ├── SoundData.h │ │ │ ├── lullaby/ │ │ │ │ ├── CoreAudioDecoder.cpp │ │ │ │ ├── CoreAudioDecoder.h │ │ │ │ ├── FLACDecoder.cpp │ │ │ │ ├── FLACDecoder.h │ │ │ │ ├── MP3Decoder.cpp │ │ │ │ ├── MP3Decoder.h │ │ │ │ ├── ModPlugDecoder.cpp │ │ │ │ ├── ModPlugDecoder.h │ │ │ │ ├── Sound.cpp │ │ │ │ ├── Sound.h │ │ │ │ ├── VorbisDecoder.cpp │ │ │ │ ├── VorbisDecoder.h │ │ │ │ ├── WaveDecoder.cpp │ │ │ │ └── WaveDecoder.h │ │ │ ├── wrap_Decoder.cpp │ │ │ ├── wrap_Decoder.h │ │ │ ├── wrap_Sound.cpp │ │ │ ├── wrap_Sound.h │ │ │ ├── wrap_SoundData.cpp │ │ │ ├── wrap_SoundData.h │ │ │ └── wrap_SoundData.lua │ │ ├── system/ │ │ │ ├── System.cpp │ │ │ ├── System.h │ │ │ ├── sdl/ │ │ │ │ ├── System.cpp │ │ │ │ └── System.h │ │ │ ├── wrap_System.cpp │ │ │ └── wrap_System.h │ │ ├── thread/ │ │ │ ├── Channel.cpp │ │ │ ├── Channel.h │ │ │ ├── LuaThread.cpp │ │ │ ├── LuaThread.h │ │ │ ├── Thread.h │ │ │ ├── ThreadModule.cpp │ │ │ ├── ThreadModule.h │ │ │ ├── sdl/ │ │ │ │ ├── Thread.cpp │ │ │ │ ├── Thread.h │ │ │ │ ├── threads.cpp │ │ │ │ └── threads.h │ │ │ ├── threads.cpp │ │ │ ├── threads.h │ │ │ ├── wrap_Channel.cpp │ │ │ ├── wrap_Channel.h │ │ │ ├── wrap_LuaThread.cpp │ │ │ ├── wrap_LuaThread.h │ │ │ ├── wrap_ThreadModule.cpp │ │ │ └── wrap_ThreadModule.h │ │ ├── timer/ │ │ │ ├── Timer.cpp │ │ │ ├── Timer.h │ │ │ ├── wrap_Timer.cpp │ │ │ └── wrap_Timer.h │ │ ├── touch/ │ │ │ ├── Touch.cpp │ │ │ ├── Touch.h │ │ │ ├── sdl/ │ │ │ │ ├── Touch.cpp │ │ │ │ └── Touch.h │ │ │ ├── wrap_Touch.cpp │ │ │ └── wrap_Touch.h │ │ ├── video/ │ │ │ ├── Video.h │ │ │ ├── VideoStream.cpp │ │ │ ├── VideoStream.h │ │ │ ├── theora/ │ │ │ │ ├── OggDemuxer.cpp │ │ │ │ ├── OggDemuxer.h │ │ │ │ ├── TheoraVideoStream.cpp │ │ │ │ ├── TheoraVideoStream.h │ │ │ │ ├── Video.cpp │ │ │ │ └── Video.h │ │ │ ├── wrap_Video.cpp │ │ │ ├── wrap_Video.h │ │ │ ├── wrap_VideoStream.cpp │ │ │ └── wrap_VideoStream.h │ │ └── window/ │ │ ├── Window.cpp │ │ ├── Window.h │ │ ├── sdl/ │ │ │ ├── Window.cpp │ │ │ └── Window.h │ │ ├── wrap_Window.cpp │ │ └── wrap_Window.h │ └── scripts/ │ ├── auto.lua │ ├── nogame.lua │ └── nogame.lua.h └── testing/ ├── classes/ │ ├── TestMethod.lua │ ├── TestModule.lua │ └── TestSuite.lua ├── conf.lua ├── examples/ │ ├── lovetest_runAllTests.html │ ├── lovetest_runAllTests.md │ └── lovetest_runAllTests.xml ├── main.lua ├── output/ │ ├── actual/ │ │ └── notes.txt │ ├── difference/ │ │ └── notes.txt │ ├── expected/ │ │ └── notes.txt │ └── notes.txt ├── readme.md ├── resources/ │ ├── alsoft.conf │ ├── click.ogg │ ├── clickmono.ogg │ ├── love.dxt1 │ ├── mappings.txt │ ├── pop.ogg │ ├── sample.ogv │ ├── test.txt │ ├── tone.ogg │ └── vk_layer_settings.txt ├── tests/ │ ├── audio.lua │ ├── data.lua │ ├── event.lua │ ├── filesystem.lua │ ├── font.lua │ ├── graphics.lua │ ├── image.lua │ ├── joystick.lua │ ├── keyboard.lua │ ├── love.lua │ ├── math.lua │ ├── mouse.lua │ ├── physics.lua │ ├── sensor.lua │ ├── sound.lua │ ├── system.lua │ ├── thread.lua │ ├── timer.lua │ ├── touch.lua │ ├── video.lua │ └── window.lua └── todo.md