2010-08-14 05:01:12 +00:00
<!doctype linuxdoc system>
<article>
2011-04-24 16:25:26 +00:00
<title>QuakeSpasm
2010-08-14 05:01:12 +00:00
<toc>
<verb></verb>
2012-04-23 17:01:11 +00:00
<em>Page last edited 23 April 2012</em>
2010-08-14 05:01:12 +00:00
<sect> About <p>
QuakeSpasm is a Quake 1 engine based on the SDL port of FitzQuake.
2011-02-18 14:00:28 +00:00
It includes 64bit CPU support, a new sound driver, several networking fixes and a few graphical niceities.
2010-08-14 05:01:12 +00:00
2010-08-14 07:40:48 +00:00
<url url="http://quakespasm.sourceforge.net">
2010-08-14 05:01:12 +00:00
2011-04-24 16:25:26 +00:00
2010-08-14 11:59:39 +00:00
<sect> Downloads <p>
2011-04-24 16:25:26 +00:00
<itemize>
2011-12-30 21:15:31 +00:00
<item><url url="http://quakespasm.sourceforge.net/download.htm">
2011-04-24 16:25:26 +00:00
</itemize>
2010-08-14 11:59:39 +00:00
2010-08-14 07:40:48 +00:00
<sect> Hints <p>
2010-08-14 05:01:12 +00:00
2011-01-11 08:06:03 +00:00
<em> Visit the <url url="http://www.celephais.net/fitzquake" name="FitzQuake Homepage"> for a full run-down of the engine's commands and variables.</em>
2011-01-10 03:09:09 +00:00
2010-08-14 07:40:48 +00:00
<itemize>
<item>To disable some changes, use "<bf>quakespasm -fitz</bf>"
<item>For different sound drivers use "<bf>SDL_AUDIODRIVER=</bf><em>DRIVER</em><bf> ./quakespasm</bf>"
, where DRIVER may be alsa, dsp, pulse, esd ...
<item><bf>Shift+Escape</bf> draws the Console.
2011-02-18 14:00:28 +00:00
<item>From the console, use <bf>UP</bf> to browse the command line history and
2010-08-14 07:40:48 +00:00
<bf>TAB</bf> to autocomplete command and map names.
2011-01-11 08:06:03 +00:00
<item>There is currently no CD Music volume support. cd_sdl.c needs replacing with cd_linux.c, cd_bsd.c etc..
2010-08-29 21:37:07 +00:00
<item>In windows, alternative CD drives are accessible by "<bf>quakespasm -cddev F</bf>" (for example)
2010-08-23 04:12:19 +00:00
2011-01-10 03:09:09 +00:00
<item>Quakespasm allows loading new games (mods) on the fly with "<bf>game</bf> <em>GAMENAME</em>"
2010-08-14 07:40:48 +00:00
</itemize>
2011-01-10 03:09:09 +00:00
</p>
2011-04-24 16:25:26 +00:00
2011-01-11 08:06:03 +00:00
<sect1>Music Playback<p>
2011-02-10 18:15:19 +00:00
Since version 0.85.4, Quakespasm can play back external MP3, OGG and Wave music files.
2011-01-10 03:09:09 +00:00
<itemize>
2011-02-12 22:20:09 +00:00
<item>Tracks should be named like "track02.ogg", "track03.ogg" ... (there is no track01) and placed into "Quake/id1/music".
2011-03-27 14:00:31 +00:00
<item>Unix users may need some extra libraries installed: "libmad" or "libmpg123" for MP3, and "libogg" and "libvorbis" for OGG.
2011-04-28 06:24:37 +00:00
<item>To prevent tracks from being downsampled, use the "-sndspeed" option to set a sufficiently high sample rate.
2011-02-15 21:30:32 +00:00
<item>Use the "-noextmusic" option to disable this feature.
2012-01-16 20:37:25 +00:00
<item>See <url url="README.music"> for more details.
2011-01-10 03:09:09 +00:00
</itemize>
2010-08-14 07:40:48 +00:00
<sect> Compiling <p>
2011-04-24 16:25:26 +00:00
<p>To check-out the latest version of QuakeSpasm, use :
<newline>
<em>svn co https://quakespasm.svn.sourceforge.net/svnroot/quakespasm/trunk</em></p>
2011-04-24 03:01:40 +00:00
<sect1> Linux/Unix <p>
2011-01-10 03:09:09 +00:00
After extracting the source tarball, browse the Makefile and edit the music streaming options, then
2010-08-14 07:40:48 +00:00
<code>
make
2010-08-29 21:37:07 +00:00
cp quakespasm /usr/local/games/quake (for example)
2010-08-14 07:40:48 +00:00
</code>
<newline>
2010-08-14 11:59:39 +00:00
Compile time options include
<itemize>
<item><bf>make DEBUG=1</bf> for debugging
2011-02-18 14:00:28 +00:00
<item><bf>make SDL_CONFIG=</bf><em>/PATH/TO/SDL-CONFIG</em> for unusual SDL installations
2010-08-14 11:59:39 +00:00
</itemize>
2011-02-14 20:02:52 +00:00
<p>Streaming music playback requires "libmad" or "libmpg123" for MP3, and "libogg" and "libvorbis" for OGG files.
2011-02-18 14:00:28 +00:00
<p>HOME directory support can be enabled via <bf>Misc/homedir_0.patch</bf>
2011-04-24 03:01:40 +00:00
<p>The project can also be built with Codeblocks (project files included).</p>
2011-04-24 16:25:26 +00:00
2011-04-24 03:01:40 +00:00
<sect1> Windows <p>
2011-04-24 04:27:54 +00:00
The QuakeSpasm developers cross-compile windows binaries using <url url="http://www.mingw.org" name="MinGW"> and <url url="http://mingw-w64.sf.net" name="Mingw-w64">.
2011-04-24 03:01:40 +00:00
2011-04-24 04:27:54 +00:00
The project can also be built using Visual Studio 2005 (or newer).</p>
2011-04-24 16:25:26 +00:00
2011-04-24 03:01:40 +00:00
<sect1> Mac OS X <p>
A Quakespasm App (including program launcher and update framework) can be made using the <bf>Xcode</bf> template found in the MacOSX directory.
2011-04-24 04:27:54 +00:00
Alternatively, have a look at <bf>Makefile.darwin</bf> for more instructions on building from a console.
2011-04-24 03:01:40 +00:00
</p>
2010-08-14 05:01:12 +00:00
2012-03-24 07:10:14 +00:00
<sect> Known Bugs <p>
Some versions of Xorg and SDL have brightness issues. If you have Xorg >= 7.5 and broken brightness,
these patched libSDL binaries may help.
<itemize>
<item><url url="http://sourceforge.net/projects/quakespasm/files/Support%20Files/libSDL_gamma_patched.tgz/download"
name="Gamma patched libSDL (i686-linux)"></li>
<item><url url="http://sourceforge.net/projects/quakespasm/files/Support%20Files/libSDL_gamma_patched-AMD64.tgz/download"
name="Gamma patched libSDL (x86_64-linux)">
</itemize>
</p>
2011-04-24 16:25:26 +00:00
2010-08-14 05:01:12 +00:00
<sect> Changes<p>
2011-04-24 16:25:26 +00:00
2012-04-23 17:01:11 +00:00
<sect1> Changes in 0.85.8<p>
<itemize>
<item> Made Quake shareware 1.00 and 1.01 versions to be recognized properly.
2012-07-03 21:20:11 +00:00
<item> Made the keypad keys to send separate key events in game mode.
2012-07-10 11:21:17 +00:00
<item> Fixed increased (more than 32) dynamic lights.
2012-04-23 17:01:11 +00:00
<item> Music playback: Made sure that the file's channels count is supported.
2012-07-03 21:20:11 +00:00
<item> Support for Solaris.
2012-09-10 07:51:23 +00:00
<item> Switched to using libmad instead of libmpg123 for MP3 playback on Mac OS X.
<item> Better support for building the Mac OS X version using a makefile, support for cross-compiling on Linux.
2012-07-16 17:00:24 +00:00
<item> Fixed a minor intermissions glitch.
2012-07-03 21:20:11 +00:00
<item> Increased string buffer size from 256 to 384 for PF_VarString to work around broken mods such as UQC.
<item> Restored original behavior for Quake registered version detection.
2012-09-10 07:51:23 +00:00
<item> Minor demo recording/playback tweaks.
<item> Minor tweaks to the scale menu option.
2012-09-15 11:30:49 +00:00
<item> unbindall before loading stored bindings (configurable by new cvar cfg_unbindall, enabled by default.)
2012-07-03 21:20:11 +00:00
<item> New icon.
2012-04-23 17:01:11 +00:00
<item> Miscellaneous source code cleanups.
</itemize>
</p>
2012-03-12 20:00:24 +00:00
<sect1> Changes in 0.85.7<p>
<itemize>
<item> Added support for cross-level demo playback
<item> gl_texturemode is reimplemented as a cvar with a callback and the setting is automatically saved to the config
<item> Fixed execution of external files without a newline at the end
<item> Reduced memory usage during reloading of textures
<item> Fixed compilation on GNU/kFreeBSD (Debian bug #657793)
<item> Fixed backspace key on Mac OS X
<item> Disable mouse acceleration in Mac OS X
<item> Worked around recursive calling of the anisotropic filter callback
<item> Console word wrap and long input line fixes
2012-03-13 05:10:26 +00:00
<item> Verified correct compilation by clang (using v3.0)
2012-03-12 20:00:24 +00:00
<item> Several other small changes mostly invisible to the end-user
</itemize>
</p>
2011-12-29 12:30:32 +00:00
<sect1> Changes in 0.85.6<p>
<itemize>
<item> More work for string buffer safety
<item> Reverted v0.85.5 change of not allowing deathmatch and coop cvars to be set at the same time (was reported for possibility of causing compatibility issues with mods)
2011-12-30 16:50:24 +00:00
<item> Several cleanups/changes in the cvar layer
<item> Minor SDL video fixes.
2011-12-29 12:30:32 +00:00
</itemize>
</p>
2011-12-24 09:41:41 +00:00
<sect1> Changes in 0.85.5<p>
2011-04-24 16:25:26 +00:00
<itemize>
2011-12-16 14:11:37 +00:00
<item> SDL input driver updated adding native keymap and dead key support to the console
2011-04-24 16:25:26 +00:00
<item> Fixed a crash in net play in maps with extended limits
2011-12-23 12:03:49 +00:00
<item> Verified successful compilation using gcc-4.6.x
2011-12-25 09:28:30 +00:00
<item> Added workaround against GL texture flicker (z fighting), controlled by new cvar 'gl_zfix'
2011-12-20 09:22:19 +00:00
<item> Read video variables early so that a vid_restart isn't necessary after init
2011-09-18 04:24:22 +00:00
<item> mlook and lookspring fixes
2011-12-25 09:28:30 +00:00
<item> Added support for loading external entity files, controlled by new cvar 'external_ents'
2011-09-19 08:55:47 +00:00
<item> Made mp3 playback to allocate system memory instead of zone
2011-12-12 09:03:34 +00:00
<item> Some updates to the progs interpreter code
2011-12-25 09:28:30 +00:00
<item> Fixed r_nolerp_list parsing code of fitzquake
2011-12-23 12:03:49 +00:00
<item> Made sure that deathmatch and coop are not set at the same time
2011-12-25 09:28:30 +00:00
<item> Several code updates from uHexen2 project, several code cleanups.
2011-04-24 16:25:26 +00:00
</itemize>
</p>
<sect1> Changes in 0.85.4<p>
2011-01-10 03:09:09 +00:00
<itemize>
2011-02-18 14:00:28 +00:00
<item> Implement music (OGG, MP3, WAV) playback
2011-02-10 18:15:19 +00:00
<item> A better fix for the infamous SV_TouchLinks problem, no more hard lockups with maps such as "whiteroom"
<item> Add support for mouse buttons 4 and 5
2011-02-13 16:50:18 +00:00
<item> Fix the "unalias" console command
<item> Restore the "screen size" menu item
<item> Fixed an erroneous protocol check in the server code
2011-02-17 06:56:28 +00:00
<item> Raised the default zone memory size to 384 kb
2011-02-17 10:20:26 +00:00
<item> Raised the default max_edicts from 1024 to 2048
2011-03-01 18:00:30 +00:00
<item> Revised lit file loading, the lit file must be from the same game directory as the map itself or from a searchpath with a higher priority
2011-02-13 16:50:18 +00:00
<item> Fixed rest of the compiler warnings
<item> Other minor sound and cdaudio updates
2011-01-10 03:09:09 +00:00
</itemize>
</p>
2011-04-24 16:25:26 +00:00
<sect1> Changes in 0.85.3<p>
2010-08-14 05:01:12 +00:00
<itemize>
2010-08-14 07:40:48 +00:00
<item> Fix the "-dedicated" option (thanks Oz) and add platform specific networking code (default) rather than SDL_net
2010-08-14 05:01:12 +00:00
<item> Much needed OSX framework stuff from Kristian
<item> Add a persistent history feature (thanks Baker)
2010-08-14 11:59:39 +00:00
<item> Add a slider for scr_sbaralpha, which now defaults to 0.95 (slightly transparent, allowing for a nicer status bar)
2011-02-18 14:00:28 +00:00
<item> Allow player messages longer than 32 characters
2010-08-14 05:01:12 +00:00
<item> Sockaddr fix for FreeBSD/OSX/etc networking
<item> Connect status bar size to the scale slider
<item> Include an ISNAN (is not-a-number) fix to catch the occassional quake C bug giving traceline problems
<item> Enumerate options menus
2010-08-14 07:40:48 +00:00
<item> Add a "prev weapon" menu item (from Sander)
2010-08-14 05:01:12 +00:00
<item> Small fix to Sound Block/Unblock on win32
<item> Lots of code fixes (some from uhexen2)
<item> Sys_Error calls Host_Shutdown
2010-08-23 04:12:19 +00:00
<item> Added MS Visual Studio support
2010-08-24 00:35:22 +00:00
<item> Add a "-cd" option to let the CD Player work in dedicated mode, and some other CD tweaks.
2010-08-14 05:01:12 +00:00
</itemize>
2011-04-24 16:25:26 +00:00
<sect1> Changes in 0.85.2<p>
2010-08-14 05:01:12 +00:00
<itemize>
<item> Replace the old "Screen size" slider with a "Scale" slider
<item> Don't constantly open and close condebug log
<item> Heap of C clean-ups
<item> Fix mapname sorting
<item> Alias the "mods" command to "games"
<item> Block/Unblock sound upon focus loss/gain
<item> NAT fix (networking protocol fix)
<item> SDLNet_ResolveHost bug-fix allowing connection to ports other than 26000
2011-03-31 09:50:24 +00:00
<item> Bumped array size of sv_main.c::localmodels from 5 to 6 fixing an old fitzquake-0.85 bug which used to cause segfaults depending on the compiler.
2010-08-14 05:01:12 +00:00
<item> Accept commandline options like "+connect ip:port"
<item> Add OSX Makefile (tested?)
</itemize>
2011-04-24 16:25:26 +00:00
<sect1> Changes in 0.85.1<p>
2010-08-14 05:01:12 +00:00
<itemize>
<item>64 bit CPU support
<item>Restructured SDL sound driver
<item>Custom conback
2011-02-18 14:00:28 +00:00
<item>Tweaked the command line completion and added a map/changelevel autocompletion function
2010-08-14 05:01:12 +00:00
<item>Alt+Enter toggles fullscreen
<item>Disable Draw_BeginDisc which causes core dumps when called excessively
<item>Show helpful info on start-up
<item>Include real map name (sv.name) and skill in the status bar
<item>Remove confirm quit dialog
<item>Don't spam the console with PackFile seek requests
<item>Default to window mode
<item>Withdraw console when playing demos
<item>Don't play demos on program init
<item>Default Heapsize is 64meg
<item>Changes to default console alpha, speed
2011-02-18 14:00:28 +00:00
<item>Changes to cvar persistence gl_flashblend (default 0), r_shadow, r_wateralpha, r_dynamic, r_novis
2010-08-14 05:01:12 +00:00
</itemize>
<sect> Todo <p>
<itemize>
2011-03-31 09:50:24 +00:00
<item>Add uHexen2's first person camera (and menu item)
2011-01-12 09:55:01 +00:00
<item>Native CD audio support (if desired). cd_sdl.c doesn't have proper volume controls
2011-02-18 14:00:28 +00:00
<item>Test usb keyboards. Do the keypads work? Make the OSX apple key work.
2011-04-24 16:25:26 +00:00
<item>Complete the unix user directories support
2010-08-14 05:01:12 +00:00
</itemize>
2012-01-01 20:27:10 +00:00
<sect> Copyright <p>
<itemize>
<item>Quake and Quakespasm are released under the <url url="http://www.gnu.org/licenses/gpl-2.0.html" name="GNU GENERAL PUBLIC LICENSE Version 2">
<item>Quakespasm console background image by <bf>AAS</bf>, released under the
<url url="http://creativecommons.org/licenses/by/3.0/legalcode" name="CREATIVE COMMONS PUBLIC LICENSE">
</itemize>
2011-04-24 16:25:26 +00:00
2010-08-14 05:01:12 +00:00
<sect> Links <p>
2011-04-24 16:25:26 +00:00
<itemize>
<item><url url="http://quakespasm.sourceforge.net" name="QuakeSpasm Homepage">
<item><url url="http://sourceforge.net/projects/quakespasm" name="QuakeSpasm Project page">
<item><url url="http://www.celephais.net/fitzquake" name="FitzQuake Homepage">
<item><url url="http://www.kristianduske.com/fitzquake" name="Sleepwalkr's Original SDL Port">
<item><url name="Baker's 0.85 Source Code" url="http://quakeone.com/proquake/src_other/fitzquake_sdl_20090510_src_beta_1.zip">
<item><url url="http://www.celephais.net/board/view_thread.php?id=60452" name="Func Quakespasm forum">
<item><url url="http://www.celephais.net/board/view_thread.php?id=60172" name="Func SDL Fitzquake forum">
<item><url url="mailto:gmail - dot - com - username - sezeroz" name="Ozkan's email">
<item><url url="mailto:yahoo - dot - com - username - stevenaaus" name="Stevenaaus email">
<item><url url="mailto:gmail - dot - com - username - inveigle" name="Kristian's email">
</itemize>
2010-08-14 05:01:12 +00:00
</article>