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”

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)