No description
  • C 94.6%
  • Makefile 5.4%
Find a file
2026-05-07 07:10:43 -04:00
data better detection 2026-05-07 07:10:43 -04:00
src better detection 2026-05-07 07:10:43 -04:00
tools Initial commit 2026-05-07 01:18:50 -04:00
.clang-format Initial commit 2026-05-07 01:18:50 -04:00
.gitignore Initial commit 2026-05-07 01:18:50 -04:00
.gitlab-ci.yml Initial commit 2026-05-07 01:18:50 -04:00
LICENSE Initial commit 2026-05-07 01:18:50 -04:00
Makefile better detection 2026-05-07 07:10:43 -04:00
manifest.toml missing manifest item 2026-05-07 01:59:11 -04:00
README.md capture beforehand 2026-05-07 01:56:27 -04:00

albid

Annotate Albion Online equipment screenshots. Distributed as a grabit plugin.

albid takes a screenshot of an equipment / loadout panel as a file (it never captures the screen itself), detects the panel and the 10 slots inside it, and writes an annotated PNG with a label under each slot.

Install

grabit plugin install https://heliopolis.live/creations/albid           # source build
grabit plugin install https://heliopolis.live/creations/albid-prebuilt  # prebuilt binary

Use

grabit albid input.png            # save annotated PNG, print path on stdout
grabit albid input.png -o out.png
grabit albid input.png --pin      # save and pin via grabit
grabit albid input.png --json     # also emit per-slot JSON to stdout
grabit albid input.png -d         # dump per-slot debug crops to $XDG_CACHE_HOME/albid/debug/

grabit albid --capture            # grabit captures first, then runs albid
grabit albid --capture --pin      # capture, annotate, pin

--capture is handled by the grabit dispatcher: it runs grabit -o, strips the flag, and prepends the captured PNG path as albid's first positional. The plugin itself doesn't spawn anything.

The annotated PNG goes to $XDG_CACHE_HOME/albid/<timestamp>.png by default; pass -o PATH to override.

Build from source

make           # release  -> build/albid
make sanitize  # ASAN+UBSAN -> build-san/albid
make test      # SPDX header lint
make fmt       # clang-format

Runtime deps: cairo, fontconfig. Build deps add a C17 compiler and pkg-config.

Item DB

data/items.json is built from public Albion data sources (ao-data/ao-bin-dumps, gameinfo.albiononline.com, render.albiononline.com). Rebuild with:

make fetch-items
./build/fetch_items            # full build, ~3 min, idempotent
./build/fetch_items --no-fetch # rebuild from cache only

The fetch tool needs libcurl and json-c; cache lives under tools/.cache/ (gitignored).

Releases

Tag-triggered GitLab CI. Each tag (vX.Y.Z) publishes three assets to the project's package registry:

  • grabit-albid-linux-x86_64 — the binary
  • grabit-albid-linux-x86_64.sha256 — its SHA-256
  • manifest.toml — a ready-to-use prebuilt manifest with version and hash baked in. Drop into the companion albid-prebuilt repo so end users can install via grabit plugin install <prebuilt-url>.

License

AGPL-3.0-or-later. See LICENSE.