If you have yet to download the source (or, you've downloaded the zip), first install git:
sudo apt-get install git
Now download the source:
git clone https://github.com/janisl/jlquake.git
This will download the entirety of the jlquake source code to a directory titled 'jlquake'. From this point on, you can update to the newest version by issuing the command git pull from within the 'jlquake' directory.
Meeting the Build Requirements
In order to build, you will need cmake, build-essential, and the development libraries for zlib, xorg, libjpeg, libasound, and libcurl. The following command should cover everything:
The rest of this guide assumes nvidia-current, so please provide feedback if you are using ATI, mesa, or something else.
In the case of nvidia-current, it is necessary to install nvidia-current-dev:
sudo apt-get install nvidia-current-dev
It is also important to link /usr/include/GL/ to the newly installed /usr/lib/nvidia-current/GL/. If /usr/include/GL/ already exists, verify that it's pointing to the correct location OR verify that it is empty and remove it (sudo rm -rf /usr/include/GL/). If it isn't empty, consider making a backup before continuing (sudo mv /usr/include/GL/ /usr/include/GL.bak/). Now we're ready to link to the proper GL includes:
In the same vein, /usr/lib/libGL.so must exist (on a clean install of Ubuntu 12.04 using nvidia-current, it does not) and point somewhere sensible. In the case of nvidia-current, that would be /usr/lib/nvidia-current/libGL.so. Once again, we accomplish this by creating a link:
Navigate to the jlquake directory which you've pulled from git and make a subdirectory within it for your build:
cd /wherever/you/pulled/jlquakemkdir build
Change to your new 'build' directory and begin the build process:
cd buildcmake ../make
When (if?) the build process is complete, the binaries for individual jlquake releases (jlquake, jlquake2, jlquake3, etc.) will be within their respective 'source/' directories within your 'build' directory.
Installing
Upon first (Successful? See 'Closing Remarks') run of any title, a corresponding directory will exist in your home folder. In the case of Quake 2, that directory is '~/.jlquake2'; in the case of RTCW, that directory is '~/.jlwolf'. Given the search paths for game data, it is by far simplest to install the game data within these folders:
Obtaining the Source
If you have yet to download the source (or, you've downloaded the zip), first install git:
sudo apt-get install git
Now download the source:
git clone https://github.com/janisl/jlquake.git
This will download the entirety of the jlquake source code to a directory titled 'jlquake'. From this point on, you can update to the newest version by issuing the command
git pull
from within the 'jlquake' directory.Meeting the Build Requirements
In order to build, you will need cmake, build-essential, and the development libraries for zlib, xorg, libjpeg, libasound, and libcurl. The following command should cover everything:
sudo apt-get install cmake build-essential zlib1g-dev xorg-dev libjpeg-dev libasound2-dev libcurl4-gnutls-dev
You will also need valid GL development libraries. This will depend greatly upon your GLX driver. Here is an incomplete picture:
nvidia-173 -> nvidia-173-dev nvidia-current -> nvidia-current-dev mesa -> mesa-common-dev
The rest of this guide assumes nvidia-current, so please provide feedback if you are using ATI, mesa, or something else.
In the case of nvidia-current, it is necessary to install nvidia-current-dev:
sudo apt-get install nvidia-current-dev
It is also important to link /usr/include/GL/ to the newly installed /usr/lib/nvidia-current/GL/. If /usr/include/GL/ already exists, verify that it's pointing to the correct location OR verify that it is empty and remove it (
sudo rm -rf /usr/include/GL/
). If it isn't empty, consider making a backup before continuing (sudo mv /usr/include/GL/ /usr/include/GL.bak/
). Now we're ready to link to the proper GL includes:sudo ln -s /usr/include/nvidia-current/GL/ /usr/include
In the same vein, /usr/lib/libGL.so must exist (on a clean install of Ubuntu 12.04 using nvidia-current, it does not) and point somewhere sensible. In the case of nvidia-current, that would be /usr/lib/nvidia-current/libGL.so. Once again, we accomplish this by creating a link:
sudo ln -s /usr/lib/nvidia-current/libGL.so /usr/lib/libGL.so
Building jlquake
Navigate to the jlquake directory which you've pulled from git and make a subdirectory within it for your build:
cd /wherever/you/pulled/jlquake
mkdir build
Change to your new 'build' directory and begin the build process:
cd build
cmake ../
make
When (if?) the build process is complete, the binaries for individual jlquake releases (jlquake, jlquake2, jlquake3, etc.) will be within their respective 'source/' directories within your 'build' directory.
Installing
Upon first (Successful? See 'Closing Remarks') run of any title, a corresponding directory will exist in your home folder. In the case of Quake 2, that directory is '~/.jlquake2'; in the case of RTCW, that directory is '~/.jlwolf'. Given the search paths for game data, it is by far simplest to install the game data within these folders:
Quake 2 -> ~/.jlquake2/baseq2 RTCW -> ~/.jlwolf/main