1
0
Fork
You've already forked alf-libs
0
No description
  • Fennel 84.7%
  • Lua 13.9%
  • GLSL 0.5%
  • Shell 0.5%
  • Emacs Lisp 0.3%
2026年06月29日 21:12:39 -04:00
assets added autotile for rectangles 2026年06月29日 21:12:39 -04:00
example Fixed tile render issue and reordered wrap call in run 2026年03月13日 08:49:06 -04:00
lib added autotile for rectangles 2026年06月29日 21:12:39 -04:00
scripts Updated tile-layer and renderable to no longer depend on map 2026年03月12日 12:19:23 -04:00
.gitignore added export for currently implemented libraries and build process 2026年01月08日 12:15:05 -05:00
flsproject.fnl Began working on rect-map 2026年02月20日 13:16:37 -05:00
LICENCE Initial Commit 2026年01月08日 00:24:10 -05:00
makefile Fixed html bugs 2026年03月15日 00:40:16 -04:00
params.fnl Began working on rect-map 2026年02月20日 13:16:37 -05:00
README.org Renamed frames framestate added background to frameset 2026年01月27日 18:21:24 -05:00

Alex's Love2d Fennel Libraries

This is a collection of the libraries I've developed when working on my game jam games. The purpose of this repository is to curate and clean up code written for specific games so they can be used for multiple projects. Some of these libraries depend on one another, and some depend on third-party libraries, vendored in the third-party library directory.

Note, each example file has a .git directory that contains a single empty keep file. To find the project root, fennel-ls searches for a .git directory, so this lets us create sub flsprojects under each example.

Libraries

  • FLT Macros for supporting completion with metatables and fennel-ls
  • HSLRGB Macros for handling HSL and RGB at macro expansion time
  • PER Macros for handling persistence across reloads
  • LOGGER A logger macro
  • TODO MAP Library for hex and rect maps
  • SUBBOXER Library for relative placement of non-overlapping sub rectangles
  • INVENTORY A simple inventory implementation
  • FRAMESATE
  • CAMERA
  • TODO SHADERS My collection of shaders
  • WATCHER A tool for loading assets and hotloading assets.
  • MGC Manual Garbage Collection
  • STATE MACHINE

Third Party Libraries

There are numerous lua / love2d libraries that are used in my libraries (or just in my games). I've vendored them all in THIRD PARTY.

Installation

The contents of the lib directory as a whole may be copied into the lib directory of your project. Alternatively, you can extract just the library code using the build.fnl script.

 git clone https://codeberg.org/alexjgriffith/alf-libs.git
 cd alf-libs
 cd scripts ## need to be in scripts to run build.fnl
 fennel build.fnl
 cp -rf ../build/lib/* ~/path/to/your/project/lib/

build.fnl depends on lua-filesystem, which can be installed via luarocks or your package manager.

License

All libraries, apart from those in the third-party directory are released under the LGPL V3+.