|
|
(44 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| <div style="text-align=right; float: right; clear: none; background: none; padding-left:20px">
| | Das Tutorial wurde auf Gargi.org verschoben: https://www.gargi.org/index.php?title=DOOM_auf_Linux |
| __TOC__
| |
| </div><noinclude>
| |
| <div style="float:left;text-align:center;padding-right:20px">
| |
| [[Bild:doom.jpg|logo]]
| |
| <br />
| |
| ''Doom is not a game, it's sports...''</div>
| |
| '''Prolog'''<br>
| |
| <br>
| |
| Nachdem Doom im August 2011 nach langem von dem deutschen Index der jugendgefährdenden Medien gekommen ist, und es damit auch einfacher geworden ist, über dieses Spiel öffentlich zu reden, ist es Zeit für mich, die alten CDs wieder auszupacken und zu sehen, was hier unter Linux alles machbar ist. Da ich ein eingefleischter openSUSE User bin, schaue ich mir das unter der derzeit aktuellen openSUSE 12.2 (64bit) an.
| |
| <br>
| |
| <br>
| |
| Die Sourcen der Doom Engine schon lange freigegeben und es haben sich einige Projekte gebildet, die auch sich darum bemüht haben, die Engine auf openGL lauffähig zu bekommen. Natürlich gibt es hierzu einige Mods, Texturverbesserungen bis dahin, dass die alten Sprites der Figuren und Gegenstände durch echte 3D Modelle ausgetauscht wurden.
| |
| <br>
| |
| <br>
| |
| Die Bemühungen finde ich alle klasse, nur bin ich eher der Typ, der sein "Retro-Feeling" benötigt. Also muss die Konvertierung für mich zwar auf moderner Hadware angepasst sein (Full HD, 3D beschleunigt), darf aber nichts vom Flair des Originals verlieren. Ich habe mir hierzu das prboom, jdoom und gzdoom (die openGL Version des zdoom) angesehen, und muss sagen, dass mir persönlich was das Retro Feeling betrifft hierbei das gzdoom am besten gefallen hat. Gzdoom liefert Optionen, die die Originaltexturen auch noch original aussehen lässt, ohne dabei aber zu sehr pixelkrank zu werden. Hierzu müssen dann entsprechende Änderungen an der Konfiguration gemacht werden, die aber zum Glück über das eigene Menü hauptsächlich funktionieren.
| |
| <br>
| |
| <br>
| |
| Um den '''DOOM''' Port gzdoom unter '''openSUSE 12.2''' (http://www.opensuse.org) zu kompilieren und zu spielen sind ein paar Vorarbeiten nötig. Hierbei geht es um folgende Schritte:
| |
| <br>
| |
| <br>
| |
| '''- Vorbereitung des Systems'''<br>
| |
| '''- Installation von Fmod Ex (für die Sound / Midi Wiedergabe)'''<br>
| |
| '''- Aktuellen Quellcode über SVN ziehen'''<br>
| |
| '''- Compile der gzdoom Binaries'''<br>
| |
| '''- Installation der gm.dls für die Midi Wiedergabe'''<br>
| |
| '''- Konfiguration der doom.ini und Installation der doom.wad'''
| |
| <br>
| |
| <br>
| |
| An den Schritten ist zu erkennen, dass die Angelegenheit nicht trivial ist. Voraussetzung zum Spielen ist zudem ein Originalmedium von Doom. Auf den CD Versionen finden sich hierzu jeweils eine sogenannte '''wad - Datei''', die die Leveldaten und Grafiken des Spiels nebst allen Soundfiles beinhaltet. Diese sind urheberrechtlich geschützt und müssen somit gekauft werden.
| |
| <br>
| |
| <br>
| |
| Ferner benötigen wir um Midi Sound über FMOD zu erhalten eine Soundfond Datei, die '''gm.dls'''. Diese findet Ihr bei einem installierten Windows im Verzeichnis '''/system32/drivers/'''. Kopiert diese Datei z.B. unter Linux nach '''/usr/share/sounds/'''. Solltet Ihr auf die gm.dls keinen Zugriff haben, so könnt Ihr später auch Midi auf Timidity umstellen. Timidity muss hierzu installiert sein.
| |
| <br>
| |
| <br>
| |
| Ich erkläre das am Beispiel eines installieren openSUSE 12.2 Linux, wobei ich die 64bit Variante verwende. Im Prinzip ist das auf andere Linux Varianten leicht übertragbar.
| |
| <br>
| |
| <br>
| |
| ==Voraussetzung==
| |
| <br>
| |
| <br>
| |
| Folgende Pakete müssen installiert sein (via '''Yast''' oder '''zypper'''):
| |
| <br>
| |
| <br>
| |
| '''- make'''<br>
| |
| '''- gcc-c++'''<br>
| |
| '''- zlib-devel'''<br>
| |
| '''- SDL-devel'''<br>
| |
| '''- libjpeg-devel'''<br>
| |
| '''- libbz2-devel'''<br>
| |
| '''- fluidsynth-devel'''<br>
| |
| '''- nasm'''<br>
| |
| '''- gtk2-devel'''<br>
| |
| '''- cmake'''<br>
| |
| <br>
| |
| | |
| ==FMOD installieren==
| |
| <br>
| |
| <br>
| |
| Holt Euch auf der Seite http://www.fmod.org die tar.gz des Fmod EX codes passend zu Eurer Linux Architektur (64 bit / 32 bit). Entpackt diese in einem Arbeitsverzeichnis. Wechselt in das Verzeichnis z.B.
| |
| <code><pre>cd fmodapi44203linux64</pre></code>
| |
| und installiert die API mittels
| |
| <code><pre>sudo make install</pre></code>
| |
| Die Bibliotheken werden hierbei in das Verzeichnis '''/usr/local/lib/''' hinterlegt, die Header dazu sind dann im Verzeichnis '''/usr/local/include/fmodex/''' zu finden.
| |
| <br>
| |
| <br>
| |
| ==gzdoom Quellcode herunterladen und übersetzen==
| |
| <br>
| |
| <br>
| |
| Den Quellcode ziehen wir mittels svn in unserem Arbeitsverzeichnis:
| |
| | |
| <code><pre>svn co http://mancubus.net/svn/hosted/gzdoom/trunk/ gzdoom</pre></code>
| |
| | |
| Nach dem Checkout wechseln wir in das neue Verzeichnis gzdoom
| |
| | |
| <code><pre>cd gzdoom</pre></code>
| |
| | |
| und legen ein build-Verzeichnis an:
| |
| | |
| <code><pre>mkdir build</pre></code>
| |
| <br>
| |
| <br>
| |
| {{Hinweis|Patchvorgang für FMOD / Prologic}}
| |
| <br>
| |
| <br>
| |
| Bitte ändert jetzt zuerst im Quellcode folgende Datei ab:
| |
| <br>
| |
| <br>
| |
| '''...gzdoom/src/sound/fmodsound.ccp'''
| |
| <br>
| |
| <br>
| |
| Sucht nach der Zeile (normal auf Zeile 201):
| |
| | |
| <code><pre>{ "Prologic", FMOD_SPEAKERMODE_PROLOGIC },</pre></code>
| |
| | |
| Ändert diesen wie folgt ab:
| |
| | |
| <code><pre>{ "Prologic", FMOD_SPEAKERMODE_SRS5_1_MATRIX },</pre></code>
| |
| | |
| Speichert die Änderung. Wechselt dann in das build Verzeichnis
| |
| | |
| <code><pre>cd build</pre></code>
| |
| | |
| Wir bereiten nun den Compile vor. Der Compile muss gegen die Header unserer FMOD Version laufen. Deswegen passt den folgenden Parameter auf das include - Verzeichnis entsprechend an:
| |
| | |
| <code><pre>cmake -DCMAKE_BUILD_TYPE=Release -DFMOD_LIBRARY=/usr/local/lib/libfmodex64-4.42.03.so -DFMOD_INCLUDE_DIR=/usr/local/include/fmodex/ ..</pre></code>
| |
| | |
| Wenn dies fehlerfrei durchgelaufen ist, starten wir den Compile:
| |
| | |
| <code><pre>make</pre></code>
| |
| | |
| Das war es soweit. Wenn alles gut gelaufen ist, kopiert die neuen Dateien aus dem build Verzeichnis in ein neues Verzeichnis, aus dem Ihr in Zukunft Doom starten wollt. Diese Dateien sind:
| |
| <br>
| |
| <br>
| |
| '''brightmaps.pk3'''<br>
| |
| '''gzdoom'''<br>
| |
| '''gzdoom.pk3'''<br>
| |
| '''liboutput_sdl.so'''<br>
| |
| '''lights.pk3'''
| |
| <br>
| |
| <br>
| |
| Dazu kopiert die doom.wad von Eurer Doom CD.
| |
| <br>
| |
| <br>
| |