• Crosscompile ioquake3 als eine Windows 64 bit Version unter openSUSE 12.2

    Auch wenn sich der Threadtitel kompliziert anhört, die Ausführung ist dennoch einfacher als man glaubt. Ziel ist es, das quelloffene ioquake 3 (ein Branch der Quake 3 Arena Sourcen, siehe Link im Nachgang des Artikels) für Windows in einer 64bit Variante zu kompilieren.

    Basis hierfür ist ein openSUSE 12.2 in einer 64bit Version.

    Als erstes installieren wir dafür einen 64bit Crosscompiler. Dazu legen wir eine neue Installationsquelle via YAST an. Bei den Software Repositories legt ein neues Repository an, indem Ihr folgende URL (als http Variante) angebt:

    Code:
    http://download.opensuse.org/repositories/windows:/mingw:/win64/openSUSE_12.2/
    Die Änderung speichert dann ab. Jetzt geht Ihr auf Software installieren und installiert folgende Pakete:

    mingw64-cross-binutils
    mingw64-cross-gcc
    mingw64-headers
    mingw64-libSDL
    mingw64-libcurl
    mingw64-openal-soft


    Das zieht Euch noch einige Pakete nach.

    Legt Euch nun irgendwo ein neues Verzeichnis an, in dem Ihr Eure fertigen Dateien später kopiert, z.B. ioquake3. Darunter legt zwei weitere Verzeichnisse an: baseq3 und missionpack.
    Kopiert danach zunächst folgende dlls nach Euer ioquake3 Verzeichnis:

    /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libcurl-4.dll
    /usr/x86_64-w64-mingw32/sys-root/mingw/bin/OpenAL32.dll
    /usr/x86_64-w64-mingw32/sys-root/mingw/bin/SDL.dll


    Die letztere SDL.dll benennt in SDL64.dll um.

    Danach wechselt in ein beliebiges Arbeitsverzeichnis auf der Konsole und zieht Euch die ioquake3 sourcen herunter:

    Code:
    svn co svn://svn.icculus.org/quake3/trunk quake3
    Wechselt in das neue Verzeichnis quake3:

    Code:
    cd quake3
    Dann stosst den Kompile an:

    Code:
    ./cross-make-mingw64.sh ARCH=x64
    Dieser sollte dann sauber durchlaufen. Wenn alles okay ist, dann liegen Eure neuen Daten unter /quake3/build/release-mingw32-x64

    Aus dem dortigen Verzeichnis kopiert folgende Dateien in Euer ioquake3 Verzeichnis:

    ioq3ded.x64.exe
    ioquake3.x64.exe
    renderer_opengl1_x64.dll


    Aus dem baseq3 Verzeichnis dann in das ioquake3/baseq3 Verzeichnis:

    cgamex64.dll
    qagamex64.dll
    uix64.dll


    Aus dem missionpack Verzeichnis dann in das ioquake3/missionpack Verzeichnis:

    cgamex64.dll
    qagamex64.dll
    uix64.dll


    Das war es im Grunde auch. Ihr benötigt dann natürlich noch die pak0.pak Datei von Eurer Original Quake 3 CD. Unter Windows kopiert dann alles entsprechend zusammen und startet das Spiel mit ioquake3.x64.exe .

    That's it. Happy Quakin!

    cu
    Pierre "Gargi" Kretschmer

    Ursprünglich erschienen auf meiner Homepage: http://www.gargi.org/showthread.php?...-openSUSE-12-2
    ioquake3 Projektpage: http://www.ioquake3.org
    pak Patches: http://ioquake3.org/get-it/