al_get_allegro_version(3)

πŸ“¦
version 5.2.11.3 Β· 3 versions
, in arch rolling

okay so bestie, you opened al_get_allegro_version(3) from the Library Functions Manual, and honestly? iconic. this is the Allegro 5 API page about grabbing the library version, and it's lowkey a little bit of bit-packing magic ✨

πŸ’– NAME πŸ’–

al_get_allegro_version β€” Allegro 5 API 🫢

✨ SYNOPSIS ✨

#include <allegro5/allegro.h>

uint32_t al_get_allegro_version(void)

🌸 DESCRIPTION 🌸

okay so this function returns the (compiled) version of the Allegro library, packed into a single integer. not vibes, not runtime β€” compiled, iykyk. the packing is groups of 8 bits in the form:

(major << 24) | (minor << 16) | (revision << 8) | release

you can use code like this to extract them:

uint32_t version = al_get_allegro_version();
int major = version >> 24;
int minor = (version >> 16) & 255;
int revision = (version >> 8) & 255;
int release = version & 255;

the release number is 0 for an unofficial version and 1 or greater for an official release. for example, 5.0.2[1] would be the (first) official 5.0.2 release while 5.0.2[0] would be a compile of a version from the 5.0.2 branch before the official release. periodt πŸŽ€


footer tea: this page comes from the Allegro reference manual as al_get_allegro_version(3); there’s no date line in the footer, so no date to spill, bestie πŸ’œπŸŒˆπŸ«Ά

πŸ“¦ where this page comes from
  • arch rolling: allegro 5.2.11.3-2 Β· Zlib AND BSD-3-Clause AND OFL-1.1 AND LicenseRef-Custom
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms