From 96d68f5b7fa3019a9708c097448d88aa9359da16 Mon Sep 17 00:00:00 2001
From: stevenaaus
Date: Sat, 14 Aug 2010 05:01:12 +0000
Subject: [PATCH] Miscellaneous doco updates
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@269 af15c1b1-3010-417e-b628-4374ebc0bcbd
---
quakespasm/Misc/homedir_0.patch | 104 ++++++++++++++++
quakespasm/Quake/net_sys.h | 4 +-
quakespasm/README.html | 176 +++++++++++++++++++++++++++
quakespasm/README.sgml | 137 +++++++++++++++++++++
quakespasm/README.txt | 208 ++++++++++++++++++++++++++++++++
5 files changed, 628 insertions(+), 1 deletion(-)
create mode 100644 quakespasm/Misc/homedir_0.patch
create mode 100644 quakespasm/README.html
create mode 100644 quakespasm/README.sgml
create mode 100644 quakespasm/README.txt
diff --git a/quakespasm/Misc/homedir_0.patch b/quakespasm/Misc/homedir_0.patch
new file mode 100644
index 00000000..ae6fb466
--- /dev/null
+++ b/quakespasm/Misc/homedir_0.patch
@@ -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)
+ {
diff --git a/quakespasm/Quake/net_sys.h b/quakespasm/Quake/net_sys.h
index 436b12a7..58efc84c 100644
--- a/quakespasm/Quake/net_sys.h
+++ b/quakespasm/Quake/net_sys.h
@@ -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 */
diff --git a/quakespasm/README.html b/quakespasm/README.html
new file mode 100644
index 00000000..e25815bd
--- /dev/null
+++ b/quakespasm/README.html
@@ -0,0 +1,176 @@
+
+
+
+
+ QuakeSpasm
+
+
+QuakeSpasm
+
+
+
+
+
+QuakeSpasm 0.85.3 (unreleased) (18 September 2010)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+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
+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.
+
+
+
+
+
+
+
+
+
+- Fix the "-dedicated" option (thanks Oz) and add platform specific networking code (default) cwrather than SDLnet
+- Much needed OSX framework stuff from Kristian
+- Add a persistent history feature (thanks Baker)
+- Add a slider for scr_sbaralpha, which now defaults to 0.95 (slightly transparent, allowing for nicer sbar)
+- Sockaddr fix for FreeBSD/OSX/etc networking
+- Connect status bar size to the scale slider
+- Include an ISNAN (is not-a-number) fix to catch the occassional quake C bug giving traceline problems
+- Enumerate options menus
+- Small fix to Sound Block/Unblock on win32
+- Lots of code fixes (some from uhexen2)
+- Shift+Escape opens console
+- Sys_Error calls Host_Shutdown
+
+
+
+
+
+
+
+
+- Replace the old "Screen size" slider with a "Scale" slider
+- Don't constantly open and close condebug log
+- Heap of C clean-ups
+- Fix mapname sorting
+- Alias the "mods" command to "games"
+- Block/Unblock sound upon focus loss/gain
+- NAT fix (networking protocol fix)
+- SDLNet_ResolveHost bug-fix allowing connection to ports other than 26000
+- 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
+- Accept commandline options like "+connect ip:port"
+- Add OSX Makefile (tested?)
+
+
+
+
+
+
+
+- 64 bit CPU support
+- Restructured SDL sound driver
+- Custom conback
+- Tweaked the command line completion , and added a map/changelevel autocompletion function
+- Alt+Enter toggles fullscreen
+- Disable Draw_BeginDisc which causes core dumps when called excessively
+- Show helpful info on start-up
+- Include real map name (sv.name) and skill in the status bar
+- Remove confirm quit dialog
+- Don't spam the console with PackFile seek requests
+- Default to window mode
+- Withdraw console when playing demos
+- Don't play demos on program init
+- Default Heapsize is 64meg
+- Changes to default console alpha, speed
+- Changes to cvar persistence gl_flashblend(default 0), r_shadow, r_wateralpha, r_dynamic, r_novis
+
+
+
+
+
+
+
+
+Source
+Linux binary
+Windows
+
+
+
+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/homedir_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 environment that requires wxWidgets and cmake to install.
+The process is not for the faint hearted.
+
+
+
+
+
+- Ogg/Mp3 music file support
+- Tested HOME directory support
+- Fix Centerview (V_StartPitchDrift)
+- Fix compiler warnings
+- Tie down the "-window/-fullscreen" options / behaviour ?
+
+
+
+
+
+
+
+QuakeSpasm Homepage
+QuakeSpasm Project page
+FitzQuake Homepage
+Sleepwalkr's Original SDL Port
+Baker's 0.85 Source Code
+Func SDL Fitzquake forum
+Ozkan's email
+Stevenaaus email
+Kristian's email
+
+
+
diff --git a/quakespasm/README.sgml b/quakespasm/README.sgml
new file mode 100644
index 00000000..99a9926f
--- /dev/null
+++ b/quakespasm/README.sgml
@@ -0,0 +1,137 @@
+
+
+QuakeSpasm
+
+
+
+QuakeSpasm 0.85.3 (unreleased) (18 September 2010)
+
+ 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.
+
+
+
+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.
+
+
+ Changes
+ 0.85.3
+
+- Fix the "-dedicated" option (thanks Oz) and add platform specific networking code (default) cwrather than SDLnet
+
- Much needed OSX framework stuff from Kristian
+
- Add a persistent history feature (thanks Baker)
+
- Add a slider for scr_sbaralpha, which now defaults to 0.95 (slightly transparent, allowing for nicer sbar)
+
- Sockaddr fix for FreeBSD/OSX/etc networking
+
- Connect status bar size to the scale slider
+
- Include an ISNAN (is not-a-number) fix to catch the occassional quake C bug giving traceline problems
+
- Enumerate options menus
+
- Small fix to Sound Block/Unblock on win32
+
- Lots of code fixes (some from uhexen2)
+
- Shift+Escape opens console
+
- Sys_Error calls Host_Shutdown
+
+
+
+ 0.85.2
+
+- Replace the old "Screen size" slider with a "Scale" slider
+
- Don't constantly open and close condebug log
+
- Heap of C clean-ups
+
- Fix mapname sorting
+
- Alias the "mods" command to "games"
+
- Block/Unblock sound upon focus loss/gain
+
- NAT fix (networking protocol fix)
+
- SDLNet_ResolveHost bug-fix allowing connection to ports other than 26000
+
- 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
+
- Accept commandline options like "+connect ip:port"
+
- Add OSX Makefile (tested?)
+
+
+ 0.85.1
+
+- 64 bit CPU support
+
- Restructured SDL sound driver
+
- Custom conback
+
- Tweaked the command line completion , and added a map/changelevel autocompletion function
+
- Alt+Enter toggles fullscreen
+
- Disable Draw_BeginDisc which causes core dumps when called excessively
+
- Show helpful info on start-up
+
- Include real map name (sv.name) and skill in the status bar
+
- Remove confirm quit dialog
+
- Don't spam the console with PackFile seek requests
+
- Default to window mode
+
- Withdraw console when playing demos
+
- Don't play demos on program init
+
- Default Heapsize is 64meg
+
- Changes to default console alpha, speed
+
- Changes to cvar persistence gl_flashblend(default 0), r_shadow, r_wateralpha, r_dynamic, r_novis
+
+
+
+ Downloads
+
+
+
+
+
+
+
+
+ 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/homedir_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 environment that requires wxWidgets and cmake to install.
+The process is not for the faint hearted.
+
+ Todo
+
+- Ogg/Mp3 music file support
+
- Tested HOME directory support
+
- Fix Centerview (V_StartPitchDrift)
+
- Fix compiler warnings
+
- Tie down the "-window/-fullscreen" options / behaviour ?
+
+
+ Links
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/quakespasm/README.txt b/quakespasm/README.txt
new file mode 100644
index 00000000..bf2436a2
--- /dev/null
+++ b/quakespasm/README.txt
@@ -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
+
+ 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
+
+ Linux binary
+
+ Windows
+
+
+
+ 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
+ QuakeSpasm Project page
+ FitzQuake Homepage
+ Sleepwalkr's Original SDL Port
+
+ Baker's 0.85 Source Code
+
+ Func SDL Fitzquake forum
+
+ Ozkan's email
+ Stevenaaus email
+ Kristian's email
+
+