FreeBSD : Installation de Yadex, éditeur de niveau pour Doom

Code source.

https://github.com/HackTechDev/yadex4freebsd

Captures d'écran.

yadex01.png

Analyse de compilation de NetHack 5.0.0 pour FreeBSD 15.0

Yadex

Yadex est un éditeur de niveaux (wad) pour Doom, destiné aux systèmes Unix sous X11 (dont Linux, FreeBSD, etc.). Il prend en charge Doom, Doom II, Ultimate Doom, Final Doom, Heretic, la version presse de Doom, et supporte aussi, de façon plus ou moins limitée, Hexen, Strife et les alphas de Doom. Distribué sous licence GPL.

Ce dépôt (branche yadex4freebsd) part de Yadex 1.7.0 et regroupe quelques correctifs de portage/compilation, dont ceux nécessaires pour compiler sur FreeBSD récent (voir ANALYSE.md pour le détail de l'architecture et des adaptations apportées).

Prérequis

  • Un système Unix avec X11 (X11R5 ou X11R6) et un affichage d'au moins 640x480,
  • Un iwad Doom/Doom II/Heretic/Strife (la version shareware/démo convient),
  • GNU make (le make natif ne suffit pas — sur FreeBSD c'est gmake),
  • Un compilateur C conforme ISO 9899:1990,
  • Un compilateur C++,
  • hypot() et soit nanosleep(), soit usleep(),
  • Perl (utilisé par quelques scripts de build).

Compilation et installation

Pour installer dans /usr/local :

./configure
gmake            # ou "make" si votre make par défaut est GNU make
su -c 'gmake install'

Pour installer ailleurs, par exemple dans ~/yadex :

./configure --prefix ~/yadex
gmake
gmake install

Pour forcer l'utilisation d'un compilateur C/C++ particulier :

./configure --cc gcc --cxx g++
gmake
gmake install

Autres cibles utiles (voir gmake help) :

  • gmake test [A="args"] — compile et lance yadex,
  • gmake dall / gmake dyadex — construit la version debug (-g -pg -Wall),
  • gmake clean — supprime les fichiers de build,
  • gmake showconf — affiche la configuration de compilation résolue.

Attention, l'installation ÉCRASE les fichiers suivants (en supposant une installation dans /usr/local) :

/etc/yadex/1.7.0/yadex.cfg
/usr/local/bin/yadex
/usr/local/bin/yadex-1.7.0
/usr/local/man/man6/yadex.6
/usr/local/man/man6/yadex-1.7.0.6
/usr/local/share/games/yadex/1.7.0/*.ygd

Configuration et lancement

Avant de lancer Yadex, indiquez-lui où trouver vos iwads. Ouvrez /etc/yadex/1.7.0/yadex.cfg (ou ~/.yadex/yadex.cfg) et renseignez les paramètres iwad1, iwad2, etc. Si vous ne voulez pas que Doom II soit le jeu par défaut, changez aussi la valeur du paramètre game.

Vous pouvez ensuite lancer Yadex :

yadex

Une invite yadex: apparaît. Tapez par exemple :

e map01

ou :

e e1m1

Documentation

La documentation (essentiellement au format HTML) commence à doc/index.html. Si vous mettez à jour depuis une version antérieure de Yadex, lisez attentivement CHANGES.

Pour comprendre l'architecture du code de ce dépôt, voir ANALYSE.md.

Statut

Yadex est un projet en développement (le code d'origine reste tel quel, seuls des correctifs de portage/compilation et de stabilité ont été appliqués dans cette branche — voir ANALYSE.md). Il lui manque encore des fonctionnalités importantes comme une meilleure interface, le copier/coller, l'annulation/rétablissement, le support de Boom, etc.

Bugs corrigés dans cette branche

  • Plantage (SIGSEGV) à l'ouverture d'un niveau (ex. e map01) : un pointeur pendant vers une variable de pile hors de portée dans LoadPicture(). Voir ANALYSE.md pour le détail.
  • Une lecture hors-limites d'un octet dans Wad_name lorsque le nom d'un lump fait exactement 8 caractères sans padding.

Licence

  • Yadex : Copyright Andrew Apted 2000-2001, André Majorel 1997-2003, Matthew W. Miller 2000 (GNU GPL v2) ; parties écrites par Raphaël Quinet et Brendon Wyber, domaine public.
  • Atclib (inclus en partie) : Copyright André Majorel 1995-1999, GNU LGPL v2.
  • Boost (sous-ensemble inclus, version 1.25.0) : voir les en-têtes concernés.

Voir COPYING et COPYING.LIB pour le texte complet des licences.

Contact (projet d'origine)

Page d'accueil historique : http://www.teaser.fr/~amajorel/yadex/