Il tutto avviene utilizzando una libreria (etalsa) che va a sostituirsi a quella utilizzata da Enemy Territory per l’audio, utilizza SDL, quindi perfettamente compatibile con alsa
guida tratta dal blog ”l'importante è avere un titolo”
Scaricare lo script interessato da qui scompattarlo ed eseguirlo per lanciare il gioco con SDL
fine..
potete scompattarlo usando il programma grafico che preferite.. oppure da terminale con
gunzip et-sdl-sound.gz.gz
i permessi di esecuzione dovrebbero già essere a posto, nel caso riceveste errori di permessi provando a lanciare lo script semplicemente andate nelle proprietà del file e date i permessi di esecuzione, oppure da terminale
chmod +x et-sdl-sound
dovrebbe funzionare
Richiede le librerie SDL e SDL-devel installate
Scaricare i sorgenti di et-sdl-sound (sito di riferimento)
Scompattiamolo in una cartella (per chi volesse usare la linea di comando: tar xvfz et-sdl-sound.tar.gz ) quindi muoviamoci in quella cartella, apriamo un terminale proprio lì e diamo il comando
make
con buona probabilità vi darà qualche errore del tipo:
etalsa.hpp:5:28: error: alsa/asoundlib.h: No such file or directory
seguito da un altra sfilza di errori
Il motivo è semplice, non trova il file “asoundlib.h” che gli serve per compilare, quando compilate qualcosa spesso servono i pacchetti da sviluppatore.. niente panico.. è sufficiente installare il pacchetto libasound2-dev ( nel modo che preferite, ad esempio in debian/ubuntu con apt-get install libasound2-dev )
Una volta termianta la compilazione con successo, a questo punto non resta che copiare ( da root ) il file et-sdl-sound.so nella cartella di installazione di enemy territory ( in genere /usr/local/games/enemy-territory/ ) se non sapete dov’è cercate il file et.x86 nel vostro sistema troverete la cartella di enemy-territory
A questo punto, sempre da root, posizioniamoci nella cartella di enemy territory e creiamo un file di testo con nome et.sdl all’interno copiate questo:
#!/bin/bash export ETSDL_SDL_LIB="libSDL-1.2.so.0" cd /usr/local/games/enemy-territory/ LD_PRELOAD="/usr/local/games/enemy-territory/et-sdl-sound.so" ./et.x86 $*
Quindi diamo al file i permessi di esecuzione ( potete farlo graficamente, ma da root, o via linea di comando, sempre da root, con chmod +x et.sdl )
Proviamo il tutto apriamo un terminale e scriviamo aoss teamspeak, diamo invio… quindi apriamo un altro terminale e scriviamo /usr/local/games/enemy-territory/et.sdl se c’è il suono avete fatto tutto correttamente
Questo metodo non è l’unico.. è solo uno dei possibili alternativamente potete cambiare il comando di lancio per l’icona nel vostro menù.. e in XQF se lo usate
Se ora volete fare in modo che venga sempre lanciato il vostro script cercate il file di esecuzione che utilizzate adesso, di solito si trova in /usr/local/games/enemy-territory/et
ma dipende da dove avete installato il gioco
da root rinominate il file e chiamatelo per esempio et.old
adesso copiate nella cartella lo script dandogli il nome che preferite, io consiglio: et.sdl
quindi create un link simbolico di questo ultimo e chiamatelo come il file originale: et
più facile a farsi che a dirsi.
Potrebbe essere necessario impedire ad Enemy Territory di utilizzare il microfono (che tanto non gli serve) per lasciarlo a teamspeak.. se questo non dovesse funzionare proviamo a dare questo comando da root
echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss
Quindi ripetiamo il test… se funziona rendiamo la modifica permanente scrivendo questo comando (sempre da root)
echo 'echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss' >> /etc/rc.local
mi raccomando le doppie » in questo modo ad ogni avvio verrà automaticamente eseguito quel comando