- Fennel 84.7%
- Lua 13.9%
- GLSL 0.5%
- Shell 0.5%
- Emacs Lisp 0.3%
| assets | added autotile for rectangles | |
| example | Fixed tile render issue and reordered wrap call in run | |
| lib | added autotile for rectangles | |
| scripts | Updated tile-layer and renderable to no longer depend on map | |
| .gitignore | added export for currently implemented libraries and build process | |
| flsproject.fnl | Began working on rect-map | |
| LICENCE | Initial Commit | |
| makefile | Fixed html bugs | |
| params.fnl | Began working on rect-map | |
| README.org | Renamed frames framestate added background to frameset | |
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+.