Compilare ioDoom3 su openSUSE 12.1 x64

29 04 2012

Recentemente mi sono messo a giocare un po’ con il codice di ioDoom3, siccome nel wiki vengono spiegati vari metodi di compilazione per molte distro, tranne openSUSE, ho pensato di scrivere questo thread in caso servisse a qualcuno (non riesco ad aggiornare le pagine al riguardo sul wiki del progetto perchè ho problemi con il modulo di registrazione… :S).

In breve, avremo bisogno di GIT per scaricare i sorgenti dal repo del progetto, SCONS e altre librerie per compilarli e, infine, una versione LEGALE di Doom 3 o Quake 4 o una mappa di test per provare il motore compilato. Come da titolo, faccio riferimento a sistemi a 64 bit, ma dato che il motore grafico è scritto per sistemi a 32 bit (uno degli obbiettivi di ioDoom3 è proprio il porting a 64bit nativi) la maggior parte delle dipendenze le prenderemo a 32 bit. Senza indugiare ancora, procediamo.

Incominciamo scaricando e installando Scons: io ho usato l’ultima versione disponibile sul loro sito web (la 2.1.0) come RPM, su oS è pacchettizzata la precedente release stabile la 1.3.1. Installando da RPM avrete bisogno di soddisfare qualche dipendenza (che, scusate, non ricordo visto i mille mila test di dipendenze per trovare le librerie mancanti che mi segnalava SCONS compilando il motore…).

Installiamo quindi GIT e le dipendenze per il motore grafico con Zypper o YaST:

su -c "zypper in git xorg-x11-libXext-devel-32bit xorg-x11-devel-32bit gcc46-32bit xorg-x11-libX11-devel-32bit m4 libopenal-soft-devel glibc-devel-32bit zlib-devel"

(dovrebbero essere tutte, avvertitemi se dovesse mancare qualcosa…)
(vorrei ringraziare Orion del forum IT-openSUSE per avermi aiutato con un paio di pacchetti mancanti!).

Procediamo quindi scaricando gli ultimi sorgenti disponibili dal repo GIT del progetto:

git clone git://git.iodoom.org/iodoom3/iodoom3.git

A questo punto entriamo nella directory iodoom3/neo/ e lanciamo il comando

scons NOCURL=1

Se tutto va a buon fine vi dovrebbero comparire nuovi file nella directory neo/ . L’eseguibile del gioco è doom3.x86 (inteso proprio per l’architettura x86 ovviamente…). Per provare il motore grafico possiamo copiare i file pk4 (pak000, pak001, pak002, pak003, pak004, game00 e game01) della versione LEGALE in nostro possesso di Doom 3 nella directory ~/.doom3/base . Eventualmente voleste cambiare questo path potete sempre avviare il gioco con il parametro set fs_basepath:

./doom3.x86 +set fs_basepath

Per ricompilare dopo aver apportato qualche modifica al codice, invece, potrebbe essere necessario pulire un po’ di directory dai file già compilati. Su ambiente Win si tratta di lanciare il file clean.bat, su *NIX possiamo usare uno script analogo tipo questo (una conversione abbastanza brutale, barbarica e niubbesca ma funzionale xD).

Prima di concludere, per chi volesse patchare il gioco si può scaricare il file ufficiale dai server di ID Software.

Questo è più o meno tutto per il momento. Tra gli obbiettivi del progetto ioDoom3 troviamo il porting a 64bit del motore grafico, l’aggiunta del supporto a SDL, una pulizia generale del codice… ma sinceramente, completati questi task non mi dispiacerebbe lavorare ad una conversione-upgrade del motore ad OpenGL 4.2, aggiungendo feature grafiche avanzate e attuali come tesselation e simili.

Spero che questa breve guida possa servire a qualcuno, scrivetemi pure eventuali consigli e suggerimenti!

Grazie per la lettura,

Saluti
hawake


Azioni

Information

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...




%d blogger cliccano Mi Piace per questo: