Quakespasm for VenenuX
======================

Contents:
* INTRODUCTION
* GAME DATA FILES
* MODS AND MAPS SUPPORT
* AUDIO MUSIC
* NETWORK AND MULTIPLAYER GAMMIN


* INTRODUCTION ************

Quake its really a software for make work data files prepackaged. When 
you install Quake from Steam, and you try to launch it, you will be given 
four options: Quake, QuakeWorld, GLQuake, or GLQuakeWorld. These are the 
four original Quake "engines" provided by id software.

A Quake engine is just a program that can understand and use Quake game 
data files -- it's a program you run in order to play Quake.
 
The variety of Quakes engines is that there are two major divisions of
that technology: multiplayer protocol (NetQuake vs. QuakeWorld) and graphics 
rendering (software vs. OpenGL). See NET GAMMING section here for more info.
 
Quake was originally released with a software renderer. An OpenGL renderer 
was added in a later release, providing hardware-accelerated graphics with 
texture filtering and other effects. And a Quakeworld are not designed to 
play single player mission modes, and Netquake are a lan only related mode.

Two mayor engines are in linux, quakespasm and darkplaces, both are opengl 
related but only lasted are capable of netquake and quakewold game modes.
A thirth engine quakesdl are software raster only focusend in singleplayer.

* GAME DATA FILES **************

As with any Quake engine, you will need the data files in order to use it.
The first episode of Quake is available gratis as shareware from iD.
Of course the data from the full version of the game will also work fine,
if you have it.

The engine looks for the data in the *current directory* by default, so it
expects to find 'id1/pak0.pak' wherever you started the game, unless you 
defined a base directory (called "basedir")

The "basedir"
-------------

In debian and VenenuX the program engines have a default place for those data 
files of games, called "basedir" same as parameter engine invocation option.
By default this basedir are under /usr/share/games/quake for these data files.

The massenkoh venenux repo will have the necesary data files packages all 
the abandonware, the openquartz data package also provide free only files.

Using the quake and game-data-packager packages
-----------------------------------------------

The Debian package "quake" contains a wrapper script which expects the
"quake-data" package to have been built and installed, using
the "game-data-packager" package.  This is recommended.

Running others data packages with engine manually
----------------------------------------------

Loading of aditional files are supported if their are under the same basedir 
of the original quake base files or you can specify another directory using 
the -basedir option; but always must be the "id" subdir present in it:

  # use the quake-data package
  quakespasm -basedir /usr/share/games/quake
  # use some data files in your home directory
  quakespasm -basedir ~/my-quake-install

This are same for other mods/data, under same base dir must all the files, 
both "id" and "mod" directories of data files must reside under the data
directory base dir to load others game data packages.

Please see this thread for discussion of Quakespasm:
http://www.celephais.net/board/view_thread.php?id=60452

There is lots of free beer content available on the above site also.


* MODS AND MAPS SUPPORT ************

Each engine follows the same general rules for working with config files, 
pak files, and other "loose" files not contained in pak files -- which 
could be maps, 3D models, sounds, etc. loading from the default "basedir"

Quake engines ruleset for mods support
--------------------------------------

- A Quake engine expects to see a subfolder named "id1" that contains the 
files "pak0.pak" and "pak1.pak" from the original/shareware/free Quake data.
The engine will also examine this subfolder for additional files of mods to 
load, but pak0.pak and pak1.pak are the only files you need from the original Quake.
- Quakespasm does not support QuakeWorld multiplayer, when engine support it 
will also examine the "qw" subfolder for additional files.
- An engine will also examine any subdir named using the "-game" command-line 
option; this is way that a mod is loaded (the mod files are inside that subdir name).

Quake large simgleplayer maps support
-------------------------------------

A few recent large and/or complex singleplayer map releases make use of the 
new "bsp2" map format for Quake. Maps in bsp2 format aren't common, from the 
linux engines in debian/VenenuX only DarkPlaces and QuakeSpasm support it, 
the quakesql engine does not.

Working with addons or/and mods/maps thirth party files
-----------------------------------------

Anything you put in the "id1" subdir of basedir directory can be seen by all 
of those engines, since they all use the same rules for finding content. Anything 
you put in the "qw" folder can be seen by QuakeWorld-capable engines. Etc.
So for example let's say you've downloaded a singleplayer map file named "foo.bsp", 
any loose bsp file needs to be placed in the "maps" subfolder of one of the folders 
that your Quake engine sees; so if you put "foo.bsp" inside "id1\maps" you will 
guarantee that all of your Quake engines can use it.
  

* AUDIO MUSIC ************

If you intend to play third-party content a modern engine may actually be required.
Original quake engines always required original CD soundtracks, modern engines 
can play without it! 

Particulary Quakespasm can load external files as music tracks.

CD away loading music
---------------------

QuakeSpasm supports ogg, mp3 and wav external music files to be played instead of 
cd music. Inside each mod/game subdir of the basedir, must exist the "music" directory
and inside that dir must be each track ripped/converted in ogg or mp3 format.

As example: directory id1/music; if you have the Scourge of Armagon mission pack, 
then directory hipnotic/music; if you have the Dissolution of Eternity  then the 
directory rogue/music. Inside must exits like track02.ogg, track03.ogg etc.

There is no such thing as track01 due the original CD-rom of the game its really 
a Data-cd the first tracks of pack cdroms are always data tracks.

Note that since the Quake cdrom audio tracks are pre-emphasized, if you ripped you 
should de-emphasize them during or after ripping to make them sound right.

Audio output
------------

Quakespasm uses SDL for sound by default.  It doesn't know about Pulseaudio and
such.  To use Pulse with Quakespasm, you can create the 'pulse' device as shown
in [1], and then start quakespasm setting the AUDIODEV environment variable.
Like so:

  AUDIODEV=pulse quakespasm

This channels sound through SDL, to ALSA, then to the Pulseaudio server.

[1] http://www.pulseaudio.org/wiki/PerfectSetup#ALSAApplications

* NETWORK AND MULTIPLAYER GAMMIN

In Quake multiplayer as it was first released, the client (the player's computer)
would tell the server what it wanted to do, the server would tell the client 
what happened as a result, and the client would then show those results. This 
behabior are the NetQuake mode multiplayer game.

QuakeWorld was a dramatic revision of Quake that incorporated client-side prediction.
The client was allowed to immediately show the results of player action; if it 
happened to be mistaken, the server could correct it later, causing the client 
to "jump" to comply with the correct state of the world. Client-side prediction 
makes QuakeWorld multiplayer feel more responsive, but the occasional correction 
from the server can make it seem more erratic or flaky than the original Quake
(now sometimes called NetQuake, to differentiate it from QuakeWorld).

Only the DarkPlaces engine can made quakeworld mode but only as client.
For QuakeWold mode game as server its recommended to use the QuakeWorld package.
The QuakeNet mode are available for Quakespasm and DarkPlaces as client or server.

 -- PICCORO Lenz McKAY <mckaygerhard@gmail.com>  Sun, 03 May 2015 02:01:56 -0430
