Table des matières

DUKE NUKEM Linux / FreeBSD

Attention ce n'est pas un How To pour craquer Duke Nukem mais bien pour le faire tourner sous Linux sans wine ou truc du genre. Steam propose bien une version de Duke Nukem mais non compatible Linux / FreeBSD. Ce how to nécessite donc d'avoir un “vrai” Duke Nukem.

Sous FreeBSD

eduke32

Le paquet eduke32 est disponible en pré-compilé.

pkg ins eduke32

Suivre les indications données

To complete the installation of this port, you need to copy the files
DUKE3D.GRP and DUKE.RTS from the original Duke Nukem 3D distribution to
/usr/local/share/duke3d with names "duke3d.grp" and "duke.rts"
 
If you installed any of the optional packs, run the game with -g and
the full path of the pack file e.g. eduke32
-g /usr/local/share/duke3d/duke3d_voxels.zip
 
To use the XXX Pack, you need to first include the HRP,
i.e. eduke32 -g /usr/local/share/duke3d/duke3d_hrp.zip
-g /usr/local/share/duke3d/duke3d_xxx.zip
 
The Voxel pack is intended for use with classic textures, HRP has new
models.

Il suffit donc de créer le répertoire

mkdir -p /usr/local/share/duke3d

Et d'y copier les fichiers “duke3d.grp” et “duke.rts

[ragnarok@asgard-freeBSD:~] $ ls -l /usr/local/share/duke3d/
total 28429
-rw-r--r--  1 root  wheel    188954  1 juin  09:53 DUKE.RTS
-rw-r--r--  1 root  wheel  44356548  1 juin  09:53 DUKE3D.GRP

Son : Jack

Pour avoir du son, il faut utiliser Jack. Compléter votre fichier /etc/rc.conf.

jackd_enable="YES"
jackd_user="{your-jack-user}"
jackd_rtprio="YES"
jackd_args="-R -doss -r{sample-rate} -p1024 -n3 -w16 \
            --capture /dev/dsp{N} --playback /dev/dsp{N}"
 
Where:
- your-jack-user: is the user who is going to use jack; currently
                  only one user is supported
- sample-rate: can be 44100, 48000, etc.
- /dev/dsp{N}: your OSS devices, usually /dev/dsp0
 
Please note that the port option COOKEDMODE is "on" by default, which
makes your system to automatically scale the sample-rate between
Jack and audio hardware. One reason COOKEDMODE=on is because
Jack's OSS driver doesn't support some sample-rate and hardware
combinations when COOKEDMODE=off. To achieve the best sound quality
please make sure your hardware natively supports the sample-rate set
in jackd_args, and set COOKEDMODE=off.

Ce qui donne

# DUKE NUKE
jackd_enable="YES"
jackd_user="ragnarok"
jackd_rtprio="YES"
jackd_args="-R -doss -r44100 -p1024 -n3 -w16 \
            --capture /dev/dsp0 --playback /dev/dsp0"

Rebooter.

Lancer le jeu

eduke32

Sous Linux

Recupérer eduke32

Soit via leur site http://eduke32.com/

Soit directement

cd ~
mkdir -p DukeNukem/Duke3d/
cd DukeNukem
wget https://dukeworld.com/eduke32/synthesis/latest/eduke32_src_20190518-7657.tar.xz
tar Jxvf eduke32_src_20190518-7657.tar.xz eduke32_20190518-7657/

Installer les dépendances nécessaires à la compilation de eduke32

sudo apt-get install build-essential nasm libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-mixer1.2-dev libsdl2-dev libsdl2-mixer-dev flac libflac-dev libvorbis-dev libvpx-dev libgtk2.0-dev freepats
cd eduke32_20190518-7657

Lancer un make… plusieurs options de compilations sont disponibles. Voir le site de eduke32….

make
............
Linked mapster32 
Building: make  -s
-rwxr-xr-x 1 ragnarok ragnarok 2468584 mai   31 18:11 eduke32
-rwxr-xr-x 1 ragnarok ragnarok 1811752 mai   31 18:12 mapster32
............

Deux exécutables seront alors créés : [u]eduke32[/u] (lanceur du jeu) et [u]mapster32[/u] (éditeur de cartes)

Copier le fichier de Duke

Maintenant prendre une copie de Duke Nukem (Exemple Atomic) On peut l'acheter sur steam et récupérer le fichier nécessaire après installation ou le copier depuis un CD-ROM de Duke Nukem.

cp /media/Endroit/Ou/Se/tTrouve/Le/Fichier/DUKE3D.GRP ~/DukeNukem/Duke3d/

Activer eduke32

On copie les executables de eduke32 dans le même répertoire que le fichier DUKE3D.GRP de Duke Nukem

cp ~/DukeNukem/eduke32_20190518-7657/eduke32 ~/DukeNukem/Duke3d/
cp ~/DukeNukem/eduke32_20190518-7657/mapster32 ~/DukeNukem/Duke3d/

Lancer le jeu

cd ~/DukeNukem/Duke3d/
./eduke32

Shoot first, think never....

Créer un lanceur (terminal)

cd ~/DukeNukem/
nano duke3d.sh

avec le contenu

cat duke3d.sh
cd /home/$USER/DukeNukem/Duke3d/
./eduke32

puis créer l'alias

nano ~/.bash_aliases
alias duke="~/DukeNukem/duke3d.sh"

Recharger la configuration de bash

source ~/.bashrc

Ouvrir un terminal et lancer Duke

duke

Créer un lanceur (graphique)

Créer un lanceur qui pointera sur le shell script créé (/home/$USER/DukeNukem/duke3d.sh)

Installer le pack HRP

Installer le pack Haute Résolution : pourquoi ? Bon Duke tourne bien, mais il faut avouer que les graphismes ne sont pas top top. On peut alors installer un pack qui sera chargé au lancement du jeu et améliorera grandement le rendu (contre un temps de chargement des niveaux, mais acceptable)

Voir le trouver ici : Duke Nukem 3D: High Resolution Pack v5.4 (June 15, 2015) Lien externe

Sinon directement

cd ~/DukeNukem/Duke3d/
wget http://www37.uptobox.com/dl/1gF543eKEFtQgOT2WC9SdsiEYovNv1EC8IJju-C-6Y0QsxxLJI5qJLA-wE3ouBijvdAydImnRn1lBCQ_f2KvEG1JVQZlbURblcaVJaeLaFNDPHBAE3Gi1s4epi9zbt8IYWvQRkwLJDfuS063j1rYLg/duke3d_hrp.zip

Le dossier HRP est une archive zip qu'on laisse en l'état, au même niveau que les fichiers eduke32 et DUKE3D.GRP Il s'agit du fichier : duke3d_hrp.zip

Pour le prendre en charge, simplement rajouter cette option au lancement de eduke32

  ./eduke32 -grp duke3d_hrp.zip

Pensez à mettre à jour votre alias ou lanceur graphique

Visuellement, voilà ce que cela donne :