aboutsummaryrefslogtreecommitdiffstats
path: root/WinQuake/README
blob: 0914023addcd5e6ff1660abc875838fb3ef21dba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
A brief readme added by Wyatt Ward.

I added this readme and some updated Makefiles, as well as tweaking a few of

Quake's source files, to make it work properly on a modern Linux system.


The original, unmodified source can be found here:
https://github.com/id-Software/Quake


A good how-to for arguments and troubleshooting and such is here:
http://www.linuxdoc.org/HOWTO/Quake-HOWTO-1.html

The how-to did not mention a few problems, which I created fixes for. These

include the mouse not working to allow input and no input whatsoever (not even

the keyboard) working in fullscreen. I also fixed a buffer overflow caused by

the sheer number of OpenGL extensions that modern systems support (the game

tries to print them to the console, and in doing so causes a buffer overflow

because the string containing all of the extensions is larger than the game

expected). The only noticeable difference my tweaks have caused (besides the

fact that you now can play the game) is that this string of OpenGL extensions

is no longer printed to the terminal (which I doubt most people care about,

anyway). I promise I made no tweaks to functionality or controls that would

make it differ from the original.


With that out of the way here is how to compile it:

For the OpenGL GLX version (the high-quality version most sane people want),

go to the directory 'WinQuake' and type

    $ make build_release

If you are missing libraries, headers or whatnot, it will let you know about

it quite loudly. You will need a few headers from the linux kernel; if you

use ubuntu or an ubuntu variant, the headers should be under something like

/usr/src/linux-headers-3.5.0-44/arch/x86/include

and

/usr/src/linux-headers-3.5.0-44-generic/include

These will have to be edited in the makefile if you have a different version

or architecture of the kernel than I did. Search one of the above strings to

find where I included them. Replace them appropriately with your kernel

versions. If you don't have sources, they are obtainable from most package

managers, including apt. A few other paths may have to be changed in the

Makefile that I hardcoded, but you can figure those out I think. Good luck!


After building, it will be in the directory 'releasei386'.

You will need to copy the directory 'id1' from a quake CD-ROM

and place it in the 'bin' directory that your compiled game is in.

-Wyatt Ward, 2013-01-05 23:02 EST