yquake2remaster/README

492 lines
20 KiB
Text
Raw Normal View History

2009-10-04 12:20:37 +00:00
* ****************************** *
* Yamagi Quake II *
* http://www.yamagi.org/quake2 *
* ****************************** *
===============================================================================
2009-06-08 15:47:14 +00:00
This is the Yamagi Quake II Client, an enhanced Version of id Software's
2010-10-26 08:10:37 +00:00
Quake II. Main focus is single player, the gameplay and the graphics are
unchanged but many bugs were fixed. Other than most other Quake II ports
Yamagi Quake II is full 64 bit clean so it works perfectly on modern amd64
processors and operating systems. This code should run on most unix-like
operating systems, just type "make" or "gmake" to compile.
2009-06-08 15:47:14 +00:00
This code is based upon Icculus Quake II, which itself is built upon id
2009-10-04 12:20:37 +00:00
Software's original code drop. Additional code and patches by many
contributers were used. It's released under the terms of the GPL version 2.
You can read the whole licence under http://www.gnu.org/.
2009-10-04 12:20:37 +00:00
===============================================================================
Content of this file:
--------------------
1. Installation
1.1 Retail version
1.2 Demo version
2010-10-26 08:10:37 +00:00
1.3 Addons
1.4 Dependencies
1.5 Compiling
1.6 Default configuration
2009-10-04 12:20:37 +00:00
2. OGG/Vorbis playback
2.1 Setup for the original soundtrack
2.2 Setup for other music and playlists
2.3 Manual control
2.4 Console variables
2010-10-26 08:10:37 +00:00
3. Configuration
3.1 Widescreen setup
3.2 Video
3.3 Input
3.4 Sound
2009-10-04 12:20:37 +00:00
4. Bugreports
2009-10-04 13:56:01 +00:00
5. FAQ
2009-10-04 12:20:37 +00:00
===============================================================================
1. Installation
==============
Note: If you're using Debian Linux or a derived Distribution like
Ubuntu, you probably want to use the packages that are linked in the
Download section at http://www.yamagi.org/quake2. They'll even assist
you in installing the game data.
1.1 Retail version:
-------------------
If you own Quake II, first get the official point release to Quake II 3.20:
ftp://ftp.idsoftware.com/idstuff/quake2/q2-3.20-x86-full-ctf.exe
2010-10-26 08:10:37 +00:00
Use this and only this file! Unofficial "linux pointreleases" or something
2010-02-24 15:49:25 +00:00
like that will not work and crash your game!
2009-10-04 12:20:37 +00:00
2010-10-26 08:10:37 +00:00
Create a new directory "quake2/" and extract the file you just
2009-10-04 12:20:37 +00:00
downloaded into it. Even if the file extension is ".exe" it's just a
normal zip file. Now delete the following files and directories:
- 3.20_Changes.txt
- index.html
- quake2.exe
- ref_gl.dll
- ref_soft.dll
- baseq2/gamex86.dll
- baseq2/maps.lst
- ctf/ctf2.ico
- ctf/gamex86.dll
- ctf/readme.txt
- ctf/server.cfg
- DOCS/
- xatrix/gamex86.dll
- rogue/gamex86.dll
Now put the Quake II CD-ROM into your cd drive and copy the file
"pak0.pak" and the directory "video/" to the baseq2-directory of your
installation.
1.2 Demo version:
-----------------
If you haven't got Quake II, try the demo version. Get it here:
2010-10-26 08:10:37 +00:00
ftp://ftp.idsoftware.com/idstuff/quake2/q2-314-demo-x86.exe
2009-10-04 12:20:37 +00:00
Create a new quake2/ directory with a baseq2/ sub-directory and put the
2011-10-11 20:39:43 +00:00
pak0.pak and the players/ sub-directory, you can find it within the
unzipped files (in Install/Data/baseq2/), in your baseq2-directory. No
patching is needed for the demo, in fact it would break it.
2009-10-04 12:20:37 +00:00
2010-10-26 08:10:37 +00:00
1.3 Addons
----------
Due to license issues - Yamagi Quake II is covered by the GPL and the
addons are under the id Software SDK license - the addons are
distributed seperatly. You can get them at http://www.yamagi.org/quake2,
both contain installation instructions. But nevertheless you'll need
2011-10-10 07:53:11 +00:00
the client and the main game installed for playing them. The same goes
to the "ctf" capture the flag addon.
2010-10-26 08:10:37 +00:00
1.4 Dependencies:
2009-10-04 12:20:37 +00:00
-----------------
- X11 Windows System with development headers
- OpenGL system headers (Mesa3D, nVidia, fglrx, etc.)
- libvorbis with development headers
- libogg with development headers
- ZLib
- SDL with development headers and sdl-config(1)
2010-10-26 08:10:37 +00:00
1.5 Compiling:
2009-10-04 12:20:37 +00:00
--------------
After you have set up the game data (from the full version or the
demo), you have to compile the Yamagi Quake II client. Just extract the
source, change into the new created directory and type "make" (Linux) or
"gmake" (FreeBSD). After the compilation finished copy the following
files out of release/ to your installation directory preserving the
directory structure:
- q2ded
- quake2
- ref_gl.so
- baseq2/game.so
1.6 Default configuration
-------------------------
Quake II ships with an old and for today standards "insane" default
configuration. This is no problem since you can alter everything. To
make the life easier Yamagi Quake II contains an updated default
configuration. If you want to use it just copy stuff/yq2.cfg to
your baseq2/ folder.
2009-10-04 12:20:37 +00:00
You should now be ready to start your brand new Quake II. Have fun.
===============================================================================
2. OGG/Vorbis playback
======================
Since most modern CD-ROM and DVD drives don't have an analog audio
output and most sound codecs don't have the appropriate input header,
it's no longer possible to play Quake II with the original Audio-CD for
2009-10-04 15:14:41 +00:00
background music. Therefore OGG/Vorbis playback has been added to Yamagi
2009-10-04 12:20:37 +00:00
Quake II. It can play the original soundtrack, like if the CD is in the
drive or customized playlists.
2.1 Setup for the original soundtrack:
--------------------------------------
Put your Quake II CD-ROM in your drive, start your favorite CD extractor
and rip the audiotracks into OGG/Vorbis files. These files must be named
2011-10-11 20:39:43 +00:00
after their track number. Remember! Since the first track on the CD is
2009-10-04 12:20:37 +00:00
"data", the first audio track is number 2! If everything is done
2009-10-06 15:41:04 +00:00
correct, you should have: 02.ogg, 03.ogg, ..., 11.ogg. Alternatively you
can use a script provided by caedes, which can be found in the folder
"stuff/". It needs cdparanoia and oggenc, it should work with the main
2009-10-06 15:41:04 +00:00
game and both addons.
Put these files under baseq2/music, start Quake II, enter the "Options"
menu and set "OGG music" to enabled. "CD music" will be automaticly
disabled. Quake II will now play the OGG/Vorbis files instead of the
Audio-CD.
2009-10-04 12:20:37 +00:00
2.2 Setup for other music and playlists:
----------------------------------------
You can put normal OGG/Vorbis files into baseq2/music or your_mod/music.
If shuffle is enabled, Quake II will shuffle through all files.
Otherwise it will loop through the track associated with the map.
2009-10-04 15:14:41 +00:00
Therefore playlists can be used. Just put the filenames into
2011-10-11 20:39:43 +00:00
music/playlist (a plain text file) and start the game. For manual
control there are some cvars. Remember: these are only available, if "OGG
2009-10-04 12:20:37 +00:00
music" is enabled!
2.3 Manual control:
-------------------
- ogg_play {file | #n | ? | >n | <n}
Play a file, the argument can be one of:
* A file in "music", without the path and ".ogg" extension.
* A # followed by a number, to play the Nth file in the playlist.
* A ? which indicates to play a random file.
* A > which indicates to advance N positions (defaults to 1).
* A < which indicates to go back N positions (defaults to 1).
- ogg_stop
Stop playing the current file
- ogg_pause
Pause the current file
- ogg_resume
Resume the current file.
- ogg_seek {n | >n | <n}
Go to a determinated position of the file in seconds, the argument can be
one of the following:
* n, which indicates to go to the nth position.
* >n, which indicates to advance n positions.
* <n, which indicates to go back n positions.
You can use "ogg_seek >0" and "ogg_seek <0" to get the current position
without changing it.
- ogg_status
Display status (if playing a file, if paused, if stopped, etc.).
2.4 Console variables:
----------------------
- ogg_enable {0 | 1}
Enable the Ogg Vorbis subsystem when in "1". Defaults to "0".
- ogg_playlist {name}
Use "name" as a list of files instead of listing the contents of "music".
Note that the files must be in "music" and follow ogg_play's syntax for
files. Defaults to "playlist".
- ogg_sequence {next | prev | random | loop | none}
When a file ends, start playing another one, depending on the value:
* next: play the next file.
* prev: play the previous file.
* random: play a random file.
* loop: play the same file again.
* none: stop playing.
Defaults to "next".
- ogg_volume
Volume of the music from 0 to 2. Defaults to "0.7".
===============================================================================
2010-10-26 08:10:37 +00:00
3. Configuration
================
While configuring Quake II is straight forward some rough edges can
2011-10-11 20:39:43 +00:00
arise. Before reporting bugs or mailing me please read this section all
2010-10-26 08:10:37 +00:00
the hints covered in it!
3.1 Video
2010-10-26 08:10:37 +00:00
---------
For most people the options in the "Video" menu are sufficent. But there
are some things that can and in some cases must be tuned via cvars. Here
the most common questions are answered.
- Yamagi Quake II has full support for widescreen setups. Just select your
favorite resolution and start a game. Now you'll need to adjust the field
of view. Open the console with pressing "^" or "~" and set the fov cvar.
Default is 90, I suggest 100 for 16:10 screens and 105 for 16:9.
- If your resolution is not in the list, it's also possible to set custom
resolutions via the console: Set gl_customwidth and gl_customheight to the
desired values. Change gl_mode to -1 or enter the "Video" menu and select
"Custom" as video mode.
2010-10-26 08:10:37 +00:00
- Sync problems resulting in tearing and artifacts in the lower half of
the screen: These orginiate in the fact, that in 1997 the modern LCD flat
panel was invented, but very expensive and much too slow for gaming.
2010-10-26 08:10:37 +00:00
Thus Quake II has problems when played on most flat panel monitors.
The solution for this problem is simple. Just set "cl_maxfps" to about
95 FPS. Now enable the vsync with setting "gl_swapinterval" to 1.
2010-10-26 08:10:37 +00:00
This should supress all of the problems.
- Particle effects are broken. They're just squares and not perfectly
round: This is a problem by your graphics driver, not implementing
a special filter mode for "points". Set "gl_ext_pointparameters" to 0
to get better (but not perfect) particles.
2010-10-26 08:10:37 +00:00
- The game is bright enough but it's also washed out and dull: You need
more saturation. Just adjust the cvar "intensity". The default 2
should be enough for most cases, but some setups require higher
levels.
- Yamagi Quake II offers hardware gamma control in realtime via the
"Video" menu. If Quake II is still too dark set the "vid_gamma"
cvar by hand to values above 1.5.
2010-11-27 10:24:05 +00:00
- Yamagi Quake II can draw shadows. Just set "gl_shadows" to 1. You most
likely want to set "gl_stecilshadow" to 1 too. This enables high
quality stencil buffer shadows.
2011-10-17 10:43:48 +00:00
- Yamagi Quake II has support for anisotropic filtering. Activating it
gives a small benefit in texture drawing over large distances. Check
"gl_anisotropic_avail" for the maximum amount af filtering supported
by your video card and set the desired value "gl_anisotropic". The
value must be a power of 4, in most cases 2, 4, 8 or 16.
2012-03-12 10:25:23 +00:00
- Yamagi Quake II has support for the high resolution retexturing pack,
created by the community. Installation is easy:
1. Download q2_textures.zip and models.zip from
http://www-personal.umich.edu/~jimw/q2/
2. Extract both files into the baseq2/ directory of your Quake II
installation, so that the new directories baseq2/textures/ and
baseq2/models/ are created.
The retexturing pack is used by default if it's installed. It can
be switched of at any time by setting "gl_retexturing" to "1" and
execute "vid_restart" after it.
3.2 Input
2010-10-26 08:10:37 +00:00
---------
Quake II had a rather simple input system, even back then in 1997. It
just mapped Windows 95 mouse events one to one on movements. That was a
very acurate way to do it, Quake II was - like all other id Software
games - much more acurate than most games out there. But there were some
problems. First the mouse inut is dependent on the operation system
2010-10-26 08:10:37 +00:00
mouse driver. Another operating system or even another mouse and the
inut changed drastically. That sucked.
2010-10-26 08:10:37 +00:00
Yamagi Quake II features a from scratch rewritten mouse backend based on
SDL. It gives you exactly the same mouse behavior, regardless of your
operating system or hardware. But sadly it can't emulate the old
behavior in all cases. There are some cvar to adjust:
- in_mouse -> Set to 0 the mouse is disabled.
- sensitivity -> The sensistivity of the mouse. Adjust to your needs,
via the cvar or via the "Options" menu.
- in_filter -> A mouse filter. This was added in one of the countless
point releases but it was broken. We fixed it. The effect is exaktly
the same as in Quake III Arena, instead of using the raw movement
signals two of them are combined, filtering vibrations and things like
that out.
- exponential_speedup -> The mouse acceleration. A very simple aproch,
much simpler than modern mouse acceleration. "0" is disabled. Sadly
it's nearly imposible to add modern acceleration to Quake II since
most of the needed data isn't available to the inut backend.
3.3 Sound
2010-10-26 08:10:37 +00:00
---------
Quake II featured one of the best sound systems of it's time but sadly
it was totaly broken. Therefore id Software rewrote it once, later it was
2010-10-26 08:10:37 +00:00
rewritten again for the linux port. That fixed most visible problems but
the code was just crap and broke again as time passed and sound on computer
2010-10-26 08:10:37 +00:00
evolved. For Yamagi Quake II 3.0 the sound system was overhauled,
featuring a complete code audit of the upper layers with many bugfixes
and memory leak plugs. The backend was rewritten from scratch. This
should solve most if not all problems.
- The earthquake sound sample is distorted
This is not a fault of the sound code but of the sound sample itself.
It's mostly made of very low frequency noices and sampled in only
2011-10-11 20:39:43 +00:00
22kHz, bringing cheap onboard soundcards to the limit. The only
2010-10-26 08:10:37 +00:00
solution would be to change the sample...
- The sound is stuttering and cracking
This is most likely a problem on your side! First make sure that your
SDL sound backend is installed proberly. Does the sound work in other
2011-10-11 20:39:43 +00:00
SDL games like ioquake3? If possible remove all sound servers from
2010-10-26 08:10:37 +00:00
your stack and use the plain OSS or ALSA via libalsa. If everything
fails try create an ~/.asoundrc with this contents:
pcm.!default {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
2009-10-04 12:20:37 +00:00
===============================================================================
4. Bugreports
=============
Something is not working as expected? An elevator is broken? An enemy
doesn't move? Or the whole game is just crashing? Just drop me an e-mail
to quake2@yamagi.org. Please include a problem description and - if
possible - a screenshot of the problematic situation and the name of the
problematic map. But first, read this little FAQ:
My sound is not working!
- Most reported sound problems exist between keyboard and chair. Please
make sure, the the correct SDL sound backend is installed and
configured! Does the sound work in other SDL games? Does your setup
support at least five virtual channels? In most cases it's better to
not use sound servers like Pulseaudio but the plain sound system
2010-10-26 08:10:37 +00:00
like OSS or ALSA with libalsa instead. Also see the "Sound" section
in this file!
2009-10-04 12:20:37 +00:00
My OpenGL is not working!
- Make sure, that OpenGL is working in other games. Use "glxinfo" and
"glxgears" to make sure, that hardware rendering ist available.
Otherwise, fix your setup. If reporting OpenGL bugs please include a
copy of your xorg.conf (if available) and the Xorg.0.log.
2009-06-08 15:47:14 +00:00
2010-02-24 15:51:45 +00:00
The game is crashing!
- Make sure that your kit is complete. Missing files will crash Quake
II on random occasions and will produce strange backtraces! This just
wastes my time, so please check first and report then!
2010-10-26 08:10:37 +00:00
Valgrind reports many, many memory leaks!
- Yeah it does. But they're all false positives due to Quake IIs
caching architecture. There some real memory leaks in SDL, Mesa3D,
X11 and so on but they're out of my scope. So before reporting memory
leaks please read the code, understand the code and be sure that's a
real leak!
2010-02-24 15:51:45 +00:00
2009-10-04 12:20:37 +00:00
===============================================================================
2009-10-04 13:56:01 +00:00
5. FAQ
======
How do I open the console?
2010-01-10 17:04:39 +00:00
- Press "^" or "~", depending on your keyboard layout.
2009-10-04 13:56:01 +00:00
How do I get the frame counter?
- Set cl_drawfps to 1
How do I make a benchmark?
- Set timedemo to 1 and play a demo.
How do I play demos?
- "demomap name.dm2". Remember, the extension .dm2 is important!
How do I record a demo?
- "record name" and "stop" to stop.
When playing in window mode my is locked onto the window. Can I change
that, e.g. that Quake II is behaving like a normal window?
2010-01-10 17:04:39 +00:00
- Open the console with pressing ~ or ^. If you want Quake II to never
2010-10-23 10:19:02 +00:00
grab the mouse set "in_grab" to 0, if Quake II should never release
the mouse set 1, for releasing the mouse when open the console set
to 2. The default is 2.
2009-10-04 13:56:01 +00:00
2010-02-24 15:49:25 +00:00
Hey, my screensaver crashes Quake II or I expire strange crashes after a
fixed amount of time!
2010-10-26 08:10:37 +00:00
- This is a known bug in some linux distributions. SDL fails to disable
the screensaver even if we tell him to do so. See this Ubuntu bugreport:
2010-02-24 15:49:25 +00:00
https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/32457
As a work around use the startscript in stuff/quake-start.sh It
2010-02-24 15:49:25 +00:00
deactivates the screensaver before starting Quake II and reenables it
after exiting the game.
2010-02-08 17:22:33 +00:00
2010-10-26 08:10:37 +00:00
Okay, Yamagi Quake II is for single player and coop. But what's with us
deathmatch and / or CTF freaks?
- Use another client. There are clients out there which offer far better
multiplayer experiences. They're featuring a greatly improved network
code and a better client<->server integration. Take a look at EGL, r1q2
or AprQ2. At least r1q2 should work on unixlike operating systems.
2010-09-01 09:12:55 +00:00
2011-10-11 20:39:43 +00:00
The movement is fucked up! I can jump much higher and longer as it used
to be! What's wrong?
- You're experiencing the Quake II version of the famous Q3A 125hz bug.
When Quake II draws more than about 100 FPS the movement calculations
2010-11-27 11:56:50 +00:00
go wrong and you can jump much higher. To solve this set "cl_maxfps"
2011-10-11 20:39:43 +00:00
to about 95 FPS. And no, we won't fix it since it would be very
invasive and most likely break a lot of other things.
2011-10-04 15:36:57 +00:00
Can I use texture sets with Yamagi Quake 2?
- No, you can't. Yamagi Quake 2 is dedicated to a game experience like
in 1997 and thus texture packs are not supported. Use another client.
I'm creating a package or port for my system. Is a system wide install
possible without patching the source?
- Yes. Just set -DSYSTEMWIDE. If you want to change the default
directory from /usr/share/games/quake2/, just set -DSYSTEMDIR
to the desired path.
How do I disable friendly fire in coop mode?
- The same way as in team deathmatch. Via the menu select "deathmatch
options" and set teamplay to "by skin" or by "by model" and friendly
fire to disabled. Make sure, that all players have the same model or
skin! If you're using the dedicated server or allready in the game,
open the console and type "dmflags 336" für skinbased teamplay and
"dmflags 400" for modelbased teamplay.
2011-10-15 16:18:26 +00:00
Can I connect to an IPv6 server?
- Yes, the same way as connecting to an IPv4 server. Since the Quake II
console has problems with the characters ":", "[" and "]" we suggest
to submit the connection command as command line argument:
./quake2 +connect "[2001:db8::1]"
For your server to show up in the server list you need to supply a
multicast interface to both the client and the server:
./q2ded +set multicast eth0
./quake2 +set multicast eth0
Normaly the server will listen to all IPv4 and IPv6 addresses. You
can bind it to an address with:
./q2ded +set ip "[2001:db8::1]"
Where can I find the configuartion file?
2012-02-17 08:24:16 +00:00
- It's located at ~/.yq2/game/config.cfg. Replace "game" by the mod
name, e.g. "baseq2" for the main game.
My mod craches at startup.
- This is known problem, yet to be analyzed. A workaround is to create
the working directory by hand:
mkdir -p ~/.yq2/$moddir
2012-03-08 11:24:45 +00:00
Only parts of the maps are rendered!
- By default the maximum view distance is 2300 units. You can widen it
up to 4096 units by setting "gl_farsee" to "1",
2011-10-15 16:18:26 +00:00
==============================================================================