Tree [b36969] master /
 History

HTTPS access


File Date Author Commit
 contrib 2009-06-28 jon13 jon13 [c153ef] Add a gawk script from 'matt' which will period...
 html 2010-10-24 Jon Trulson Jon Trulson [236185] Move client processing of server packets (proc)...
 icon 2010-04-12 Jon Trulson Jon Trulson [18c598] Remove makeiconobj script - makefile does that now
 img 2017-05-27 Jon Trulson Jon Trulson [0a3e92] img: delete unused save dir
 meta-cgi 2010-03-04 Jon Trulson Jon Trulson [458a70] Remove Unixware specific privilege support.
 music 2006-11-27 jon jon [a9e4c2] merge (654:687) of the Sound branch ( conquest-...
 sound 2007-06-04 jon jon [e4993e] - 8.2b devel release
 windlls 2010-04-13 Jon Trulson Jon Trulson [126ebf] Bump version date, add libz support + dll for m...
 .gitignore 2016-06-20 Jon Trulson Jon Trulson [3c3220] autoconf: remove the generated autoconf files.
 00_plantex.trc 2008-05-04 jon13 jon13 [d95040] - add support for mipmapping of textures. Te...
 CONQINIT.TXT 2011-12-23 Jon Trulson Jon Trulson [3e7392] Some correcto's.
 COPYRIGHT 1999-02-06 jon jon [c7caad] Ok... the 7.0 release canidate... hehehe
 CREDITS 2009-08-28 jon13 jon13 [2ec22e] - new orion destroyer texture, see CREDITS fo...
 GL.c 2017-05-29 Jon Trulson Jon Trulson [b36969] GL: get rid of crosshair cursor, use window def...
 GL.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 HISTORY 2010-04-22 Jon Trulson Jon Trulson [a0e778] add a call to WSAStartup() to conquestgl so soc...
 INSTALL 2017-05-29 Jon Trulson Jon Trulson [3848e7] update INSTALL to describe running ./autogen to...
 LICENSE 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 MAKEFONT 2004-09-04 jon jon [138d72] - when in the cockpit, various screens ...
 MINGW_BUILD.sh 2011-06-13 Jon Trulson Jon Trulson [d6fb1a] New command to build windows binaries for new m...
 Makefile.am 2017-05-28 Jon Trulson Jon Trulson [c8bfb0] conqunix: new conqunix.h header file, remove fo...
 NODES 2006-08-26 jon jon [fcf95d] - convert remaining glutGet(GLUT_ELAPSED...
 README 2017-05-29 Jon Trulson Jon Trulson [3848e7] update INSTALL to describe running ./autogen to...
 README.Windows 2010-04-21 Jon Trulson Jon Trulson [970b9b] Some doc cleanup
 README.cygwin 2006-08-10 jon jon [0a8a2f] - 8.2 pre-release, barring significant i...
 SERVER.TXT 2010-01-06 jon13 jon13 [e16c0a] - remove 'telnet' support. None of these ser...
 TODO 2014-02-02 Jon Trulson Jon Trulson [0bee4c] TODO: think about using syslog for logging.
 TexFont.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 acinclude.m4 2010-03-16 Jon Trulson Jon Trulson [68c49c] Remove Mark Martinec's portable snprintf.c impl...
 anim.c 2017-05-28 Jon Trulson Jon Trulson [db08cc] rndlb: new rndlb.h header file, remove forward ...
 anim.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 autogen.sh 2016-06-20 Jon Trulson Jon Trulson [3c3220] autoconf: remove the generated autoconf files.
 blinker.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 blinker.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 c_defs.h 2017-05-29 Jon Trulson Jon Trulson [7ea2bf] c_defs.h: rename MAXLINE to BUFFER_SIZE_128 to ...
 cbglobal.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 cd2lb.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 cd2lb.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 client.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 client.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 clientlb.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 clientlb.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 clntauth.c 2017-05-28 Jon Trulson Jon Trulson [db6fb1] rename MID_BUFFER_SIZE to BUFFER_SIZE_1024 and ...
 clntauth.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 color.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 color.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 colorCU.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 colorGL.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 conf.c 2017-05-29 Jon Trulson Jon Trulson [3949a9] fix up some warnings reported by the clang C co...
 conf.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 config.h.in 2016-06-20 Jon Trulson Jon Trulson [3c3220] autoconf: remove the generated autoconf files.
 configure.ac 2016-06-17 Jon Trulson Jon Trulson [56d87c] autoconf: updated
 conqai.c 2017-05-29 Jon Trulson Jon Trulson [7ea2bf] c_defs.h: rename MAXLINE to BUFFER_SIZE_128 to ...
 conqai.h 2017-05-28 Jon Trulson Jon Trulson [f664ae] conqai: new conqai.h header file, remove forwar...
 conqai.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conqai_main.c 2017-05-28 Jon Trulson Jon Trulson [c8bfb0] conqunix: new conqunix.h header file, remove fo...
 conqcm.c 2017-05-28 Jon Trulson Jon Trulson [db6fb1] rename MID_BUFFER_SIZE to BUFFER_SIZE_1024 and ...
 conqcom.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 conqdata.h 2008-07-23 jon13 jon13 [812712] - okay, another huge code cleanup, function/v...
 conqdef.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 conqdriv.c 2017-05-28 Jon Trulson Jon Trulson [c8bfb0] conqunix: new conqunix.h header file, remove fo...
 conqdriv.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conqinfo.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 conqinit-lex.l 2017-05-29 Jon Trulson Jon Trulson [fa4786] cleanup whitespace and format lex/yacc files
 conqinit-yacc.y 2017-05-29 Jon Trulson Jon Trulson [7ea2bf] c_defs.h: rename MAXLINE to BUFFER_SIZE_128 to ...
 conqinit.c 2017-05-28 Jon Trulson Jon Trulson [db08cc] rndlb: new rndlb.h header file, remove forward ...
 conqinit.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 conqinit.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conqinitrc 2008-04-21 jon13 jon13 [b349bf] - Add texture definitions (and appropriate co...
 conqlb.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 conqlb.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 conqlogo-48x48.png 2010-01-01 jon13 jon13 [f5f4d9] - rework the way geometry changes/scale chang...
 conqmetad.c 2017-05-28 Jon Trulson Jon Trulson [c8bfb0] conqunix: new conqunix.h header file, remove fo...
 conqmetad.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conqnet.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 conqoper.c 2017-05-29 Jon Trulson Jon Trulson [3949a9] fix up some warnings reported by the clang C co...
 conqoper.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conqreplay.c 2017-05-29 Jon Trulson Jon Trulson [9fbd4c] c_defs.h: get rid of appstr, use strcat instead
 conqrule 1997-12-28 jon jon [b3d2d6] added comments
 conqrule.easy 2010-03-02 Jon Trulson Jon Trulson [f9a1a6] some keywork expansions
 conqstrat-lex.l 2017-05-29 Jon Trulson Jon Trulson [fa4786] cleanup whitespace and format lex/yacc files
 conqstrat-yacc.y 2017-05-29 Jon Trulson Jon Trulson [7ea2bf] c_defs.h: rename MAXLINE to BUFFER_SIZE_128 to ...
 conqstrat.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 conqstrat.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conquest.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 conquest.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 conquest.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conquest.txt 2001-01-03 jon jon [508e69] Version 7.1 Mon Jan 1 11:45:20 MST 2001 Jon Tr...
 conquestd.c 2017-05-29 Jon Trulson Jon Trulson [baa4a1] utAppendShip(): swap argument order to be more ...
 conquestd.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conquestgl.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 conquestgl.man 2010-05-07 Jon Trulson Jon Trulson [e9ed20] Man Pages: convert ARTISTIC to Artistic Version 2
 conqunix.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 conqunix.h 2017-05-28 Jon Trulson Jon Trulson [c8bfb0] conqunix: new conqunix.h header file, remove fo...
 conqutil.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 conqutil.h 2017-05-29 Jon Trulson Jon Trulson [d0d5f7] utAppendKilledBy(): swap argument order to be m...
 context.h 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 cprintf.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 cprintf.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 cproc.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 cproc.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 cqkeys.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 cqmouse.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 cqsound.c 2017-05-29 Jon Trulson Jon Trulson [3949a9] fix up some warnings reported by the clang C co...
 cqsound.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 cuclient.c 2017-05-29 Jon Trulson Jon Trulson [baa4a1] utAppendShip(): swap argument order to be more ...
 cuclient.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 cumisc.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 cumisc.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 defs.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 display.c 2017-05-29 Jon Trulson Jon Trulson [baa4a1] utAppendShip(): swap argument order to be more ...
 display.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 disputil.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 doomsday.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 driver.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 gentexfont.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 glcprintf.c 2017-05-28 Jon Trulson Jon Trulson [db6fb1] rename MID_BUFFER_SIZE to BUFFER_SIZE_1024 and ...
 gldisplay.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 gldisplay.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 glfont.c 2017-05-28 Jon Trulson Jon Trulson [db6fb1] rename MID_BUFFER_SIZE to BUFFER_SIZE_1024 and ...
 glfont.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 glmisc.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 glmisc.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 global.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 hex2float.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 history.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 hud.c 2017-05-29 Jon Trulson Jon Trulson [baa4a1] utAppendShip(): swap argument order to be more ...
 hud.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 ibuf.c 2017-05-29 Jon Trulson Jon Trulson [3949a9] fix up some warnings reported by the clang C co...
 ibuf.h 2017-05-27 Jon Trulson Jon Trulson [55d841] datatypes.h: remove and replace with usage of s...
 icon.rc 2010-04-13 Jon Trulson Jon Trulson [d580b7] Use ID 1 for the windows icon resource file
 initdata.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 iolb.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 iolb.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 makemuspkg 2006-11-27 jon jon [110ff2] do not use .src. for the musicpak filename in m...
 makesrcpkg 2017-05-29 Jon Trulson Jon Trulson [853bb6] makesrcpkg: add autogen.sh to the dist
 makewinzippkg 2010-04-12 Jon Trulson Jon Trulson [b51822] Add some icon pngs and a .ico for windows
 meta.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 meta.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 msg.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nAuth.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nAuth.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nCP.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nCP.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nCPHelp.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 nCPHelp.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nConsvr.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 nConsvr.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nDead.c 2017-05-29 Jon Trulson Jon Trulson [baa4a1] utAppendShip(): swap argument order to be more ...
 nDead.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nHistl.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nHistl.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nMenu.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nMenu.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nMeta.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nMeta.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nOptions.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nOptions.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nPlanetl.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nPlanetl.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nPlay.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nPlay.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nPlayB.c 2017-05-29 Jon Trulson Jon Trulson [340af5] utAppendShipStatus(): swap argument order to be...
 nPlayB.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nPlayBHelp.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 nPlayBHelp.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nPlayBMenu.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nPlayBMenu.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nShipl.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nShipl.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nTeaml.c 2017-05-29 Jon Trulson Jon Trulson [577980] c_defs.h: get rid of c_strcpy(), use strcpy()
 nTeaml.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nUserl.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 nUserl.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 nWelcome.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 nWelcome.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 node.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 node.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 options.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 options.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 packet.c 2017-05-29 Jon Trulson Jon Trulson [55d882] packet: comment out #warning, until ready to ch...
 packet.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 planet.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 planinit.c 2017-05-28 Jon Trulson Jon Trulson [c8bfb0] conqunix: new conqunix.h header file, remove fo...
 playback.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 playback.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 prm.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 prm.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 proto_0006.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 protocol.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 rb.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 rb.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 record.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 record.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 render.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 render.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 rndlb.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 rndlb.h 2017-05-28 Jon Trulson Jon Trulson [db08cc] rndlb: new rndlb.h header file, remove forward ...
 robot.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 sem.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 sem.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 servauth.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 servauth.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 server.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 server.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 servercmd.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 servercmd.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 serverpkt.c 2017-05-28 Jon Trulson Jon Trulson [db08cc] rndlb: new rndlb.h header file, remove forward ...
 serverpkt.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 ship.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 shiptype.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 showtxf.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 sounddata.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 soundrc 2009-09-09 jon13 jon13 [7d7d8f] - fix a bug in the ico-ship 'hull' lamp
 sproc.c 2017-05-29 Jon Trulson Jon Trulson [8d3029] rename BUFFER_SIZE to BUFFER_SIZE_256 to match ...
 sproc.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 tcpwrap.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 tcpwrap.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 team.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 testmeta.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 texfont.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 textures.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 texturesrc 2009-09-13 jon13 jon13 [f6ce6b] - remove ico-torp, and modify so that a ship'...
 torp.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 udp.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 udp.h 2008-07-23 jon13 jon13 [812712] - okay, another huge code cleanup, function/v...
 ui.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 uimisc.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 user.h 2017-05-28 Jon Trulson Jon Trulson [3e6364] headers: reformat and remove trailing whitespac...
 userauth.c 2017-05-28 Jon Trulson Jon Trulson [b1ef30] C files: reformat and remove trailing whitespac...
 userauth.h 2013-12-29 Jon Trulson Jon Trulson [e77ff9] Remove $Id$ keyword tags, fixup Copyright texts...
 version.c 2017-05-29 Jon Trulson Jon Trulson [ebeca1] version: bump to 8.5.1b

Read Me

         +--------------------------------------------------------+
         |  CCC    OOO   N   N   QQQ   U   U  EEEEE   SSSS  TTTTT |
         | C   C  O   O  NN  N  Q   Q  U   U  E      S        T   |
         | C      O   O  N N N  Q   Q  U   U  EEE     SSS     T   |
         | C   C  O   O  N  NN  Q  Q   U   U  E          S    T   |
         |  CCC    OOO   N   N   QQ Q   UUU   EEEEE  SSSS     T   |
         +--------------------------------------------------------+

  This file contains various information about Conquest, such as a
  description of the files supplied, and various tips and hints on
  configuring and playing the game.

  See INSTALL for instructions on unpacking, compiling, and installing
  conquest, as well as information on requirements and system
  specific issues.

  See README.cygwin for information on building/using conquest on MS
  Windows systems.

  See SERVER.TXT for information on how to setup and run a Conquest
  server.

  See HISTORY for the latest news and modification history.

  See CONQINIT.TXT for information on CQI, and the format of the
  conqinitrc and texturesrc files.

  See conquest.doc for information on available commands, and how to
  play the game.

  NEW USERS: Please read the section '## Hints for new players' below
             for some useful information you should know.  Reading the
             whole document is advised, but this section is probably
             the most important as far as providing some useful
             playing tips.

  In the sections below, commands you issue to conquest will be
  enclosed in parentheses '()'.  The RETURN key is represented as '\r',
  and the TAB key is represented as '\t'.

  CONTENTS:

   ### Conquest Synopsis
   ### A Little Background
   ### General Information
       ## Starting Conquest
       ## Default network ports
       ## Server game flags
       ## Meta Server
       ## ~/.conquest/conquestrc
       ## Recording Games
       ## Replaying Games
       ## Hints for new players
          # Moving around (Navigation)
          # Orbiting a planet
          # Shields
          # Energy Allocation
          # Bombing
          # Repairing
          # Cloaking
          # Carrying armies
          # Detonating enemy torps
          # Using torpedos
          # Using phasers
          # Kill points
          # Robot scanning range
       ## Planets
       ## Suns
       ## Cloaking
       ## Tractor beams
       ## Ship Strength
       ## Refitting
       ## Leaving the game
       ## Teams
       ## Combat
       ## Macro Keys / Mouse Macros
       ## The Robots
          # Conqstrat
          # Combat
          # Creating Robots
       ## The Doomsday Machine
       ## Using conqoper
          # The semaphore status line
          # Leaving a screen on conqoper
   ### The installed files
       ## conquest
       ## conquestgl
       ## conquestd
       ## conqmetad
       ## conquestsh
       ## conqdriv
       ## conqoper
       ## conqai
       ## conquest_common.img
       ## HISTORY
       ## conquest.doc
       ## conquest.log
       ## conquestrc
       ## libconquest.so
       ## libconqclnt.so
       ## libconqserv.so
       ## libUi.so
       ## libUiCU.so
       ## libUiGL.so
       ## img/*
       ## ~/.conquest/conquestrc
   ### Getting more information
   ### Obtaining Conquest
   ### Copyright Information



### Conquest Synopsis

   Here's an extract from the conquest.doc file:

          NAME
               Conquest  -  a multi-player real-time screen-oriented
               space war game

          SYNOPSIS
               conquest

          DESCRIPTION


               1. OBJECT OF THE GAME.

               The object of the game is twofold. The  short-range  goal
               is  to accumulate "kills" by shooting down enemy players.
               You get one kill point for each  enemy  ship  shot  down,
               plus  some  extra  if  the enemy had kills too. The major
               weapon used to shoot down ships is the photon torpedo.

               The long-range goal is to conquer the universe  for  your
               team  by taking every planet. You take planets by killing
               off the enemy's armies via bombardment, and then  beaming
               your  team's  armies down. When all the planets have been
               taken, the game ends, a new game begins, and  the  player
               who  actually  took  the last planet gets his/her name up
               in lights.

               ...


### A Little Background

    A quote from Michael Erskine:

      "We were playing xtrek before there was X...  It was known then
      as Conquest, was written in RATFOR and ran on a VAX...
      Personally, I liked it better...  but who can account for the
      tastes of old C programmers?"


    Conquest was originally written in Ratfor for the VAX/VMS platform
    in 1983 by Jef Poskanzer and Craig Leres.  I wasted incredible
    amounts of time playing this game with my friends in the terminal
    labs at college, and when I actually had a multi-user system
    running at home (Unixware) I decided to try and translate/port the
    code to C in Unix.  While doing the port, I added several new
    features including color and Fkey macro support, as well as many
    other minor 'enhancements'.

    For those who played the original Conquest, you may notice that
    cloaking is more usable, (though not *too* usable), torps have a
    slightly longer range, the keypad can be used for 1-key steering,
    the Conquest driver recovers almost immediately from a crash/kill,
    color and macros are supported, and other small changes.  Where
    possible, I've tried to keep the mechanics and balance of the game
    identical to the original.  More tweakage should be expected
    though, as well as the continuing removal of useless code.

    Starting with Version 8.0, Conquest has been split into a true
    client/server game.  Conquest clients connect to a local or remote
    conquestd server to play.

    Starting with Version 8.0.1a, a GLUT based OpenGL client,
    conquestgl, is provided.


### General Information

## Starting Conquest

   Starting with Conquest 8.0.1a, there are two conquest clients you
   can use to connect to a game:

   conquestgl                 - the new GLUT/OpenGL client
   conquest                   - original curses based client

   You can start a Conquest client with various options.  For example
   type 'conquestgl -?' to see a list of supported options, and what
   they do.

   In the following examples we will use the OpenGL client
   'conquestgl', but you can substitute 'conquest' if you want to use
   the curses client instead.

   To connect to a conquest server running on the local host:

       $ conquestgl

       or

       $ conquestgl -s localhost

   To connect to a conquest server on a remote host:

       $ conquestgl -s conquest.radscan.com

             - connects to a server running on conquest.radscan.com.

       $ conquestgl -s conquest.radscan.com:1702

             - connects to conquest.radscan.com, port 1702.

   To contact the default conquest metaserver (default:
   conquest.radscan.com) and select from a list of available online
   servers:

       $ conquestgl -m

   NOTE: If you want to connect to a server on your local machine, be
   sure conquestd is running.  See SERVER.TXT for more information on
   conquestd and running a server.

## Default network ports

   This is the list of default network ports Conquest uses:

   1700/udp    - metaserver update port

                 conquestd sends updates to conqmetad on this port
                 (when run with '-m')

   1700/tcp    - metaserver query port

                 When you (or a conquest client) connects to this port
                 on the metaserver host (default:
                 conquest.radscan.com), the metaserver dumps the
                 current server list out on this port and disconnects.

   1701/tcp    - default game server port

                 conquestd listens on this port for client
                 connections.

   1701/udp    - default game server port for UDP location data
                 (v8.0.1c or better).

                 conquestd listens on this port for client connections
                 to determine if the client and server can both do
                 UDP.  The server will also send UDP motion data to
                 the client(s) from this port.

                 UDP is only used for ship motion data from the server
                 to the client.  The client only sends data to the
                 server on this port during UDP negotiation.


   You can use the '-p <portnum>' option to conquestd to have the game
   run on a different port other than the default of 1701.

## Server game flags

   The server operator can set various game flags via the conqoper
   Options menu.  These flags are displayed on the conquest login
   screen (when connecting to a server), as well as when the user
   selects the Options menu from from within the game (while already
   connected to a server).

   Currently the following flags are available.

          Refit              - refits are allowed.  You can refit to
                               one of the 3 types of conquest ships
                               when you have at least one kill, and
                               are orbiting a team owned planet.

          Vacant             - vacant ships are allowed.  A ship goes
                               vacant when a client exits the game
                               without self destructing first, while
                               flying a ship.

                               When vacant ships are disabled by the
                               oper, such ships are immediately killed
                               by a 'lightning bolt'.

                               NOTE: In previous versions of conquest,
                               oper's would always go vacant in this
                               case, regardless of the vacant option
                               setting.  In this version, every user
                               is subject to this option.


          SlingShot          - the SlingShot bug is enabled.  This is
                               a towing bug that existed in the
                               original VMS/RatFor version of
                               conquest.  It's a fun bug, and I
                               received several emails about it when I
                               inadvertently fixed it in a later
                               version without understanding it's
                               true significance.

                               If you don't know what it does,
                               well... figure it out!  You'll need a
                               buddy to make it work though ;-)

          NoDoomsday         - when set, the doomsday machine is
                               prevented from randomly starting up and
                               trashing the universe.

          Killbots           - when this option is enabled, robots are
                               created with a random kill point
                               value.  The kill points a ship has
                               affects the efficiency of it's engines,
                               the strength of it's weapons, etc.

                               Normally when a robot is created (by
                               attacking an unguarded homeplanet, etc),
                               it is initialized to 0 kills.  When
                               this option is enabled, a kills value
                               is randomly selected.  This means that
                               a new robot might prove to be much more
                               deadly than the default 0 kill robot.

                               This may not be a good option to enable
                               on a public server where newcomers play.
                               Fighting a 25 kill robot takes some
                               skill ;-)

          SwitchTeam         - when enabled, users can switch teams at
                               the conquest main menu.


## Meta Server

   With Conquest v8.0, a meta server is supported.  There is one
   running at conquest.radscan.com.

   If you want to see what servers are available, run conquest with
   the '-m' option:

   $ conquest -m

   This will query the meta server and list the currently active
   servers.  From here, you can select one and connect.

   There is a cgi-bin perl script on the Conquest website where you
   can also get this info:

   http://radscan.com/cgi-bin/conqmeta.pl

   If you want to run a server that other Internet players can play
   on, and you want them to know about it, you will want to run your
   conquestd server with the '-m' flag.

   $ conquestd -d -m

   Depending on your network topology, you may also need the '-N' flag
   if the Internet has a different idea about your server hostname
   than you do internally.  For example, here, conquest.radscan.com is
   an external only address, so I must explicitly specify it to the
   metaserver, or it will use the address the update packet came in on
   (which no-one would be able to resolve and connect to).  For
   example, here is the complete line I use on my server to start
   conquestd:

   # conquestd -d -u nobody -m -N conquest.radscan.com


## ~/.conquest/conquestrc

   After running Conquest for the first time, a file called
   ~/.conquest/conquestrc should have been created.  Look at this file
   (it's self-explanatory) for various options you can set.  Conquest
   Operators (or CO's) should look at /opt/conquest/etc/conquestrc for
   a few system wide options you may or may not want.  As of version
   7.0, all options (user and system-wide) can be viewed and edited
   using the new (O)ptions Menu.  This menu is available at the
   conquest/conqoper main menus, as well as being accessible from
   within the game.

## Recording Games

   With Conquest 8.0, recording has been significantly re-worked.
   '.cqr' files created prior to v8.0 are not compatible with v8.0+,
   sorry.

   The new format uses the same packet protocol that the clients use.
   This means recording files (cqr's) are *much* smaller and much more
   efficient (cpu-wise) during the recording process, than they were
   with v7.x.

   Another benefit is endian safety.  With the old format, recordings
   could only be played back on the same machine architecture the cqr
   was created on.  Since the recording data is now based on the
   packet protocol, recordings are now completely endian safe (network
   byte order is used).  So now, some poor slob on his Sun SPARC can
   play back a recording I make on a lintel machine and vice-versa.

   There are two types of recordings possible in Conquest: Server and
   Client.

   Client recordings are created when a user runs conquest with the '-r
   <recfile>' option, for example:

     $ conquest -r somefile.cqr

   Server recordings are created by conquestd on the server machine
   whenever a CO with the OOPTION_OPER set in their user record, sends
   a command to GOD from within the game containing:

     /recon

     server recording files will be saved in:

     INSTALL_PREFIX/var/conquest-rec-<timestamp>.cqr

     To turn off server recording, send the following to GOD from
     within the game:

     /recoff

   Aside from how the different recording types are made, the main
   difference between the two are:

   Client:

       Client recordings do not contain full information on other
       ships (fuel, etc) since, in order to limit the ability to cheat
       by hacking up the client, only pertinent data about another ship
       is ever sent to the client.

       For this reason, client recordings are identified by the ship
       that made the recording.  Although you can still try to watch
       other ships during replay, than the one that made the recording,
       the experience will probably not be too rewarding, since much
       data about the ship will never have been sent to the client to
       be recorded in the first place.

       For client recordings, replay will always use the recorder's
       ship number as the default to the (w)atch command, though you
       can certainly select other ones, keeping the caveat's above in
       mind.

       Of course, full information is always recorded for the ship
       that made the recording.

       Planet motion is only updated once every 5 seconds in client
       recordings, since the orbital trajectories computed by the
       client are not recorded.

   Server:

       Server recordings are complete (like the old recordings made in
       previous versions of conquest), since the server has full
       access to the common block.

       All active ship/planet/etc data is stored in server recordings.
       You can watch any ship during playack with a server recording
       and get all info on the ship (heading, fuel, temps, etc).

   To replay a recording:

      $ conquestgl -P somefile.cqr

   If libz and it's development header files are available on your
   system when building conquest, game data will be recorded using
   gzip compression.  It's a good idea to use this.  Replay can read
   either uncompressed or gzip compressed files, and can be played
   back using either the GLUT/OpenGL client or the curses client.

   If your client was not compiled with libz support, then you
   will need to uncompress any compressed .cqr files you may have
   before you can replay them.  A simple way is:

   $ gunzip -f <somefile.cqr >somefile-nocompress.cqr
   $ conquestgl -P somefile-nocompress.cqr

   If anyone creates some amusing recordings and sends them to me,
   I'll happily make them available on the website. ;-)

## Replaying Games

   The Conquest client (either curses or OpenGL version) is used to
   replay previously recorded games.

   This is a much nicer way to save and playback games than using
   something like script, or Xterm logging.

   The replay allows you to speed up or slowdown the playback, as well
   as giving you the ability to jump forward and backward in a
   recording.  Not as nice as a VCR but close enough.

   To playback a game, you use the '-P' option to the conquest client.

   For example, to play back a file called dethfun.cqr:

     conquestgl -P dethfun.cqr

   There is a 'demonstration' CQR file up on the website if you want
   to try one out.

   See the section '## Recording Games' for more information.

   NOTES:

   - Only the messages sent to the player that made the recording are
     saved into the CQR file of a client recording.  You can't use a
     recording to 'snoop' on other players conversations.

   - there is no way at this time to manually start and stop client
     recording from within the game.  You must start conquest with the
     '-r' option to start client recording, and the entire session will be
     recorded.


## Hints for new players

   Here are some general hints for new players.  There's more to
   playing than what is described in this section, but it should be a
   good start.


# Moving around (Navigation)

  With the version 8.1.2f or better OpenGL client, you can click the
  middle mouse button (by default) in the viewer to set a course in
  that direction.

  For the keyboard, using the direction keys ('qweadzxc') to the
  (k)ourse or weapons commands can be faster than specifying the
  direction in degrees.

  See conquest.doc for a description of the direction keys, and how
  they work.

  You can set course, lock onto, and automatically enter orbit around
  a planet by typing the planet name (or first 3 unique characters)
  followed by [TAB] as input to the (k)ourse command.  You will
  automatically enter orbit when you get close enough to your
  destination.

  The Keypad keys/Arrow keys (if your terminal emulator and terminfo
  entry supports them) can be used for 1-key steering, which can be
  faster in battle.

  Of course, once you have set a direction, you need to set a warp
  speed if one is not already set, or you are not going to actually go
  anywhere.  Use the number keys (0) to (9) to set the warp.  Use (=)
  to set the maximum warp your ship can go.

# Orbiting a planet

  The easiest way to get into orbit around a planet is to lock onto
  it, set a warp, and let the ship automatically enter orbit when you
  are close enough.

  For example, to 'lock' onto Janus and enter orbit, enter (kjan\t).
  When you are close enough, your ship will deccelerate and
  automatically enter orbit.

  To enter orbit manually, get close to the planet, slow down to warp
  2 (at the fastest) and hit (o).  You cannot enter orbit if you are
  going faster than warp 2.

  See the section '# Moving around (Navigation)' for more information
  on navigating around.


# Shields

  Shields are important for protecting your ship.  Once your shields
  are down, then your ship can start taking damage.

  One main thing to remember:

  - When your shields are up, they consume more power and cause your
    engines to heat faster.

    For this reason, *only* keep your shields up when you are in
    danger - ie: an enemy ship is nearby, or you are close to an enemy
    planet, torps, or a Sun, etc.

    Don't run around the universe with your shields up all the time.
    You are just wasting fuel and heat.

    On the other hand, when an enemy gets close, don't forget to raise
    them :)

  Your shields will repair at twice the normal rate when lowered.


# Energy Allocation

  In Conquest, you can assign an energy allocation that is split
  between your engines and your weapons.  The max allocation
  percentage is 30/70.

  When you are just flying around, set your allocation so your engines
  get most of the power.  This can be done with (A30\r).  This way
  your engines will be as efficient as possible - using less fuel,
  generating less heat, and making your ship more manuverable at high
  speeds.

  When bombing, do the opposite.  Having your weapons have the maximum
  power allocation increases your army kill rate.  This can be done
  with (A70\r).

  When dogfighting, you will probably want to quickly switch between
  the two.  I would use a Macro for this (see the '## Macro Keys'
  section).  In this case, what you want to do is keep maximum power
  for your engines, but switch to max weapons whenever you fire them.
  This increases their power, and potential damage to an enemy.

  I personally use a Macro for most phaser firing and torping (except
  for aiming them).  This macro switches to max weapon allocation,
  fires the weapon, then switches back to max engine allocation.

  Most efficient.  Sometimes when you are dogfighting someone else (or
  a robot) the first one to overload or run out of fuel loses.  It's
  important that you are not the one that this happens too :)

  Some battles I have fought have depended entirely on the efficient
  use of fuel and heat resources.  A good player will always try to
  get you to waste fuel and heat up.  Robots, being fairly stupid, can
  be goaded into wasting fuel and heat too, if you are careful.

# Bombing

  Bombing is the usual way to get kills (unless you are good with
  robots).

  To bomb a planet, raise shields and go into orbit.  Set weapons
  allocation to max (A70\r), and use the (B) command.

  If you want to bomb a team owned planet (those that are not
  'self-ruled'), you will need to declare war with the team first
  (W).  Bombing a self-ruled planet automatically makes you at war
  with that planet.

  The more armies a planet has, the faster it will damage you.  Keep
  this in mind.

  When bombing, set your weapons allocation to max (A70\r).  This
  will increase your army kills per bomb run.

  When you have bombed the planet down to 3 armies, you now have to
  'take' it.  To take a planet, you must go and get some of your
  team's armies and beam them down.  You will need at least 4.  3 for
  killing the remaining 3 enemy armies, and 1 to claim the planet as
  your own.

  While bombing, break off and repair when your damage gets around
  50-70%.  As you get more experienced, you can push the line a bit.
  But it's important to know that the more damage you have, the slower
  you will be able to run.  With 70% damage, your maximum speed will
  be about warp 3.  On a 100 army planet, this may not be fast enough
  for you to move away from the planet before the armies overwhelm your
  shields and you explode.  Exercise caution :)

  Bombing a home system planet of a team will create a robot defender.
  Be ready for this.  If you accidentally end up creating a robot that
  you do not/can not fight, just cloak, raise your shields and go to
  warp 0.  If the robot wasn't too close to you when you did this, you
  should survive and the robot will lose interest :)

  Home systems, and their planets are the following:

  Federation:         Earth, Telos, Omega
  Klingon:            Klingus, Leudus, Tarsus
  Romulan:            Romulus, Remus, Rho
  Orion:              Orion, Oberon, Umbriel

  All other planets are self-ruled when a game is initialized, and
  will not create robot defenders when bombed (even if owned by
  another, non self-ruled team).  Newcomers should probably avoid
  bombing home system planets until they are ready to handle robot
  defenders.

  All planets, with the exception of Altair, Hell, and Jinx, must be
  taken in order to conquer the universe.

# Repairing

  When you are damaged, you will want to repair as soon as you are
  able, so that you can regain your max warp and efficiency.

  When not under attack, you will repair at a 'nominal' rate - which
  will be quite slow.

  Use the (R) command to go into repair mode.  This sets you at warp 0
  and lowers your shields - so don't do it in the middle of battle.
  Repairing is faster this way.

  If there is a friendly planet nearby, go into orbit around it before
  using (R).  You will repair even faster.

  You will also cool down much faster when in orbit about a friendly
  planet.

# Cloaking

  You can cloak your ship if you wish with the (C\t) command.

  Cloaking consumes alot of power and heat.  If you are moving, you
  will exhaust your fuel or overload your engines fairly quickly.  How
  fast this happens depends on your ship type, and how fast you are
  moving.  If you put your shields up, you will overload even faster.
  Overloading your engines is really bad in battle for obvious
  reasons.

  If you are moving when you are cloaked, you are detectable - but only to
  an approximate location.

  If you are at warp 0, and you cloak, you cannot be detected at all.
  This is a good trick to use when you want to ambush an enemy who is
  approaching (assuming he does not already know you are in the
  vicinity).

  This is also a good way to escape from robots if you find you are in
  trouble.  You can cloak and go to warp 0.  Then even robots cannot
  detect you.  This may give you the time you need to heal a little,
  and perhaps the robot will wander off somewhere and give you some
  breathing room.

  Keep in mind that depending on ship type and your kills score,
  decelerating can take a little time.  So, if you are trying to evade
  a robot, and he is very close, don't go to warp 0 and cloak.  While
  you are decelerating you are still detectable enough for the robot
  to steam-roll right over you.  Get a little distance from it first.

# Carrying armies

  You should only carry armies when you are going to take over a
  planet.  If there are alot of enemy armies on the planet, bomb them
  down some before bringing armies.

  Carrying armies will increase fuel consumption and heating, so only
  carry them when you are going to use them fairly quickly.

  It's a real bummer to have to get into a dogfight when you are
  carrying.  Unless you are good and your opponent is bad, you will
  probably not survive since you will most likely run out of fuel or
  overload before he does.

# Detonating enemy torps

  With the (d) command, you can try to detonate enemy torps before
  they hit you.  This command consumes fuel and heat, and will only
  work on torps that are relatively close to you.

  It is better to detonate torps before they hit you, to limit damage.
  If it is possible for you to simply move out of the way of oncoming
  torps, then doing so is more efficient than detting them.

  If you can move out of the way rather than det them, the enemy ship
  will have wasted fuel and heat firing them, and will then also have
  to det them himself in order to free up torps slots to fire more -
  while you have expended far less fuel and heat to evade them.

  Getting the enemy to waste fuel and heat faster than you is an
  important strategy in battle.

# Using torpedos

  Torpedos are probably the most used weapon in Conquest.  When fired,
  they head in the direction they were fired until they hit an enemy
  ship, or timeout (about 50 seconds).

  The damage they inflict depends on the ship type that fired them,
  the number of kills the ship has (more is better), as well as the
  weapons allocation in effect when they were fired.

  For the maximum damage potential, you should set weapons
  allocation to 70% (A70\r) when firing.  Maybe use a macro. :)

  With the 8.1.2f OpenGL client, you can click the right mouse button
  (by default) in the viewer to fire a torpedo in that direction.

  You can only have 9 torps out at a time.  If you have fired them
  all, and they missed, you should self-detonate them (D) so that you
  can free up slots to fire more.  Hopefully with better aim this
  time. :)

# Using phasers

  Phasers are a close-in weapon.  If the ship you are firing at is not
  in RED ALERT range (about 1000 CU's) they won't have much (if any)
  effect, and you will just waste fuel and heat using them.

  They are *very* effective close up though, so don't abandon them in
  favor of using torps only.

  With the 8.1.2f OpenGL client, you can click the left mouse button
  (by default) in the viewer to fire the phasers in that direction.

  You can only fire a phaser about once per second.  When in really
  close combat, alternate between firing your phasers and torpedoes.

# Kill points

  In short, the more kill points your ship has, the better.

  You get kills by bombing planets, and blowing up enemy ships.

  The number of kills you have will affect your ship in the following
  ways:

  - The more kills you have, the more efficient your weapons and
    engines will be, in terms of fuel consumption and heating.

  - the more damage your weapons can inflict.

  - and acceleration and deceleration will be faster.  You will also
    be able to turn quicker at higher speeds.

  See also, the '## Ship Strength' section for more information.

  If you are fighting enemy players, you will probably want to
  concentrate on those with the highest number of kills.  If you let
  someone get a huge number of kills, it will just get harder to
  destroy them, unless they make a mistake, or you ambush them.

# Robot scanning range

  Robots have a somewhat limited scanning range.  Basically, if you
  are within around 6500 of an enemy robot, he can scan you and will
  come after you if he can.

  If you are bombing planets and there are other enemy robots around,
  you might want to do frequent info commands on them (ine\r) to make
  sure you stay outside this rough radius.  Otherwise, they will see
  you and come after you.

  This is especially good advice if you are not good at fighting
  robots :)  Avoid them if you can.

## Planets

   You need at least one kill before you will be able to transport
   armies to, or from, a planet.

   Core planets are those that need to be conquered in order to take
   the universe.  The (?)planet list option in conqoper/conquest will
   identify core planets with a '+' sign.  Currently, there are only 3
   non-core planets, that while not necessary to conquer the universe,
   can provide some strategic advantage.  These are Altair, Jinx, and
   Hell.  Particularly Altair.  Keep an eye on Altair ;-)

   Additionally, Conquest (as of V6.5) contains 20 extra planet slots
   that can be configured with the planet edit option in conqoper.  By
   default, they are all 'turned off' so unless a CO goes into
   conqoper and 'enables' them, you won't see them.  They are named
   'Extra 1' through 'Extra 20' (though, obviously, the names can be
   changed in the planet editor).

   Use them together.  Use them in peace.


## Suns

   Suns are hot.  Don't fly through them unless it absolutely,
   positively, has to be there overnight.  Hint: Robots don't seem to
   worry about suns.  This can be used against them.


## Cloaking

   Cloaking can be very useful in battle.  Unfortunately, it's
   expensive in terms of fuel and engine heating.  But at warp 0
   however, it can be very nice.  There are ways of locating (at least
   approximately) cloaked ships.  Really.  Two people who know what
   they're doing can get pretty damn good at triangulating cloaked
   ships... right Dave?  Robots can't detect cloaked ships at warp 0.


## Tractor beams

   One use I've seen for them so far is to drag a helpless ship into
   the sun, so it's death can be as humiliating as possible.  There
   *are* a few other interesting uses for them as well ;-)

   If the server has the SlingShot flag enabled, even better ;-)


## Ship Strength

   Different teams have different strengths.  Romulans have the best
   weapons, but the worst engines.  Orions have the best engines and
   the worst weapons.  The feds/klings are in-between.

   If the server has the Refit flag set, you can change your
   ship type, regardless of which team you are on, provided you are
   orbiting a team owned planet and have at least one kill.

   The number of kills your ship has will determine how much more
   efficient your weapons and engines are than the base efficiency you
   started out with.

   When your kills count reaches DOUBLE_E_KILLS (currently 40), your
   efficiency will be double what you started out with.  It's very
   nice to be in a ship with alot of kills.  The problem is, at least
   in our games, we tend to attack whoever has the most kills - it's a
   wise move for self preservation if the ship in question isn't on
   your team ;-) Even if you have high kills, it's difficult to
   survive against the continuous onslaught of a couple of determined
   foes, unless you run and cloak alot.


## Refitting

   If the server you are connecting to has enabled the Refit flag, you
   will be able to refit your ship to a new ship type.

   Basically, when you enter the game, and join a team, your ship is
   the same type of ship (in terms of weapons and engine performance)
   that is the default for your team - like all previous versions of
   Conquest.

   With Refit capability, once you have at least one kill, and are
   orbiting a team owned planet, you can use the 'r', refit option to
   select a different ship type.  The current ship types, and their
   equivalence with the traditional types assigned to a team are
   listed below:


   Default Ship Type  Traditional ship type assigned to team.
   -----------------  -------------------------------------------------

   Scout              Orion - strong engines, weak weapons
   Destroyer          Federation/Klingon - good engines, good
                      weapons
   Cruiser            Romulan - weak engines, strong weapons


   The type of a given ship can be determined by doing an (i)nfo on
   it, or by using '/' Player List to look at the list of currently
   active ships, and note the character ('S', 'D', 'C) following their
   ship number.

   The ability to refit is controlled by the server operator with the
   'Refit' option in the conqoper options menu.

## Leaving the game

   To exit Conquest, normally you must self-destruct, or be killed.

   In a hurry, you can also exit Conquest quickly with the SIGQUIT
   signal (usually the Control-\ key).

   If the server operator has enabled the 'Vacant' flag in the
   conqoper Options menu, then your ship will be left intact on the
   server, so you can reconnect to it in the future.

   If you exit this way, I'd be careful where you leave your ship.

   If the 'Vacant' flag has not been enabled by the server operator,
   then your ship will be immediately killed by a lightning bolt on
   the server.


## Teams

   When you first enter Conquest, it will randomly select a team for
   you, before bringing you to the main menu.  At this point, you can
   switch teams with the (s)witch teams option if you wish (provided
   the server has the 'SwitchTeams' flag enabled).

   Remember, different teams have different strengths and weaknesses.
   Federation and Klingon teams are pretty middle-of-the-road as far
   as engine/weapons efficiency goes, while Orions have better
   engines, and Romulans have stronger weapons.  But you can always
   Refit if the server allows it...


## Combat

   Taking on a robot is quite a bit different from taking on a human
   player.  With a robot, in time you learn it's strategy, and
   compensate for it.  After you've done it a few hundred times,
   robots aren't too much of a challenge, ...if you don't do anything
   brave and stupid :-).

   People on the other hand, tend to adapt to your strategies, forcing
   you to come up with new ones.

   There are various strategies that can be employed effectively
   against your opponent.  A common one we used to use, is the
   'lame-duck maneuver'.  If you take alot of damage, though you have
   plenty of fuel and your weapons are cool, sometimes you can trick an
   enemy into thinking your really hurting... by limping away at warp
   2 with your shields down for example.

   He'll do an info on you and see your damaged, or he might think
   you're out of fuel, and therefore, an easy kill.  Sometimes you can
   surprise him ;-)  It's simple, but often effective with a player
   determined to 'finish you off' carelessly.

   Cloaking can be used to excellent effect on an unsuspecting
   opponent.  I leave it up to you to explore the possibilities.

   Getting your opponent to waste fuel and heat is also a good idea if
   you can arrange it.


## Macro Keys / Mouse Macros

   Macros are sequences of Conquest commands that are issued when a
   Function Key (Fkey) is hit.  On PC hardware, these are the F1-F12
   keys.  With certain emulators (like Unixware's at386 console) the
   Shifted F1-12 keys (F13-F24) are available too.

   With the GL client, version 8.1.2f or better, support for assigning
   macros to mouse buttons is also provided.  Modifiers like Alt,
   Control, and Shift can also be used with the mouse buttons.  Up to
   32 buttons are supported with any combination of the 3 modifiers
   (or no modifiers) giving you a maximum of 256 assignable mouse
   macros.  If you have a 32 button mouse that is :)

   Mouse and Key macros are defined in your ~/conquest/conquestrc
   file.  Users can edit their macro keys from within Conquest using
   the (O)ptions Menu.

   Here is an example for the F1 function key

       macro_f1=dP\r

       Which makes my F1 key detonate enemy torps (d), and fire a
       spread of 3 torps in the last direction I fired (P\r).

   The mouse only works when playing the game (in the Cockpit) and the
   cursor is within the viewer window in the GL client.

   Three default mouse macros are provided to give you a taste, and
   will be saved in your conquestrc file the first time you run an
   8.1.2f or better version of the client.  They are:

      mouse button 0 (left): Fire phaser at <angle>
      mouse button 1 (middle): Set course to <angle>
      mouse button 2 (right): Fire Torp at <angle>

   Of course you can redefine these, as well as add others.  With
   mouse macros, a special character sequence, '\a' can be used to
   represent the angle of the cursor relative to the center of the
   viewer when the button was pressed.

   See the mouse macro comment block in your conquestrc file for a
   description of the format.

   There are many other interesting and useful combinations that I
   won't detail... After all, choosing the right macros and using them
   well is an important part of the strategy you employ against your
   opponents.


## The Robots

# Conqstrat

  The AI code used by the robot ships is the original strategy table
  that was generated by the conqstrat.r program with the exception of
  one new rule that lessens robot sun-deaths somewhat.

  The conqstrat program can be used to modify the Robot strategy
  tables if you don't like the supplied rules.  You can have a maximum
  of 32 rules.  Conquest is supplied with a file called conqrule that
  describes in a simplistic 'language' how a robot should behave under
  certain conditions... You can edit this file, and use conqstrat to
  generate a new conqdata.h file, or update the common block directly.

  For example, the following command parses the conqrule file and
  updates the common block with the newly generated strategy table:

      conqstrat -U <conqrule

      NOTE: If someone then (I)nits the (r)obots via conqoper, your
      changes will be overwritten.  In order for the changes to be
      permanent, you will need to generate a conqdata.h file
      (described below) and recompile and install Conquest.

  The following command will generate a new conqdata.h file.  You can
  then recompile Conquest to get the new default strategy table.
  After compiling and installing, remember to (I)nitialize the
  (r)obots to update the common block copy of the strategy table with
  the compiled in version.

      conqstrat -o conqdata.h <conqrule
      make all
      make install

# Combat

  To new users, the robots may seem tough.  Gleefully harsh, even.
  But they are predictable, and can be taken once you learn their
  'strategy'.  One thing to remember, NEVER attack one head-on (let
  alone 2 or three...) unless you are experienced.  They are much
  faster on the trigger than you are, and you'll probably lose.

  See the conqrule file supplied with the source distribution if you
  want to see their basic strategies... That's cheating though ;-) It
  was much more fun to figure it out via trial and error (death).


# Creating Robots

  Robots are created one of two ways:

  A.  You attack a home-system planet of an opposing team, and there
      are no team players around to defend it.  Presto, one pissed
      robot headed your way.

  B.  A Conquest Operator fires up conqoper and creates some with the
      (r)obot menu option.  A user marked as a Conquest Operator can
      also create robots by sending special messages to GOD from
      within the game.


## The Doomsday Machine

   The Doomsday machine (if activated) *can* be killed.  It probably
   requires that you've seen the (old) Star Trek episode called 'The
   Doomsday Machine' though.  Heh.

   It can also be rather annoying after a time or two though.  If you
   get tired of it, you can set the 'NoDoomsday' flag in the conqoper
   Options menu to true, which will prevent it from randomly starting
   up and wasting the universe.  I'd recommend this for public access
   servers.


## Using conqoper

# The semaphore status line

  The semaphore status line (line 2) in conqoper can give you useful
  information on the locks used by Conquest to prevent simultaneous
  writes to the common block.  The following is an example line,
  labeled by the letters 'A'-'I' above it.

  A         B   C     D  E        F    G     H  I
  -         -   -     -  -        -    -     -  -
  MesgCnt = 268(25116:0) CmnCnt = 4693(25116:0) Last: Nov 28 13:10:38

  KEY.
        A. status for the messaging semaphore.  preceded by '*' if
           currently locked
        B. number of semops on this semaphore
        C. PID of last process to alter this semaphore
        D. number of processes waiting for the semaphore to become
           zero.  ie. the number of processes waiting to acquire a
           lock.  This should be 0 99.9999% of the time.
        E. status for the common block semaphore (everything except
           messages).
        F. number of semops on this semaphore
        G. PID of last process to alter this semaphore
        H. number of processes waiting for the semaphore to become
           zero.  ie. the number of processes waiting to acquire a
           lock.  This should be 0 99.9999% of the time.
        I. time and date of last semop.


# Leaving a screen on conqoper

  When watching another ship in conqoper or editing a player or
  planet, use 'q' to quit.

  In most other screens, you can use RETURN or SPACE to quit.  I
  know... some consistency is needed.


### The installed files

    Here are the files installed by Conquest, and a brief synopsis of
    what each does.  All paths are relative to the installation
    directory (/opt by default).


## bin/conquest

   The Conquest curses client. type 'conquest -?' to see a list of
   options.

   The curses client can also be used to replay conquest recording
   (.cqr) files using the '-P' option to conquest.

## bin/conquestgl

   This is the OpenGL version of the conquest client. Type 'conquestgl -?'
   to see a list of options.

   The OpenGL client can also be used to replay conquest recording
   (.cqr) files using the '-P' option to conquestgl.

## bin/conquestd

   This is the conquest server. Type 'conquestd -?' to see a list of
   options.  See SERVER.TXT for information on the server and how to
   set one up.  If all you want to do is use the conquest client to
   fight on remote servers, you do not need to run your own server.

   In addition, if run with the '-m' flag, conquestd will notify the
   metaserver at conquest.radscan.com of your game, so that others
   that query the metaserver will see your server and might jump in.

   Oh, and if your conquestd server is not accessible from the
   Internet, please don't register it with the metaserver.  ;-)


## bin/conqmetad

   The Conquest metaserver.  You should never need to run this unless
   you have a group of conquest servers on your private network that
   you do not want to advertise to the world.  The definitive
   metaserver for public Internet conquest games is running at
   conquest.radscan.com.


## conquestsh

   This is a Conquest 'shell' used if you are going to allow telnet
   access to your server (to run the curses client).  It basically
   exec()'s conquest like so:

    $ conquest -t -s localhost

   The '-t' option tells conquest not to attempt to load/save the user
   configuration (~/.conquest/conquestrc).

   See SERVER.TXT for further information on how to setup a telnet
   interface for a conquest server.


## bin/conqdriv

   The universe driver process.  A driver is kicked off whenever
   someone enters Conquest and a driver isn't already running.  A
   normal user cannot start the driver manually.  (You should never
   have to.)  A CO can manually start the driver for debugging
   purposes by supplying the '-f' option.


## bin/conqoper

   This is the Conquest Operator program that allows suitably
   privileged individuals to control, monitor, and modify the behavior
   of the game.  The root user is always a CO and therefore can run
   the conqoper program.  If you want to allow other people to be able
   to run conqoper, you will need to add them to the conquest group in
   /etc/group.

   If you want to allow specific players to be able to issue certain
   operator commands from within the game, (e)dit them in conqoper and
   set the 'Conquest Operator' flag.

   Conqoper currently supports the following options, (type conqoper
   -?  to see the various options):

     usage: conqoper [-C] [-D] [-E] [-I <what>]
        -C               rebuild systemwide conquestrc file
        -D               disable the game
        -E               enable the game
        -I <what>        Initialize <what>, where <what> is:
           e - everything
           g - game
           l - lockwords
           m - messages
           p - planets
           r - robots
           s - ships
           u - universe
           z - zero common block

      The init and enable/disable options are of primary interest to
      server operators.

    Be careful who you give CO status to, a bad CO can cheat, or
    otherwise disrupt a game.  In addition, due to the fact that a CO
    is a member of the conquest group, a bad CO will be able to trash
    the common block, as well as other undesirable things.

    A CO with permission to overwrite the system-wide conquestrc file
    can call conqoper with the '-C' option to update the file with a
    newer version.  User-level ~/.conquest/conquestrc files are always updated
    automatically when conquest is run.  This is not done
    automatically for the system wide conquestrc file due to potential
    security problems.


## bin/conqai

   This program allows a CO to take over robot control from the
   Conquest driver for debugging purposes.  Don't run it if you don't
   know what it does.  It will disable robot AI control by the driver.
   After running conqai for some purpose, be sure to re-run it with
   the '-r' option to return control of the robots to the Conquest
   driver when you're done.


## var/conquest/conquest_common.img

   The Conquest (ex-Fortran) Common Block.  This file contains the
   'state' of the universe for the server.  It is mapped into the
   address space (using mmap(2)) of the Conquest server executables.
   Never manually edit this file.  Use conqoper to change the
   universe. ;-) This file *must* have perms of 660 with a group of
   conquest.  If read/write access is opened up to all, then anybody
   with shell access to the server will be able to modify the common
   block, and hence, the universe.  Gives me the willies just thinking
   about it.


## share/HISTORY

   Latest Conquest news.  View via (N)ews in the Conquest main menu.
   Contains a chronological order of changes and modifications.
   Definitely worth viewing if you want to see what's changed since
   the previous releases.


## share/conquest.doc

   Conquest instructions and commands. View via (H)elp lesson in the
   Conquest main menu.  You might also want to print this out.  The
   last page contains a command summary - a handy reference for new
   players.


## var/conquest/conquest.log

   Conquest's log file.  All errors/warnings, and debug messages are
   written here.  For the source distribution, see the bottom of
   defs.h for a list of debuggables.


## etc/conquestrc

   System wide options.  Read it, it should be self explanatory.  Can
   be edited directly or using the (O)ptions Menu from within
   conqoper.

## lib/libconquest.so

   Shared library used by Conquest executables.

## lib/libconqclnt.so

   Shared library used by Conquest client(s).

## lib/libconqserv.so

   Shared library used by Conquest server.

## libUi.so

   Shared generic UI (User Interface) lib.

## libUiCU.so

   UI related code for curses client.

## libUiGL.so

   UI related code for GLUT/OpenGL client.

## img/*

   Textures and texfonts used by the OpenGL client (conquestgl).

## ~/.conquest/conquestrc

   User options and macro definitions.  Can be edited directly or
   using the (O)ptions Menu from within conquest.


### Getting more information

    More information, a command list/description and some specifics of
    the game can be found in conquest.doc.

    See SERVER.TXT for information on running a server.

    See HISTORY for the latest change/modification history
    information for Conquest.

### Obtaining Conquest

    The latest stable and development versions of Conquest will always
    be available from:

    http://radscan.com/conquest.html

### Copyright Information

                 C O N Q U E S T   (VAX/VMS Ratfor)

     Copyright (C)1983-1986 by Jef Poskanzer and Craig Leres

     Permission to use, copy, modify, and distribute this software and
     its documentation for any purpose and without fee is hereby
     granted, provided that this copyright notice appear in all copies
     and in all supporting documentation. Jef Poskanzer and Craig
     Leres make no representations about the suitability of this
     software for any purpose. It is provided "as is" without express
     or implied warranty.

     Unix/C specific porting and supporting code Copyright
     (C)1994-2006 by Jon Trulson <jon@radscan.com> under the same
     terms, conditions, and restrictions of the original copyright by
     Jef Poskanzer and Craig Leres.

     (1/28/99) Due to a little prodding from Sunsite, I've decided on
     the ARTISTIC LICENSE (see the LICENSE file) for Conquest.

$Id$