qbism game project
------------------
release 01 10-30

This is a development snapshot of the qbism engine/mod/game package.  It is a work-in-progress based on the Quake source code, but it is independent and does not require Quake to be installed.  qbism should run on any Win32 platform, Windows 95 and up.  I've tried to make coding decisions that will help future porting to other platforms.

Usage:
This package may be freely downloaded and redistributed in its original form.  We got permission to redistribute from anyone we could find who's files weren't identified GPL. In the same way, you should get permission from these folks if you want to distribute a modification of this package.  All the source code, including changes from ID Software's original code, is GPL.  That means you may use the code in your own project, and you MUST release any changes you make.  Read qbismsrc/doc/gnu.txt.  All the OpenQuartz content is GPL.  See HFX and Relic25 web sites for use conditions of their textures, and you may use my textures with permission. (In future I will index textures so you can see what is what.)

Installation:
Unzip to C:\TiMeFRaG. (Why the name "timefrag"?  We're thinking of time-based effects and weapons although none of this is in the release yet.  Using a time machine, a player will be able to take himself and his loot back to better days. All players EXCEPT the time traveller revert to previous location, armor, health.  If someone happened to be standing where the time traveller is, they get timefragged.  There's more, but I digress...)

Directory contents:
c:\TiMeFRaG

  |--config WorldCraft:  Configuration files for WC 3.3

     |--qbism:  The default mod directory.  Like Quake, you can make add your own mod directory. 

        |--gfx:  Misc. graphics.
           |--env:  Environment or sky maps.

        |--maps:  Game maps.

        |--progs:  Entity models.
           |--Blade:  The prototype multi-part player model.
           
        |--qc_src:  Quake C source code.

        |--skins:  Player and entity skins.

        |--sounds:  Sound effects.

        |--sprites:  Transparent sprites.

        |--textures:  Map textures.

     |--qbismsrc:  qbism source code.
 
       |--doc:  GPL documents.
          |--origdoc:  Original readme's from ID source.

       |--gas2masm:  Convert gas format assembly to masm.
 
       |--LCC:  Compiled object files.

       |--lib:  Compiled libraries.

       |--libsrc:  Library sources.
          |--textures:  jpeg library for LCC-Win32 (a project in itself...).

       |--wads:  wad3 format wads for use by WorldCraft and other map tools.


Example maps that demostrate various features.  qbdm1 is the most complete of these maps, suitable for multiplayer or single player and bots.  Start up qbism and type "map <mapname>" at the console, just like Quake:
	esclator
	p3
	qbctf4
	qbdm1
	rotate
	sa02
	water


Engine feature highlights:
Multi-part models- independent models and animation for head, torso, legs, and weapon.  Alpha, and eventually other effects, may be set independently for each part.  Uses any mix of MDL(Quake)models with a common palette and MD2 (Quake2) models with individual 8-bit palette textures or 24 bit textures.

Uses BSP version 30 (HalfLife) format-  Colored radiosity lightmaps, proper physics, entities, brushes, the whole bit.  A config file is included for mapping with WorldCraft 3.3.  Maps are compatible with Zoner's HalfLife compiling tools.

"Conservative" client-side prediction-  It smooths animation and motion of entities.  It extrapolates location and rotation up to 500ms into future. It does not predict interactions other than collision, in which case extrapolation is simply halted for the entities involved.

Reads jpeg, tga, and pcx format textures for maps and MD2 models.

Compiles on an efficient and stable C compiler and IDE package, LCC-Win32... and it happens to be free.

Code credits:
From the Quake Info Pool: <http://www.inside3d.com/qip/home.shtml> 
	Bug fixes [Maddes, Lord Havoc, FrikaC, Frog]
	Console fixes/enhancements [Maddes, Fett, Radix]
	QCexec [FrikaC, Maddes] ChaseCam fix [FrikaC]
	Compatibility w/ original Quake check [Maddes] R_WATERWARP fix [Radix]
	Transparent console [Radix] Fullbright fix [Neal White III]
 
From Quake Engine Resources (QER): <http://www.planetquake.com/qer/news.html>
	Model animation and translation interpolation [fenix]
	Smoke particles [based on Topaz source; simplified to work w/ multiplayer server] 

From QuakeForge: <http://quake.sourceforge.net/>
	Frames-per-second meter [QuakeForge] R_WATERRIPPLE 	[QuakeForge] 

From ProQuake: <http://elohim.ai.mit.edu/proquake/> 
	ProQuake compatible (Except uses FrikaC's chasecam fix instead of JPG's) [JP Grossman] 

From Muff's Quake Site: (gone)
	Glow effects [muff, Keith Harrison] 
	Improved shadows 
	HUD scoreboard 
	Shadows follow sloped ground 
	32-bit font bitmaps ala QER 
	Quake 2 model tutorial ala DarkPlaces 

From the Quake Standards Group (QSG): <qsg.telefragged.com> 
	Colored lighting 
	Tab command completion 
	Crosshair 2 
	Improved fog 

From 3D Programming Central: <http://www.quakemods.net/3dpc/> 
	Menu slider 
	Reflective surfaces 

From LordHavoc's DarkPlaces: <http://www.inside3d.com/darkplaces/> 
	Texture loading memory leak fix 
	Linear texture filtering and other openGL updates 
	32-bit texture loading 
	Quake 2 model support
 
From  mrGLQuake <http://mrg.telefragged.com/mrglquake/>:
	HalfLife map support.  Based on LordHavoc code.
	Rotating brushes.

From qbism itself: 
	The lcc port per se. 
	Network packet size meter -shows the curent size of data from the server
	  as a bargraph, plus an average of the previous 100 packets.
	  Type DRAWNETDATA 1 at the console. 
	Shut down warping underwater polys in lieu of water surface ripple. 
	Adapted smoke particle code for generic server compatibility 
	Added inventory, etc. to the HUD 
	Client-side prediction (in progress) 
	OpenGL fisheye (sort of) 
	Multi-part models
	jpeg texture reading, using a library from the Independent JPEG Group
	cvar help string

Textures:
Looking at the wad files, qbism.wad contains textures from Evil Lair's HFX, the long gone freetextures.com, and the qbism team.  The qbism textures are  mostly based on Golgotha scans with some editing (Golgotha is an abandoned game project with textures released to the public).  While surfing for textures I found Relic25, a site with realistic techno textures also based on Golgotha.  Most of the other wads are directly from Relic25.

Bugs:
	Transparent entities make "holes" in brushes (example: explosion cloud in front of door). 
	Console fonts render rough. 
	Rotating brushes vanish and re-appear.
	I'm sure there's more...

Coders, grep for these keywords to see comments on specific features:
MPMODEL- multi-part model
CSE- client-side extrapolation (prediction)
CSL- colored static lighting
GFE- opengl (simulated) fisheye lens effect
MD2- md2 model format support
