- Batch particle drawing, x/max_parts per frame fix particle effects, framerate dependant. Greater framerate creates
  over draw, low framerate stutters drawing. DPsmoke uneffected?
  
-t printscreen no longer copies to the clipboard win7 only?? :(

[T] fix no24bitWad ?


static variables MUST be reset at map load

if external textures_models is 1 then weapon textures are STILL used EVEN if external_textures_models is set to 0 then map reloads...fix


_____________________________________^^ this must be fixed first

branch a dxQrack version, remove features that break DX ie, varrays.

move r_outline code into it's own function away from drawaliasframe
suppress message text when recording demos.

option to free all textures.

no celshading underwater only if drawing underwater caustics

http://forums.inside3d.com/viewtopic.php?t=2450

host.c
	if ( setjmp ( host_enddemo ) )
		return;			// demo finished.

Baker's :#ifdef FITZQUAKE_PROTOCOL support in ENGINEx

- add fix by tonik for duplicate texture names

- add -condebug numbering like in proQuake.

- create cvars for conback_image ?

- instead of a QRACK logo image, write the name using the current charset or LMP image!	
  so that even with no 24bit will display the name.

shadow mapping

mouse menus

Someday, get rid of all #ifdef GLQUAKE and kill software redering once and for good.

===========================================================================================	
** Changes since 1.90 **

Added:	cl_nomessageprint 0/1 : suppress message text when recording demos.



Added:	r_outline for .md3 models.
Added:  writealiases {filename}.cfg : writes all alias commands to filename.cfg.
	The ".cfg" extension is forced.

Added:	cl_autofocus {0|1} returns back to Qrack when a match starts, if the
	user ALT-TABs out.

Added:	show_healthbar {0|1}, displays a graphical bar on screan of local
	client's health
	show_healthbar_x {#}, horizontal position of healthbar. Default 0 is the
	center of the screen, negative moves left, positive moves right.
	show_healthbar_y {#}, vertical position of the healthbar. Default is 0
	center. Positive moves down, negative moves up.

Added: 	show_armorbar {0|1}, displays graphical bar of local client's
	armorvalue. Color is indeicated by type of armor. (R,Y,G)
	show_armorbar_x {#}, horizontal position	
	show_armorbar_y {#}, vertical position
	
Added:	show_ammobar {0|1}, displays a graphical bar of the ammount of ammo of
	local client's weapon in hand.
	show_ammobar_x {#}, horizontal position.
	show_ammobar_y {#}, vertical position.
	
Fixed:	Bug when using ctrl and pageup keys. If you held down the pageup key it
	would keep scrolling back past the beginning of the console buffer.

Fixed:	Sometimes keys didn't repeat in the console.

Fixed:	Tweaked the position of the muzzleflash particle, works now with
	cl_gun_offset and v_viewheight.

Added:	gl_part_muzzleflash {0|1} toggles the particle for muzzleflash when
	shooting. (4 years later)

Added: 	Support for mods that require 64k globals, via code from Spike of FTE.
	
Added: 	MEM command to show amount of HEAP memory used.

Added: 	EndFrameQC support.

Added: 	SV_PlayerPhysicsQC support, to override engine player physics for
	QuakeC.

Added: 	changed r_lightmode command to gl_overbright.

Changed: MSG_Write*s and MSG_Read*s to mimic ProQuake server functions for
	compatibility. cls.protocol will manage this in future.

Fixed:	Bug with Quoth's pulsecannon, using invalid particletype.

Added: 	Inability to (accidentally) load multiple versions of Qrack to save
	resources..
	Can be overridden with "-multipleinstance" command line parameter.

Changed: MAX_ENT_LEAFS to 256 from 16

Added:  host_maxfps (default 75), forces server timings to Quake standard for
	single-player game physics.

Changed: Typing changelevel with no mapname will pick a random map for you. Nice
	for playing wih FrikBots.

Added: 	gl_decal_count cvar sets maximum number of decals to be drawn at one
	time.

Fixed:	remove oldest decal from list if max decal limit hit, always drawing new
	decals.

Fixed: 	replaced calls to glBindTexture, with GL_Bind, which applies
	gl_anisotropic to all textures passed through this function.
	hopefully this will eliminate the glittery effect of decals.
	
Added: 	random decal sizes when created.

Added: 	decal alpha channel support.

Fixed:	if cl_web_download fails because of file not found Qrack should not
crash.

Fixed: 	reconnect command works now, just type reconnect if you get
	disconnected.

fixed: 	old bug with pq_teamscores when a team had a negative score!

added: 	gl_powerupshell_size, to control the size of a model's polygon shell
	effect.
	(default 0), range: 0 to 10.

fixed:	bug with m_filter.

fixed:	if sv_defaultmap is null ("") then Qrack will return with error :
	Couldn't load map: 'mymap.bsp'. if map not found.

modified: gl_fogenable is set in worldspawn for maps that wish to autoload fog
	settings,
	using gl_fogenable 2 forces current fog settings to carry over if the
	next map doesnt
	have a fog key in worldspawn. This basically forces fog ON all the time.

added: 	scr_bloodsplat 0 | 1
	shows bloodsplats on player's screens when being hurt.

Fixed: 	gl_rain is now alot faster.

Fixed: 	R_Celshading 1 & 2 with cl_teamskins 1.

Fixed: 	Decals are not added to animated textures.

Added: 	When recording a demo, show_rec will display "[*REC]" on screen.
		usage:
		show_rec 0|1 to toggle
		show_rec_x	horizontal positioning
		show_rec_y	vertical positioning
			
Added: 	Enhanced BuiltIn Function System (EBFS) by Maddes

Added:	FrikFile Support

Added: 	cl_levelshots 0 |1
	Displays an image between level loads and fades out of view with the
name of the map centerprinted.
	(custom levelshot images should be placed in "/textures/levelshots" )

Added: 	scr_centerprint_levelname 0|1
	Displays a centerprint of the map's worldspawn key "message" at map
start.
	
Fixed: 	if a server model is not found, or can't be downloaded use null.mdl
	instead.

Fixed: 	Fullbright skins on 8 bit player models only illuminate the original
	fullbright colors (>224)
	This allows gl_fb_models 1 to correctly work for player models without
	making the entire skin fullbright!
	Originally in Quake the player skin had a fullbright little RED dot on
	the gun, which was broken in glQuake.
	
Added: 	CL_TEAMSKIN support for md3 models! :D

fIXED: 	if transparent then no entity shadow!!

Added: 	cl_viewbob 0|1 default 0, bobs the pov as a player walks.
	This allows the gun to sway with cl_bob* commands but keeping the pov
	steady.

Fixed: 	coronas are not visable through doors/platforms :D

Fixed 	chase_active so the view never pokes into the wall!

added 	MOVETYPE_FOLLOW for Nehahra support (oops! was missing!)

added 	LordHavoc's implementation of rotation on MOVETYPE_FOLLOW objects.

added 	gl_free_world_textures cvar to clear out loaded texture before each map
	load...
	+ saves texture memory
	+ reloads color pallete (and/or bpp)
	+ resets the mipmap level
	
Fixed:	Better support for widescreen aspect in SCR_CalcRefdef.

Added: 	Rotating BMODELS from DarkPlaces.

Added:	preliminary support for HalfLife 1 maps with 24bit texture support

---
Code:
E:\doit\enginex_461\WinQuake\cl_input.c(458):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_main.c(768):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_main.c(793):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(88):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(153):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(168):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(201):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(216):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(223):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(356):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(394):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(433):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(472):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(599):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(625)://#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(641):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(650):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(678):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(789):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(817):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(839):#if defined(FITZQUAKE_PROTOCOL)  && defined(SUPPORTS_ENTITY_ALPHA)      //HACK: if this bit is set, assume this is PROTOCOL_NEHAHRA
E:\doit\enginex_461\WinQuake\cl_parse.c(882):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(904):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(911):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(933):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(947):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(954):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1045):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1098):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1168):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1183):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1191):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1198):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1212):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1224):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1542):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1587):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1604):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1614):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1741):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1749):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1779):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1816):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1889):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\cl_parse.c(1906):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\client.h(97):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\client.h(122):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\client.h(282):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\client.h(357):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.c(318):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.c(341):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.c(351):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.c(358):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.c(509):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.c(531):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.c(550):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.h(125):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\common.h(144):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(38):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(964):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1052):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1073):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1082):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1129):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1150):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1181):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1197):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1276):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1307):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1361):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.c(1370):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.h(185):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.h(192):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.h(205):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.h(361):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.h(384):#ifdef XFITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_model.h(423):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_refrag.c(162):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_refrag.c(220):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\gl_rsurf.c(29):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\net.h(36):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_cmds.c(509):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_cmds.c(529):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_cmds.c(541):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_cmds.c(1610):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_cmds.c(1616):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_cmds.c(1652):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_cmds.c(1659):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_cmds.c(1675):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_edict.c(24):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_edict.c(184):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_edict.c(554):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_edict.c(895):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_edict.c(1088):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\pr_edict.c(1098):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\progs.h(44):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\protocol.h(43):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\protocol.h(77):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\protocol.h(104):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\protocol.h(201):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\quakedef.h(118):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\quakedef.h(135):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\quakedef.h(260):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\render.h(36):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\render.h(97):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\render.h(157):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\server.h(68):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\server.h(75):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(39):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(48):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(122):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(210):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(223):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(246):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(257):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(287):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(303):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(318):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(329):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(559):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(596):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(858):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(940):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1007):#ifdef  FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1044):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1160):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1183):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1232):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1270):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1500):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1522):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1530):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1535):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1559):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1569):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1580):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1595):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1714):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_main.c(1826):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_phys.c(124):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_phys.c(138):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_phys.c(148):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_user.c(432):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_world.c(51):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_world.c(462):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\sv_world.c(535):#ifdef FITZQUAKE_PROTOCOL
E:\doit\enginex_461\WinQuake\version.h(79):#define FITZQUAKE_PROTOCOL