Miscellaneous doco updates

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@269 af15c1b1-3010-417e-b628-4374ebc0bcbd
This commit is contained in:
Steven 2010-08-14 05:01:12 +00:00
parent f528bdb8a1
commit d4389ecb61
5 changed files with 628 additions and 1 deletions

104
Misc/homedir_0.patch Normal file
View file

@ -0,0 +1,104 @@
support for user directories, based on a patch by Piotr Szymaniak.
against quakespasm svn revision 97.
** !! in alpha state, minimally tested !! **
Index: Quake/common.c
===================================================================
--- Quake/common.c (revision 97)
+++ Quake/common.c (working copy)
@@ -1776,25 +1776,27 @@
COM_AddGameDirectory -- johnfitz -- modified based on topaz's tutorial
=================
*/
-void COM_AddGameDirectory (char *dir)
+void COM_AddGameDirectory (char *base, char *dir)
{
int i;
searchpath_t *search;
pack_t *pak;
char pakfile[MAX_OSPATH];
- strcpy (com_gamedir, dir);
+ if (!base)
+ return;
+ strcpy(com_gamedir, va("%s/%s", base, dir));
// add the directory to the search path
search = Z_Malloc(sizeof(searchpath_t));
- strcpy (search->filename, dir);
+ strcpy (search->filename, com_gamedir);
search->next = com_searchpaths;
com_searchpaths = search;
// add any pak files in the format pak0.pak pak1.pak, ...
for (i = 0; ; i++)
{
- sprintf (pakfile, "%s/pak%i.pak", dir, i);
+ sprintf (pakfile, "%s/pak%i.pak", com_gamedir, i);
pak = COM_LoadPackFile (pakfile);
if (!pak)
break;
@@ -1837,7 +1839,12 @@
{
int i, j;
searchpath_t *search;
+ char *home;
+ home = getenv("HOME");
+ if (home)
+ Sys_mkdir (va("%s/.quakespasm", home));
+
i = COM_CheckParm ("-basedir");
if (i && i < com_argc-1)
strcpy (com_basedir, com_argv[i + 1]);
@@ -1852,8 +1859,8 @@
}
// start up with GAMENAME by default (id1)
- COM_AddGameDirectory (va("%s/"GAMENAME, com_basedir));
- strcpy (com_gamedir, va("%s/"GAMENAME, com_basedir));
+ COM_AddGameDirectory(com_basedir, GAMENAME);
+ COM_AddGameDirectory(home, ".quakespasm/" GAMENAME);
if (!fitzmode)
{ /* QuakeSpasm customization: */
@@ -1865,17 +1872,20 @@
com_nummissionpacks = 0;
if (COM_CheckParm ("-rogue"))
{
- COM_AddGameDirectory (va("%s/rogue", com_basedir));
+ COM_AddGameDirectory(com_basedir, "rogue");
+ COM_AddGameDirectory(home, ".quakespasm/rogue");
com_nummissionpacks++;
}
if (COM_CheckParm ("-hipnotic"))
{
- COM_AddGameDirectory (va("%s/hipnotic", com_basedir));
+ COM_AddGameDirectory(com_basedir, "hipnotic");
+ COM_AddGameDirectory(home, ".quakespasm/hipnotic");
com_nummissionpacks++;
}
if (COM_CheckParm ("-quoth"))
{
- COM_AddGameDirectory (va("%s/quoth", com_basedir));
+ COM_AddGameDirectory(com_basedir, "quoth");
+ COM_AddGameDirectory(home, ".quakespasm/quoth");
com_nummissionpacks++;
}
//johnfitz
@@ -1884,9 +1894,14 @@
if (i && i < com_argc-1)
{
com_modified = true;
- COM_AddGameDirectory (va("%s/%s", com_basedir, com_argv[i + 1]));
+ COM_AddGameDirectory(com_basedir, com_argv[i + 1]);
+ COM_AddGameDirectory(home, va(".quakespasm/%s", com_argv[i + 1]));
}
+ /* If home is available, create the game directory */
+ if (home)
+ Sys_mkdir(com_gamedir);
+
i = COM_CheckParm ("-path");
if (i)
{

View file

@ -113,7 +113,9 @@ typedef int socklen_t;
#define socketerror(x) strerror((x))
/* Verify that we defined HAVE_SA_LEN correctly: */
/* Verify that we defined HAVE_SA_LEN correctly
(Expression inside [] evaluates negative if HAVE_SA_LEN not correctly defined,
thowing "error: size of array is negative" at compile time) */
typedef char _check_sockaddr[2 * (offsetof(struct sockaddr, sa_family) == SA_FAM_OFFSET) - 1];
#endif /* end of unix stuff */

176
README.html Normal file
View file

@ -0,0 +1,176 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
<TITLE>QuakeSpasm </TITLE>
</HEAD>
<BODY>
<H1>QuakeSpasm </H1>
<H2></H2><P>
<PRE>
</PRE>
</P>
<P>QuakeSpasm 0.85.3 (unreleased) (18 September 2010)</P>
<P>
<H2><A NAME="toc1">1.</A> <A HREF="README.html#s1">About </A></H2>
<P>
<H2><A NAME="toc2">2.</A> <A HREF="README.html#s2">Changes</A></H2>
<UL>
<LI><A NAME="toc2.1">2.1</A> <A HREF="README.html#ss2.1">0.85.3</A>
<LI><A NAME="toc2.2">2.2</A> <A HREF="README.html#ss2.2">0.85.2</A>
<LI><A NAME="toc2.3">2.3</A> <A HREF="README.html#ss2.3">0.85.1</A>
</UL>
<P>
<H2><A NAME="toc3">3.</A> <A HREF="README.html#s3">Downloads </A></H2>
<P>
<H2><A NAME="toc4">4.</A> <A HREF="README.html#s4">Compiling </A></H2>
<P>
<H2><A NAME="toc5">5.</A> <A HREF="README.html#s5">Todo </A></H2>
<P>
<H2><A NAME="toc6">6.</A> <A HREF="README.html#s6">Links </A></H2>
<HR>
<H2><A NAME="s1">1.</A> <A HREF="#toc1">About </A></H2>
<P>QuakeSpasm is a Quake 1 engine based on the SDL port of FitzQuake.
It includes 64bit CPU cupport, a new sound driver, and a few graphical niceities.
The main feature is it works on virtually all platforms, and supports large Q1 mods.</P>
<P>
<A HREF="http://quakespasm.sourceforge.net">QuakeSpasm Homepage</A></P>
<P>To disable some changes, use <B>quakespasm -fitz</B></P>
<P>For different sound drivers:<BR>
<B>SDL_AUDIODRIVER=</B><EM>DRIVER</EM><B> ./quakespasm</B><BR>
Where DRIVER may be alsa, dsp, pulse, esd ...</P>
<P><B>Shift+Escape</B> now draws the Console.</P>
<H2><A NAME="s2">2.</A> <A HREF="#toc2">Changes</A></H2>
<H2><A NAME="ss2.1">2.1</A> <A HREF="#toc2.1">0.85.3</A>
</H2>
<P>
<UL>
<LI> Fix the "-dedicated" option (thanks Oz) and add platform specific networking code (default) cwrather than SDLnet</LI>
<LI> Much needed OSX framework stuff from Kristian</LI>
<LI> Add a persistent history feature (thanks Baker)</LI>
<LI> Add a slider for scr_sbaralpha, which now defaults to 0.95 (slightly transparent, allowing for nicer sbar)</LI>
<LI> Sockaddr fix for FreeBSD/OSX/etc networking</LI>
<LI> Connect status bar size to the scale slider</LI>
<LI> Include an ISNAN (is not-a-number) fix to catch the occassional quake C bug giving traceline problems</LI>
<LI> Enumerate options menus</LI>
<LI> Small fix to Sound Block/Unblock on win32</LI>
<LI> Lots of code fixes (some from uhexen2)</LI>
<LI> Shift+Escape opens console</LI>
<LI> Sys_Error calls Host_Shutdown
</LI>
</UL>
</P>
<H2><A NAME="ss2.2">2.2</A> <A HREF="#toc2.2">0.85.2</A>
</H2>
<P>
<UL>
<LI> Replace the old "Screen size" slider with a "Scale" slider</LI>
<LI> Don't constantly open and close condebug log</LI>
<LI> Heap of C clean-ups</LI>
<LI> Fix mapname sorting</LI>
<LI> Alias the "mods" command to "games"</LI>
<LI> Block/Unblock sound upon focus loss/gain</LI>
<LI> NAT fix (networking protocol fix)</LI>
<LI> SDLNet_ResolveHost bug-fix allowing connection to ports other than 26000</LI>
<LI> sv_main.c (localmodels) Bumped array size from 5 to 6 in order for it to operate correctly with the raised limits of fitzquake-0.85</LI>
<LI> Accept commandline options like "+connect ip:port"</LI>
<LI> Add OSX Makefile (tested?)</LI>
</UL>
</P>
<H2><A NAME="ss2.3">2.3</A> <A HREF="#toc2.3">0.85.1</A>
</H2>
<P>
<UL>
<LI>64 bit CPU support</LI>
<LI>Restructured SDL sound driver</LI>
<LI>Custom conback </LI>
<LI>Tweaked the command line completion , and added a map/changelevel autocompletion function</LI>
<LI>Alt+Enter toggles fullscreen</LI>
<LI>Disable Draw_BeginDisc which causes core dumps when called excessively</LI>
<LI>Show helpful info on start-up</LI>
<LI>Include real map name (sv.name) and skill in the status bar</LI>
<LI>Remove confirm quit dialog</LI>
<LI>Don't spam the console with PackFile seek requests</LI>
<LI>Default to window mode</LI>
<LI>Withdraw console when playing demos</LI>
<LI>Don't play demos on program init</LI>
<LI>Default Heapsize is 64meg</LI>
<LI>Changes to default console alpha, speed</LI>
<LI>Changes to cvar persistence gl_flashblend(default 0), r_shadow, r_wateralpha, r_dynamic, r_novis</LI>
</UL>
</P>
<H2><A NAME="s3">3.</A> <A HREF="#toc3">Downloads </A></H2>
<P>
<A HREF="http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3.tgz/download">Source</A><BR>
<A HREF="http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3_linux.tgz/download">Linux binary</A><BR>
<A HREF="http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3_windows.zip/download">Windows</A><BR></P>
<H2><A NAME="s4">4.</A> <A HREF="#toc4">Compiling </A></H2>
<P>Just extract the source tarball, then
<HR>
<PRE>
cd quakespasm-0.85.3
make
cp quakespasm /usr/local/games/quake (for eg)
</PRE>
<HR>
<EM>Use <B>make DEBUG=1</B> for debugging.</EM><BR><BR>
<EM>Optionally, HOME directory support can be enabled via the <B>Misc/homedir_0.patch</B> diff.</EM><BR><BR>
If for any reason this doesn't work, the project can also be built with Codeblocks.
This is a large, free, integrated development environment that requires wxWidgets and cmake to install.
The process is not for the faint hearted.</P>
<H2><A NAME="s5">5.</A> <A HREF="#toc5">Todo </A></H2>
<P>
<UL>
<LI>Ogg/Mp3 music file support</LI>
<LI>Tested HOME directory support</LI>
<LI>Fix Centerview (V_StartPitchDrift)</LI>
<LI>Fix compiler warnings</LI>
<LI>Tie down the "-window/-fullscreen" options / behaviour ?</LI>
</UL>
</P>
<H2><A NAME="s6">6.</A> <A HREF="#toc6">Links </A></H2>
<P>
<A HREF="http://quakespasm.sourceforge.net">QuakeSpasm Homepage</A><BR>
<A HREF="http://sourceforge.net/projects/quakespasm">QuakeSpasm Project page</A><BR>
<A HREF="http://www.celephais.net/fitzquake">FitzQuake Homepage</A><BR>
<A HREF="http://www.kristianduske.com/fitzquake">Sleepwalkr's Original SDL Port</A><BR>
<A HREF="http://quakeone.com/proquake/src_other/fitzquake_sdl_20090510_src_beta_1.zip">Baker's 0.85 Source Code</A><BR>
<A HREF="http://www.celephais.net/board/view_thread.php?id=60172">Func SDL Fitzquake forum</A><BR>
<A HREF="mailto:gmail - dot - com - username - sezeroz">Ozkan's email</A><BR>
<A HREF="mailto:yahoo - dot - com - username - stevenaaus">Stevenaaus email</A><BR>
<A HREF="mailto:gmail - dot - com - username - inveigle">Kristian's email</A></P>
</BODY>
</HTML>

137
README.sgml Normal file
View file

@ -0,0 +1,137 @@
<!doctype linuxdoc system>
<article>
<title>QuakeSpasm
<toc>
<verb></verb>
QuakeSpasm 0.85.3 (unreleased) (18 September 2010)
<sect> About <p>
QuakeSpasm is a Quake 1 engine based on the SDL port of FitzQuake.
It includes 64bit CPU cupport, a new sound driver, and a few graphical niceities.
The main feature is it works on virtually all platforms, and supports large Q1 mods.
<url url="http://quakespasm.sourceforge.net" name="QuakeSpasm Homepage">
To disable some changes, use <bf>quakespasm -fitz</bf>
For different sound drivers:
<newline>
<bf>SDL_AUDIODRIVER=</bf><em>DRIVER</em><bf> ./quakespasm</bf>
<newline>
Where DRIVER may be alsa, dsp, pulse, esd ...
<bf>Shift+Escape</bf> now draws the Console.
<sect> Changes<p>
<sect1> 0.85.3<p>
<itemize>
<item> Fix the "-dedicated" option (thanks Oz) and add platform specific networking code (default) cwrather than SDLnet
<item> Much needed OSX framework stuff from Kristian
<item> Add a persistent history feature (thanks Baker)
<item> Add a slider for scr_sbaralpha, which now defaults to 0.95 (slightly transparent, allowing for nicer sbar)
<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
<item> Small fix to Sound Block/Unblock on win32
<item> Lots of code fixes (some from uhexen2)
<item> Shift+Escape opens console
<item> Sys_Error calls Host_Shutdown
</itemize>
<sect1> 0.85.2<p>
<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
<item> sv_main.c (localmodels) Bumped array size from 5 to 6 in order for it to operate correctly with the raised limits of fitzquake-0.85
<item> Accept commandline options like "+connect ip:port"
<item> Add OSX Makefile (tested?)
</itemize>
<sect1> 0.85.1<p>
<itemize>
<item>64 bit CPU support
<item>Restructured SDL sound driver
<item>Custom conback
<item>Tweaked the command line completion , and added a map/changelevel autocompletion function
<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
<item>Changes to cvar persistence gl_flashblend(default 0), r_shadow, r_wateralpha, r_dynamic, r_novis
</itemize>
<sect> Downloads <p>
<url url="http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3.tgz/download" name="Source">
<newline>
<url url="http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3_linux.tgz/download" name="Linux binary">
<newline>
<url url="http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3_windows.zip/download" name="Windows">
<newline>
<sect> Compiling <p>
Just extract the source tarball, then
<code>
cd quakespasm-0.85.3
make
cp quakespasm /usr/local/games/quake (for eg)
</code>
<em>Use <bf>make DEBUG=1</bf> for debugging.</em>
<newline>
<newline>
<em>Optionally, HOME directory support can be enabled via the <bf>Misc/homedir_0.patch</bf> diff.</em>
<newline>
<newline>
If for any reason this doesn't work, the project can also be built with Codeblocks.
This is a large, free, integrated development environment that requires wxWidgets and cmake to install.
The process is not for the faint hearted.
<sect> Todo <p>
<itemize>
<item>Ogg/Mp3 music file support
<item>Tested HOME directory support
<item>Fix Centerview (V_StartPitchDrift)
<item>Fix compiler warnings
<item>Tie down the "-window/-fullscreen" options / behaviour ?
</itemize>
<sect> Links <p>
<url url="http://quakespasm.sourceforge.net" name="QuakeSpasm Homepage">
<newline>
<url url="http://sourceforge.net/projects/quakespasm" name="QuakeSpasm Project page">
<newline>
<url url="http://www.celephais.net/fitzquake" name="FitzQuake Homepage">
<newline>
<url url="http://www.kristianduske.com/fitzquake" name="Sleepwalkr's Original SDL Port">
<newline>
<url name="Baker's 0.85 Source Code" url="http://quakeone.com/proquake/src_other/fitzquake_sdl_20090510_src_beta_1.zip">
<newline>
<url url="http://www.celephais.net/board/view_thread.php?id=60172" name="Func SDL Fitzquake forum">
<newline>
<url url="mailto:gmail - dot - com - username - sezeroz" name="Ozkan's email">
<newline>
<url url="mailto:yahoo - dot - com - username - stevenaaus" name="Stevenaaus email">
<newline>
<url url="mailto:gmail - dot - com - username - inveigle" name="Kristian's email">
</article>

208
README.txt Normal file
View file

@ -0,0 +1,208 @@
QuakeSpasm
____________________________________________________________
Table of Contents
1. About
2. Changes
2.1 0.85.3
2.2 0.85.2
2.3 0.85.1
3. Downloads
4. Compiling
5. Todo
6. Links
______________________________________________________________________
QuakeSpasm 0.85.3 (unreleased) (18 September 2010)
1. About
QuakeSpasm is a Quake 1 engine based on the SDL port of FitzQuake. It
includes 64bit CPU cupport, a new sound driver, and a few graphical
niceities. The main feature is it works on virtually all platforms,
and supports large Q1 mods.
QuakeSpasm Homepage <http://quakespasm.sourceforge.net>
To disable some changes, use quakespasm -fitz
For different sound drivers:
SDL_AUDIODRIVER=DRIVER ./quakespasm
Where DRIVER may be alsa, dsp, pulse, esd ...
Shift+Escape now draws the Console.
2. Changes
2.1. 0.85.3
o Fix the "-dedicated" option (thanks Oz) and add platform specific
networking code (default) cwrather than SDLnet
o Much needed OSX framework stuff from Kristian
o Add a persistent history feature (thanks Baker)
o Add a slider for scr_sbaralpha, which now defaults to 0.95
(slightly transparent, allowing for nicer sbar)
o Sockaddr fix for FreeBSD/OSX/etc networking
o Connect status bar size to the scale slider
o Include an ISNAN (is not-a-number) fix to catch the occassional
quake C bug giving traceline problems
o Enumerate options menus
o Small fix to Sound Block/Unblock on win32
o Lots of code fixes (some from uhexen2)
o Shift+Escape opens console
o Sys_Error calls Host_Shutdown
2.2. 0.85.2
o Replace the old "Screen size" slider with a "Scale" slider
o Don't constantly open and close condebug log
o Heap of C clean-ups
o Fix mapname sorting
o Alias the "mods" command to "games"
o Block/Unblock sound upon focus loss/gain
o NAT fix (networking protocol fix)
o SDLNet_ResolveHost bug-fix allowing connection to ports other than
26000
o sv_main.c (localmodels) Bumped array size from 5 to 6 in order for
it to operate correctly with the raised limits of fitzquake-0.85
o Accept commandline options like "+connect ip:port"
o Add OSX Makefile (tested?)
2.3. 0.85.1
o 64 bit CPU support
o Restructured SDL sound driver
o Custom conback
o Tweaked the command line completion , and added a map/changelevel
autocompletion function
o Alt+Enter toggles fullscreen
o Disable Draw_BeginDisc which causes core dumps when called
excessively
o Show helpful info on start-up
o Include real map name (sv.name) and skill in the status bar
o Remove confirm quit dialog
o Don't spam the console with PackFile seek requests
o Default to window mode
o Withdraw console when playing demos
o Don't play demos on program init
o Default Heapsize is 64meg
o Changes to default console alpha, speed
o Changes to cvar persistence gl_flashblend(default 0), r_shadow,
r_wateralpha, r_dynamic, r_novis
3. Downloads
Source
<http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3.tgz/download>
Linux binary
<http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3_linux.tgz/download>
Windows
<http://prdownloads.sourceforge.net/quakespasm/quakespasm-0.85.3_windows.zip/download>
4. Compiling
Just extract the source tarball, then
______________________________________________________________________
cd quakespasm-0.85.3
make
cp quakespasm /usr/local/games/quake (for eg)
______________________________________________________________________
Use make DEBUG=1 for debugging.
Optionally, HOME directory support can be enabled via the Misc/home-
dir_0.patch diff.
If for any reason this doesn't work, the project can also be built
with Codeblocks. This is a large, free, integrated development envi-
ronment that requires wxWidgets and cmake to install. The process is
not for the faint hearted.
5. Todo
o Ogg/Mp3 music file support
o Tested HOME directory support
o Fix Centerview (V_StartPitchDrift)
o Fix compiler warnings
o Tie down the "-window/-fullscreen" options / behaviour ?
6. Links
QuakeSpasm Homepage <http://quakespasm.sourceforge.net>
QuakeSpasm Project page <http://sourceforge.net/projects/quakespasm>
FitzQuake Homepage <http://www.celephais.net/fitzquake>
Sleepwalkr's Original SDL Port
<http://www.kristianduske.com/fitzquake>
Baker's 0.85 Source Code
<http://quakeone.com/proquake/src_other/fitzquake_sdl_20090510_src_beta_1.zip>
Func SDL Fitzquake forum
<http://www.celephais.net/board/view_thread.php?id=60172>
Ozkan's email <mailto:gmail - dot - com - username - sezeroz>
Stevenaaus email <mailto:yahoo - dot - com - username - stevenaaus>
Kristian's email <mailto:gmail - dot - com - username - inveigle>