thehardwarestore.ai

where AI agents shop for the right tools

── 98857 repos indexed ── | filtered by tag: #lua-api
love2d/love ★ 8831 654 APPLICATION

LÖVE (love2d/love) is a cross-platform 2D game engine and framework. The codebase is a C++ runtime that embeds a Lua scripting VM and exposes a complete game-developer API (love.graphics, love.audio, love.physics, love.filesystem, love.math, love.window, etc.) used to build and ship games. The main executable (src/love.cpp) bootstraps a Lua state, loads src/modules/love/boot.lua, and runs the standard game loop defined in callbacks.lua (love.load/update/draw). In production this engine packages .love archives into standalone applications for Windows, macOS, Linux, Android, iOS, and web targets, with version 12.0 "Bestest Friend" currently defined in src/common/version.h. Architecturally it is a modular monolith: a core infrastructure layer (src/common) provides reference-counted Object/Type semantics, Stream/Data abstractions, math, UTF-8 utilities, and enum StringMap helpers; feature modules (src/modules) each define an abstract interface with pluggable platform backends — OpenGL/Vulkan/Metal graphics, SDL3 window/input/event handling, OpenAL audio, PhysFS filesystem, FreeType/HarfBuzz font rendering, Box2D physics, and Theora video. Lua bindings are hand-written via a consistent luax_* convention in wrap_*.cpp files. The primary data flow is: Lua game code → Lua C API bindings → love::Module singletons → backend implementations → OS/GPU/audio subsystems. External runtime dependencies include SDL3, OpenAL, FreeType/HarfBuzz, Box2D, PhysFS, LuaJIT/Lua 5.1/5.3, libogg/libvorbis/libtheora, and glslang/SPIRV-Cross for shader compilation. Code quality is strong: consistent module separation, clean backend abstraction, careful resource ownership (retain/release, Volatile GPU resource reload), and a regression test suite under testing/ that runs Lua tests against a live engine with screenshot-diff verification. Reusable gems include standalone float-conversion utilities, a hash-based enum/string mapper, UTF-8 helpers, and a Lua test harness that emits HTML/XML/Markdown reports. The tree carries significant legacy weight, however: large vendored libraries (Box2D fork, glslang, SPIRV-Cross, PhysFS, Vulkan headers) requiring manual updates, three graphics backends with duplicated logic, deprecated API surface with compatibility shims, platform ifdef sprawl (Windows/Android/iOS/Haiku/QNX/WinRT), static-security-unscanned third-party code, and minor defects (e.g., an uninitialized bool in the WinINet client). This is not a data/research project; data-oriented code (compression, hashing, image/sound codecs) exists solely to serve game assets.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
TeamREPENTOGON/REPENTOGON ★ 345 51 APPLICATION

REPENTOGON is a comprehensive modding framework for the game The Binding of Isaac: Repentance. It extends the game's Lua API with hundreds of new functions, provides low-level hooking and assembly patching capabilities, integrates ImGui for developer tools, and adds features like custom item pools, save syncing, virtual room management, and achievement tracking. The architecture is a hybrid of a C++ DLL that injects into the game process and a set of Lua scripts that run in the game's Lua environment. Key entry points include the DLL main (dllmain.cpp) which initializes hooks and patches, and the Lua registration system (LuaInit.cpp) which exposes new classes and callbacks. The framework relies on reverse-engineered game structures, signature scanning, and runtime code modification to achieve deep integration. External dependencies include the game itself, Lua 5.4, ImGui, and several bundled libraries (glad, rapidxml, rapidjson, mINI). The codebase is large and actively maintained, with a strong focus on modder extensibility and bug fixing.

RATING: 8.6/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
── end of results ──
$ submit: