Générateur de niveau pour Doom : Angdoom
STATUS:PAGE LOADED — 2026-07-15

Installation

Angdoom provient du dépôt d'origine : https://github.com/tetron/angdoom

Cette version d'Angdoom se trouve dans le dépôt : https://github.com/HackTechDev/Angdoom_v2

angdoom est lié à libggi, utilisée par vectorize.c uniquement pour dessiner une visualisation de débogage des limites de secteurs, une fois le WAD déjà écrit sur le disque. Ubuntu 22.04 (et les versions actuelles de Debian/Ubuntu en général) ne fournit plus libggi-dev — le projet GGI a été retiré des dépôts il y a des années — il faut donc la compiler depuis les sources. libggi dépend elle-même de libgii (gestion des entrées), qui doit être compilée et installée en premier.

Les étapes ci-dessous installent les deux bibliothèques dans ~/.local, sans sudo et sans toucher aux chemins système.

1. Télécharger les sources

Les deux paquets sont toujours hébergés sur SourceForge (dernière version publiée en 2007, mais elles compilent toujours correctement avec gcc/glibc modernes) :

mkdir -p ~/src/ggi-build && cd ~/src/ggi-build
curl -fL -o libgii-1.0.2.src.tar.gz  "http://prdownloads.sourceforge.net/ggi/libgii-1.0.2.src.tar.gz?download"
curl -fL -o libggi-2.2.2.src.tar.gz "http://prdownloads.sourceforge.net/ggi/libggi-2.2.2.src.tar.gz?download"
tar xzf libgii-1.0.2.src.tar.gz
tar xzf libggi-2.2.2.src.tar.gz

2. Compiler et installer libgii (obligatoirement en premier)

cd ~/src/ggi-build/libgii-1.0.2
./configure --prefix="$HOME/.local"
make -j"$(nproc)"
make install

3. Compiler et installer libggi

Le configure de libggi doit être informé de l'emplacement de la libgii qu'on vient d'installer, à la fois pour ses en-têtes (CPPFLAGS/PKG_CONFIG_PATH) et pour l'édition de liens (LDFLAGS avec un rpath afin que les binaires produits retrouvent libgii.so/libgg.so à l'exécution sans avoir besoin de LD_LIBRARY_PATH) :

cd ~/src/ggi-build/libggi-2.2.2
PKG_CONFIG_PATH="$HOME/.local/lib/pkgconfig" \
CPPFLAGS="-I$HOME/.local/include" \
LDFLAGS="-L$HOME/.local/lib -Wl,-rpath,$HOME/.local/lib" \
./configure --prefix="$HOME/.local" --with-gii-prefix="$HOME/.local"

make -j"$(nproc)"
make install

Les deux compilations ne produisent que des avertissements (variables inutilisées, casts de qualificateur const) — aucune erreur n'est attendue.

4. Compiler angdoom avec cette libggi

Comme libggi ne se trouve pas dans un chemin de recherche système, le Makefile d'angdoom (qui se contente de faire gcc $(CFLAGS) -o angdoom $(OBJS) -lggi) a besoin que les options include/lib/rpath lui soient passées via CFLAGS sur la ligne de commande make :

cd /chemin/vers/angdoom
make CFLAGS="-g -I$HOME/.local/include -L$HOME/.local/lib -Wl,-rpath,$HOME/.local/lib"

Cela produit ./angdoom, lié dynamiquement à ~/.local/lib/libggi.so.2 (et par transitivité à libgii/libgg) grâce au rpath intégré — aucune variable d'environnement n'est nécessaire à l'exécution.

Vérifier que l'édition de liens est bien résolue :

ldd ./angdoom | grep -E 'ggi|gii|libgg'

doit afficher libggi.so.2, libgii.so.1 et libgg.so.1, tous résolus sous ~/.local/lib.

Désinstallation

Tout se trouve dans ~/.local, donc pour tout supprimer :

rm -rf ~/.local/include/ggi ~/.local/lib/libgg* ~/.local/lib/libgii* ~/.local/lib/libggi* \
       ~/.local/lib/pkgconfig/{gg,gii,ggi}*.pc ~/.local/share/ggi ~/.local/etc/ggi

(ainsi que ~/src/ggi-build si vous ne souhaitez pas conserver les arborescences source/compilation).

Capture d'écran

angdoom.png