add level component saving functions which use PhysicsFS (didn't commit properly...
[btb/d2x.git] / ChangeLog-old
index c7575d2..bc072ee 100644 (file)
-This file contains the per-file change logs written before CVS was used
+This file contains the per-file change logs from the Descent I for PC,
+Descent I for Mac, and Descent II source releases, converted to "cvs
+log" style.
 
-------------------------------------------------------------------------
-2d/2dsline.c:
-
- * Old Log:
- * Revision 1.6  1995/09/14  14:24:03  allender
- * fixed MW compile error
- *
- * Revision 1.5  1995/09/14  13:45:17  allender
-- * quick optimization for scanline
-- *
-- * Revision 1.4  1995/04/27  07:36:05  allender
-- * remove some memsets since all old is here now
-- *
-- * Revision 1.3  1995/04/19  14:35:33  allender
-- * *** empty log message ***
-- *
-- * Revision 1.2  1995/04/18  12:03:40  allender
-- * *** empty log message ***
-- *
-- * Revision 1.1  1995/03/09  09:24:06  allender
-- * Initial revision
-- *
-- *
-- * --- PC RCS information ---
-- * Revision 1.7  1994/11/18  22:50:48  john
-- * Changed a bunch of shorts to ints in calls.
-- *
-- * Revision 1.6  1994/09/02  11:40:32  john
-- * fixed bug with urect scanline drakening still
-- * only using 16 levels of fade.
-- *
-- * Revision 1.5  1994/04/08  16:59:12  john
-- * Add fading poly's; Made palette fade 32 instead of 16.
-- *
-- * Revision 1.4  1994/03/22  18:36:27  john
-- * Added darkening scanlines
-- *
-- * Revision 1.3  1993/10/15  16:22:52  john
-- * y
-- *
-- * Revision 1.2  1993/09/08  11:56:29  john
-- * neatened
-- *
-- * Revision 1.1  1993/09/08  11:44:27  john
-- * Initial revision
-- *
-
-------------------------------------------------------------------------
-2d/bitblt.c:
-
-- * Old Log:
-- * Revision 1.29  1995/03/14  12:14:28  john
-- * Added code to double horz/vert bitblts.
-- *
-- * Revision 1.28  1995/03/13  09:01:48  john
-- * Fixed bug with VFX1 screen not tall enough.
-- *
-- * Revision 1.27  1995/03/01  15:38:10  john
-- * Better ModeX support.
-- *
-- * Revision 1.26  1994/12/15  12:19:00  john
-- * Added gr_bm_bitblt (clipped!) function.
-- *
-- * Revision 1.25  1994/12/09  18:58:42  matt
-- * Took out include of 3d.h
-- *
-- * Revision 1.24  1994/11/28  17:08:32  john
-- * Took out some unused functions in linear.asm, moved
-- * gr_linear_movsd from linear.asm to bitblt.c, made sure that
-- * the code in ibiblt.c sets the direction flags before rep movsing.
-- *
-- * Revision 1.22  1994/11/23  16:04:00  john
-- * Fixed generic rle'ing to use new bit method.
-- *
-- * Revision 1.21  1994/11/18  22:51:03  john
-- * Changed a bunch of shorts to ints in calls.
-- *
-- * Revision 1.20  1994/11/10  15:59:48  john
-- * Fixed bugs with canvas's being created with bogus bm_flags.
-- *
-- * Revision 1.19  1994/11/09  21:03:35  john
-- * Added RLE for svga gr_ubitmap.
-- *
-- * Revision 1.18  1994/11/09  17:41:29  john
-- * Made a slow version of rle bitblt to svga, modex.
-- *
-- * Revision 1.17  1994/11/09  16:35:15  john
-- * First version with working RLE bitmaps.
-- *
-- * Revision 1.16  1994/11/04  10:06:58  john
-- * Added fade table for fading fonts. Made font that partially clips
-- * not print a warning message.
-- *
-- * Revision 1.15  1994/09/22  16:08:38  john
-- * Fixed some palette stuff.
-- *
-- * Revision 1.14  1994/09/19  11:44:27  john
-- * Changed call to allocate selector to the dpmi module.
-- *
-- * Revision 1.13  1994/08/08  13:03:00  john
-- * Fixed bug in gr_bitmap in modex
-- *
-- * Revision 1.12  1994/07/13  19:47:23  john
-- * Fixed bug with modex bitblt to page 2 not working.
-- *
-- * Revision 1.11  1994/05/31  11:10:52  john
-- * *** empty log message ***
-- *
-- * Revision 1.10  1994/03/18  15:24:34  matt
-- * Removed interlace stuff
-- *
-- * Revision 1.9  1994/02/18  15:32:20  john
-- * *** empty log message ***
-- *
-- * Revision 1.8  1994/02/01  13:22:54  john
-- * *** empty log message ***
-- *
-- * Revision 1.7  1994/01/13  08:28:25  mike
-- * Modify rect copy to copy alternate scanlines when in interlaced mode.
-- *
-- * Revision 1.6  1993/12/28  12:09:46  john
-- * added lbitblt.asm
-- *
-- * Revision 1.5  1993/10/26  13:18:09  john
-- * *** empty log message ***
-- *
-- * Revision 1.4  1993/10/15  16:23:30  john
-- * y
-- *
-- * Revision 1.3  1993/09/13  17:52:58  john
-- * Fixed bug in BitBlt linear to SVGA
-- *
-- * Revision 1.2  1993/09/08  14:47:00  john
-- * Made bitmap00 add rowsize instead of bitmap width.
-- * Other routines might have this problem too.
-- *
-- * Revision 1.1  1993/09/08  11:43:01  john
-- * Initial revision
-
-------------------------------------------------------------------------
-2d/bitmap.c:
-
-- * Old Log:
-- * Revision 1.11  1995/08/23  18:46:06  allender
-- * fixed compiler warning
-- *
-- * Revision 1.10  1995/08/14  14:25:45  allender
-- * changed transparency color to 0
-- *
-- * Revision 1.9  1995/07/05  16:04:51  allender
-- * transparency/game kitchen changes
-- *
-- * Revision 1.8  1995/06/15  09:50:48  allender
-- * new malloc to align bitmap on 8 byte bountry
-- *
-- * Revision 1.7  1995/05/12  11:52:19  allender
-- * changed memory stuff again
-- *
-- * Revision 1.6  1995/05/11  12:48:34  allender
-- * nge transparency color
-- *
-- * Revision 1.5  1995/05/04  19:59:21  allender
-- * use NewPtr instead of malloc
-- *
-- * Revision 1.4  1995/04/27  07:33:04  allender
-- * rearrange functions
-- *
-- * Revision 1.3  1995/04/19  14:37:17  allender
-- * removed dead asm code
-- *
-- * Revision 1.2  1995/04/18  12:04:51  allender
-- * *** empty log message ***
-- *
-- * Revision 1.1  1995/03/09  08:48:06  allender
-- * Initial revision
-- *
-- *
-- * -------  PC version RCS information
-- * Revision 1.17  1994/11/18  22:50:25  john
-- * Changed shorts to ints in parameters.
-- *
-- * Revision 1.16  1994/11/10  15:59:46  john
-- * Fixed bugs with canvas's being created with bogus bm_flags.
-- *
-- * Revision 1.15  1994/10/26  23:55:53  john
-- * Took out roller; Took out inverse table.
-- *
-- * Revision 1.14  1994/09/19  14:40:21  john
-- * Changed dpmi stuff.
-- *
-- * Revision 1.13  1994/09/19  11:44:04  john
-- * Changed call to allocate selector to the dpmi module.
-- *
-- * Revision 1.12  1994/06/09  13:14:57  john
-- * Made selectors zero our
-- * out, I meant.
-- *
-- * Revision 1.11  1994/05/06  12:50:07  john
-- * Added supertransparency; neatend things up; took out warnings.
-- *
-- * Revision 1.10  1994/04/08  16:59:39  john
-- * Add fading poly's; Made palette fade 32 instead of 16.
-- *
-- * Revision 1.9  1994/03/16  17:21:09  john
-- * Added slow palette searching options.
-- *
-- * Revision 1.8  1994/03/14  17:59:35  john
-- * Added function to check bitmap's transparency.
-- *
-- * Revision 1.7  1994/03/14  17:16:21  john
-- * fixed bug with counting freq of pixels.
-- *
-- * Revision 1.6  1994/03/14  16:55:47  john
-- * Changed grs_bitmap structure to include bm_flags.
-- *
-- * Revision 1.5  1994/02/18  15:32:22  john
-- * *** empty log message ***
-- *
-- * Revision 1.4  1993/10/15  16:22:49  john
-- * *** empty log message ***
-- *
-- * Revision 1.3  1993/09/08  17:37:11  john
-- * Checking for errors with Yuan...
-- *
-- * Revision 1.2  1993/09/08  14:46:27  john
-- * looking for possible bugs...
-- *
-- * Revision 1.1  1993/09/08  11:43:05  john
-- * Initial revision
-- *
-
-------------------------------------------------------------------------
-2d/clip.h:
-
-- * Old Log:
-- *
-- * Revision 1.3  1993/10/15  16:22:28  john
-- * *** empty log message ***
-- *
-- * Revision 1.2  1993/09/29  16:14:31  john
-- * made work with fix point
-- *
-- * Revision 1.1  1993/09/08  11:40:53  john
-- * Initial revision
-- *
-- *
-
-------------------------------------------------------------------------
-2d/ibitblt.c:
-
-- * Old Log:
-- * Revision 1.3  1995/09/13  11:43:22  allender
-- * start on optimizing cockpit copy code
-- *
-- * Revision 1.2  1995/09/07  10:16:57  allender
-- * fixed up cockpit and rearview hole blitting
-- *
-- * Revision 1.1  1995/08/18  15:50:48  allender
-- * Initial revision
-- *
-- * Revision 1.6  1994/11/28  17:07:29  john
-- * Took out some unused functions in linear.asm, moved
-- * gr_linear_movsd from linear.asm to bitblt.c, made sure that
-- * the code in ibiblt.c sets the direction flags before rep movsing.
-- *
-- * Revision 1.5  1994/11/18  22:50:22  john
-- * Changed shorts to ints in parameters.
-- *
-- * Revision 1.4  1994/11/09  16:35:16  john
-- * First version with working RLE bitmaps.
-- *
-- * Revision 1.3  1994/10/03  17:18:05  john
-- * Fixed bug with edi not getting intialized to zero
-- * in create_mask.
-- *
-- * Revision 1.2  1994/05/31  11:10:55  john
-- * *** empty log message ***
-- *
-- * Revision 1.1  1994/05/30  16:08:27  john
-- * Initial revision
-- *
-
-------------------------------------------------------------------------
-2d/palette.c:
-
-; Revision 1.20  1994/11/28  17:08:30  john
-; Took out some unused functions in linear.asm, moved
-; gr_linear_movsd from linear.asm to bitblt.c, made sure that
-; the code in ibiblt.c sets the direction flags before rep movsing.
-; 
-; Revision 1.19  1994/11/27  22:57:56  john
-; Took out some code that was never called.
-; 
-; Revision 1.18  1994/09/12  14:40:16  john
-; Neatend.
-; 
-; Revision 1.17  1994/07/27  18:30:30  john
-; Took away the blending table.
-; 
-; Revision 1.16  1994/04/08  16:59:28  john
-; Add fading poly's; Made palette fade 32 instead of 16.
-; 
-; Revision 1.15  1993/12/21  20:10:03  john
-; *** empty log message ***
-; 
-; Revision 1.14  1993/12/21  19:58:31  john
-; added selector stuff
-; 
-; Revision 1.13  1993/12/21  11:40:51  john
-; *** empty log message ***
-; 
-; Revision 1.12  1993/12/09  15:01:52  john
-; Changed palette stuff majorly
-; 
-; Revision 1.11  1993/12/08  16:41:02  john
-; *** empty log message ***
-; 
-; Revision 1.10  1993/12/08  11:50:17  john
-; Fixed bug with gr_init
-; 
-; Revision 1.9  1993/12/07  12:32:12  john
-; moved bmd_palette to gr_palette
-; 
-; Revision 1.8  1993/12/03  12:11:25  john
-; *** empty log message ***
-; 
-; Revision 1.7  1993/11/16  11:29:08  john
-; *** empty log message ***
-; 
-; Revision 1.6  1993/10/15  16:22:13  john
-; *** empty log message ***
-; 
-; Revision 1.5  1993/09/29  16:15:28  john
-; added assembler linear_line
-; 
-; Revision 1.4  1993/09/26  18:59:27  john
-; fade stuff
-; 
-; Revision 1.3  1993/09/21  14:00:59  john
-; added code to save 43/50 line text modes.
-; 
-; Revision 1.2  1993/09/16  17:28:06  john
-; added code to save/restore video mode
-; 
-; Revision 1.1  1993/09/08  11:41:30  john
-; Initial revision
-
-------------------------------------------------------------------------
-2d/palette.c:
-
-- * Revision 1.41  1995/02/02  14:26:31  john
-- * Made palette fades work better with gamma thingy..
-- *
-- * Revision 1.40  1994/12/08  19:03:46  john
-- * Made functions use cfile.
-- *
-- * Revision 1.39  1994/12/01  11:23:27  john
-- * Limited Gamma from 0-8.
-- *
-- * Revision 1.38  1994/11/28  01:31:08  mike
-- * optimize color lookup function, caching recently used colors.
-- *
-- * Revision 1.37  1994/11/18  22:50:18  john
-- * Changed shorts to ints in parameters.
-- *
-- * Revision 1.36  1994/11/15  17:54:59  john
-- * Made text palette fade in when game over.
-- *
-- * Revision 1.35  1994/11/10  19:53:14  matt
-- * Fixed error handling is gr_use_palette_table()
-- *
-- * Revision 1.34  1994/11/07  13:53:48  john
-- * Added better gamma stufff.
-- *
-- * Revision 1.33  1994/11/07  13:37:56  john
-- * Added gamma correction stuff.
-- *
-- * Revision 1.32  1994/11/05  13:20:14  john
-- * Fixed bug with find_closest_color_current not working.
-- *
-- * Revision 1.31  1994/11/05  13:08:09  john
-- * MAde it return 0 when palette already faded out.
-- *
-- * Revision 1.30  1994/11/05  13:05:34  john
-- * Added back in code to allow keys during fade.
-- *
-- * Revision 1.29  1994/11/05  12:49:50  john
-- * Fixed bug with previous comment..
-- *
-- * Revision 1.28  1994/11/05  12:48:46  john
-- * Made palette only fade in / out when its supposed to.
-- *
-- * Revision 1.27  1994/11/05  12:46:43  john
-- * Changed palette stuff a bit.
-- *
-- * Revision 1.26  1994/11/01  12:59:35  john
-- * Reduced palette.256 size.
-- *
-- * Revision 1.25  1994/10/26  23:55:35  john
-- * Took out roller; Took out inverse table.
-- *
-- * Revision 1.24  1994/10/04  22:03:05  matt
-- * Fixed bug: palette wasn't fading all the way out or in
-- *
-- * Revision 1.23  1994/09/22  16:08:40  john
-- * Fixed some palette stuff.
-- *
-- * Revision 1.22  1994/09/19  11:44:31  john
-- * Changed call to allocate selector to the dpmi module.
-- *
-- * Revision 1.21  1994/09/12  19:28:09  john
-- * Fixed bug with unclipped fonts clipping.
-- *
-- * Revision 1.20  1994/09/12  18:18:39  john
-- * Set 254 and 255 to fade to themselves in fadetable
-- *
-- * Revision 1.19  1994/09/12  14:40:10  john
-- * Neatend.
-- *
-- * Revision 1.18  1994/09/09  09:31:55  john
-- * Made find_closest_color not look at superx spot of 254
-- *
-- * Revision 1.17  1994/08/09  11:27:08  john
-- * Add cthru stuff.
-- *
-- * Revision 1.16  1994/08/01  11:03:51  john
-- * MAde it read in old/new palette.256
-- *
-- * Revision 1.15  1994/07/27  18:30:27  john
-- * Took away the blending table.
-- *
-- * Revision 1.14  1994/06/09  10:39:52  john
-- * In fade out.in functions, returned 1 if key was pressed...
-- *
-- * Revision 1.13  1994/05/31  19:04:16  john
-- * Added key to stop fade if desired.
-- *
-- * Revision 1.12  1994/05/06  12:50:20  john
-- * Added supertransparency; neatend things up; took out warnings.
-- *
-- * Revision 1.11  1994/05/03  19:39:02  john
-- * *** empty log message ***
-- *
-- * Revision 1.10  1994/04/22  11:16:07  john
-- * *** empty log message ***
-- *
-- * Revision 1.9  1994/04/08  16:59:40  john
-- * Add fading poly's; Made palette fade 32 instead of 16.
-- *
-- * Revision 1.8  1994/03/16  17:21:17  john
-- * Added slow palette searching options.
-- *
-- * Revision 1.7  1994/01/07  11:47:33  john
-- * made use cflib
-- *
-- * Revision 1.6  1993/12/21  11:41:04  john
-- * *** empty log message ***
-- *
-- * Revision 1.5  1993/12/09  15:02:47  john
-- * Changed palette stuff majorly
-- *
-- * Revision 1.4  1993/12/07  12:31:41  john
-- * moved bmd_palette to gr_palette
-- *
-- * Revision 1.3  1993/10/15  16:22:23  john
-- * *** empty log message ***
-- *
-- * Revision 1.2  1993/09/26  18:59:46  john
-- * fade stuff
-- *
-- * Revision 1.1  1993/09/08  11:44:03  john
-- * Initial revision
-- *
-
-------------------------------------------------------------------------
-2d/pcx.c:
-
-- * Revision 1.6  1995/03/01  15:38:12  john
-- * Better ModeX support.
-- *
-- * Revision 1.5  1995/01/21  17:54:17  john
-- * Added pcx reader for modes other than modex.
-- *
-- * Revision 1.4  1994/12/08  19:03:56  john
-- * Made functions use cfile.
-- *
-- * Revision 1.3  1994/11/29  02:53:24  john
-- * Added error messages; made call be more similiar to iff.
-- *
-- * Revision 1.2  1994/11/28  20:03:50  john
-- * Added PCX functions.
-- *
-- * Revision 1.1  1994/11/28  19:57:56  john
-- * Initial revision
-- *
-
-------------------------------------------------------------------------
-2d/rle.c:
-
-- * Changed shorts to ints in parameters.
-- *
-- *
-- * Old Log:
-- * Revision 1.10  1995/08/14  14:26:34  allender
-- * changed transparency color to 0
-- *
-- * Revision 1.9  1995/07/05  16:07:49  allender
-- * transparency/kitchen chagnes
-- *
-- * Revision 1.8  1995/05/12  11:54:03  allender
-- * changed memory stuff again
-- *
-- * Revision 1.7  1995/05/11  12:49:19  allender
-- * change transparency color
-- *
-- * Revision 1.6  1995/05/04  20:00:30  allender
-- * use NewPtr instead of malloc.  Fix gr_rle_scanline (which caused me
-- * *many* hours of frustration!!!!)
-- *
-- * Revision 1.5  1995/05/01  08:40:32  allender
-- * trying to find memory bug....this stuff works -- it's johns code
-- *
-- * Revision 1.4  1995/04/27  07:38:24  allender
-- * new rle code ala John
-- *
-- * Revision 1.3  1995/04/19  14:36:06  allender
-- * *** empty log message ***
-- *
-- * Revision 1.2  1995/04/18  12:08:30  allender
-- * *** empty log message ***
-- *
-- * Revision 1.1  1995/03/09  09:23:04  allender
-- * Initial revision
-- *
-- *
-- * --- PC RCS information ---
-- * Revision 1.19  1995/01/14  19:18:31  john
-- * Added assert to check for paged out bitmap.
-- *
-- * Revision 1.18  1995/01/14  11:32:07  john
-- * Added rle_cache_flush function.
-- *
-- * Revision 1.17  1994/12/13  10:58:27  john
-- * Fixed bug with 2 consecutive calls to get_expanded_Texture
-- * with 2 different bitmaps, returning the same rle texture,
-- * causing doors to disapper.
-- *
-- * Revision 1.16  1994/11/30  00:55:03  mike
-- * optimization
-- *
-- * Revision 1.15  1994/11/24  13:24:44  john
-- * Made sure that some rep movs had the cld set first.
-- * Took some unused functions out.
-- *
-- * Revision 1.14  1994/11/23  16:03:46  john
-- * Fixed generic rle'ing to use new bit method.
-- *
-- * Revision 1.13  1994/11/23  15:45:51  john
-- * Changed to a 3 bit rle scheme.
-- *
-- * Revision 1.12  1994/11/18  22:50:24  john
-- * Changed shorts to ints in parameters.
-- *
-- * Revision 1.11  1994/11/14  17:06:13  john
-- * Took out Key_f12.
-- *
-- * Revision 1.10  1994/11/14  15:54:09  john
-- * Put code in for maybe checking bogus rle data.
-- *
-- * Revision 1.9  1994/11/14  15:51:58  john
-- * Added rle_disable_caching variable to prove the stability of my rle
-- * caching code to any non-believers.
-- *
-- * Revision 1.8  1994/11/10  10:31:20  john
-- * Reduce cache buffers to 16.
-- *
-- * Revision 1.7  1994/11/09  19:53:43  john
-- * Added texture rle caching.
-- *
-- * Revision 1.6  1994/11/09  17:41:44  john
-- * Made a slow version of rle bitblt to svga, modex.
-- *
-- * Revision 1.5  1994/11/09  17:07:50  john
-- * Fixed bug with bitmap that gets bigger with rle.
-- *
-- * Revision 1.4  1994/11/09  16:35:17  john
-- * First version with working RLE bitmaps.
-- *
-- * Revision 1.3  1994/10/26  12:54:47  john
-- * Fixed bug with decode that used rep movsd instead of
-- * rep stosd.
-- *
-- * Revision 1.2  1994/10/06  17:05:25  john
-- * First version of rle stuff.
-- *
-- * Revision 1.1  1994/10/06  16:53:34  john
-- * Initial revision
-
-------------------------------------------------------------------------
-2d/scale.c:
-
-- * Revision 1.12  1995/03/14  15:14:11  john
-- * Increased max scanline length to 640.
-- * ..
-- * 
-- * Revision 1.11  1994/11/27  12:56:39  matt
-- * Took out unneeded include of 3d.h
-- * 
-- * Revision 1.10  1994/11/18  22:50:25  john
-- * Changed shorts to ints in parameters.
-- * 
-- * Revision 1.9  1994/11/09  16:35:02  john
-- * First version with working RLE bitmaps.
-- * 
-- * Revision 1.8  1994/06/09  13:15:17  john
-- * *** empty log message ***
-- * 
-- * Revision 1.7  1994/06/07  11:47:02  john
-- * Added back in the fast code for scaling up bitmaps.
-- * 
-- * Revision 1.6  1994/02/18  15:32:36  john
-- * *** empty log message ***
-- * 
-- * Revision 1.5  1994/01/22  14:35:01  john
-- * Added transparency as color index 255.
-- * 
-- * Revision 1.4  1994/01/17  16:59:12  john
-- * once again...
-- * 
-- * Revision 1.3  1994/01/17  16:51:17  john
-- * Added check so we don't draw outsibe
-- * the source bitmap's v coordinate... kind
-- * of a hack, but works.
-- * 
-- * Revision 1.2  1994/01/12  18:03:26  john
-- * The first iteration of fast scaler..
-- * 
-- * Revision 1.1  1994/01/11  14:48:42  john
-- * Initial revision
-
-------------------------------------------------------------------------
-2d/scalea.asm:
-
-; Revision 1.2  1994/01/12  18:02:52  john
-; Asm code for the scaler... first iteration here
-; has compiled code that works!!
-; 
-; Revision 1.1  1994/01/12  12:20:11  john
-; Initial revision
-
-------------------------------------------------------------------------
-3d/clipper.h:
-
-- * Revision 1.1  1995/05/05  08:50:13  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  19:56:58  matt
-- * Initial revision
-- * 
-- * 
-
-------------------------------------------------------------------------
-3d/globvars.c:
-
-- * Revision 1.2  1995/09/13  11:30:47  allender
-- * added fCanv_w2 and vCanv_h2 for PPC implementation
-- *
-- * Revision 1.1  1995/05/05  08:50:48  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  04:24:57  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-3d/globvars.h:
-
-- * Revision 1.2  1995/09/13  11:31:19  allender
-- * added fCanv_w2 and vCanv_h2 for PPC implementation
-- *
-- * Revision 1.1  1995/05/05  08:51:02  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  04:07:58  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-3d/instance.c:
-
-- * Revision 1.2  1995/06/12  12:36:57  allender
-- * fixed bug where g3_start_instance_angles recursively called itself
-- *
-- * Revision 1.1  1995/05/05  08:51:27  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  06:43:29  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-3d/interp.c:
-
-- * Revision 1.4  1995/10/10  22:20:09  allender
-- * new morphing code from Matt
-- *
-- * Revision 1.3  1995/08/31  15:40:24  allender
-- * swap color data correctly
-- *
-- * Revision 1.2  1995/05/11  13:06:38  allender
-- * fix int --> short problem
-- *
-- * Revision 1.1  1995/05/05  08:51:41  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  06:44:33  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-3d/matrix.c:
-
-- * Revision 1.1  1995/05/05  08:52:11  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  04:14:34  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-3d/points.c:
-
-- * Revision 1.3  1995/09/21  17:29:40  allender
-- * changed project_point to overflow if z <= 0
-- *
-- * Revision 1.2  1995/09/13  11:31:28  allender
-- * removed checkmuldiv from g3_project_point
-- *
-- * Revision 1.1  1995/05/05  08:52:35  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  04:32:25  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-3d/rod.c:
-
-- * Revision 1.2  1995/09/13  11:31:46  allender
-- * removed checkmuldiv in PPC implemenation
-- *
-- * Revision 1.1  1995/05/05  08:52:45  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  06:42:08  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-3d/setup.c:
-
-- * Revision 1.4  1995/10/11  00:27:04  allender
-- * bash free_num_points to 0
-- *
-- * Revision 1.3  1995/09/13  11:31:58  allender
-- * calc for fCanv_w2 and fCanv_h2
-- *
-- * Revision 1.2  1995/06/25  21:57:57  allender
-- * *** empty log message ***
-- *
-- * Revision 1.1  1995/05/05  08:52:54  allender
-- * Initial revision
-- *
-- * Revision 1.1  1995/04/17  03:59:01  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/bak/ipx.c:
-
-- * Revision 2.10  1995/03/29  17:27:55  john
-- * Added code to not duplicate broadcasts.
-- *
-- * Revision 2.9  1995/03/29  15:32:07  john
-- * NEatened.
-- *
-- * Revision 2.8  1995/03/29  15:07:31  john
-- * Added network support.
-- *
-- * Revision 2.7  1995/03/29  11:22:27  john
-- * Added broadcasting over a net.
-- *
-- * Revision 2.6  1995/03/28  20:05:03  john
-- * Took away alternate server stuff.
-- *
-- * Revision 2.5  1995/03/23  19:14:29  john
-- * Added better MAX_USERS message.
-- *
-- * Revision 2.4  1995/03/23  19:00:02  john
-- * Added user list capabitly.
-- *
-- * Revision 2.3  1995/03/23  12:27:05  john
-- * Move IPX into bios lib.
-- *
-- * Revision 2.2  1995/03/22  19:08:15  john
-- * Added code to fix sending packets over router... now
-- * we just need to make broadcasts go over router!!
-- *
-- * Revision 2.1  1995/03/21  08:40:16  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.0  1995/02/27  11:30:45  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.31  1995/02/16  17:35:03  john
-- * Added code to allow dynamic socket changing.
-- *
-- * Revision 1.30  1995/02/01  21:03:45  john
-- * Lintified.
-- *
-- * Revision 1.29  1995/01/22  14:31:05  john
-- * Added key.h
-- *
-- * Revision 1.28  1995/01/22  14:29:26  john
-- * Added code to bypass broadcast messages.
-- *
-- * Revision 1.27  1995/01/03  13:46:16  john
-- * Added code that should make ipx work over different servers,
-- * but ifdef'd it out with SHAREWARE in ipx.c.  I haven't tested
-- * this, and I hope it doesn't introduce net bugs.
-- *
-- * Revision 1.26  1994/12/14  11:54:37  rob
-- * Reduce # of ipx packets.
-- *
-- * Revision 1.25  1994/12/11  00:43:28  john
-- * Locked down DOS ipx buffers... probably not necessary, tho.
-- *
-- * Revision 1.24  1994/12/08  15:49:58  rob
-- * Bumped up the # of ipx packets.
-- *
-- * Revision 1.23  1994/12/04  15:23:54  rob
-- * Reduced packet # constants.
-- *
-- * Revision 1.22  1994/11/27  23:12:39  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.21  1994/11/19  15:15:19  mike
-- * remove unused code and data
-- *
-- * Revision 1.20  1994/11/10  11:06:07  rob
-- * Raised number of ipx packets to 64 and buffers to 128 (for 8-way games)
-- * Removed (commented out) all the spx support stuff.
-- *
-- * Revision 1.19  1994/11/07  17:50:12  rob
-- * Bumped up max_packets and ipx_num_packets to double their previous
-- * values.
-- *
-- * Revision 1.18  1994/11/07  15:39:01  rob
-- * Removed temporary hacked ipx_send_object function.
-- * Replaced with a more general thing.
-- *
-- * Revision 1.17  1994/11/05  16:08:40  rob
-- * Made a change necessary for object syncing on rejoin.
-- *
-- * Revision 1.16  1994/11/01  15:57:12  rob
-- * Added support for SPX sockets for critical messages.
-- *
-- * Revision 1.15  1994/10/31  19:21:01  rob
-- * Added a routine for sending objects via ipx.  Its a hack and shoukld
-- * be replaced by something more general time permitting.
-- *
-- * Revision 1.14  1994/10/20  14:57:42  john
-- * Some test stuff.
-- *
-- * Revision 1.13  1994/10/20  11:22:45  john
-- * Tweaked the number of waiting packets. Added code to print
-- * total packets missed, and to limit the packet send rate to
-- * 10 packets per second unless firing.
-- *
-- * Revision 1.12  1994/10/03  20:50:11  john
-- * Started adding sound pause functions.
-- *
-- * Revision 1.11  1994/09/15  08:54:24  mike
-- * comment out a mprintf.
-- *
-- * Revision 1.10  1994/09/12  19:38:20  john
-- * Made some stuff that prints to the DOS screen go to the
-- * mono instead, since it really is debugging info.
-- *
-- * Revision 1.9  1994/09/07  13:32:03  john
-- * Made ipx_close explicitly close the socket we were using,
-- * because it seems that VLM's don't automatically close them
-- * like the older NETX stuff did (Going from Novell 3.11 driver
-- * to 3.12 anyway).
-- *
-- * Revision 1.8  1994/09/06  19:29:20  john
-- * Added trial version of rejoin function.
-- *
-- * Revision 1.7  1994/08/09  19:31:50  john
-- * Networking changes.
-- *
-- * Revision 1.6  1994/08/05  16:11:41  john
-- * Psuedo working version of networking.
-- *
-- * Revision 1.5  1994/08/04  19:17:21  john
-- * Inbetween version of network stuff.
-- *
-- * Revision 1.4  1994/07/29  16:08:57  john
-- * *** empty log message ***
-- *
-- * Revision 1.3  1994/07/25  12:33:31  john
-- * Network "pinging" in.
-- *
-- * Revision 1.2  1994/07/20  15:58:28  john
-- * First installment of ipx stuff.
-- *
-- * Revision 1.1  1994/07/19  15:42:00  john
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/ipx.c:
-
-- * Revision 2.10  1995/03/29  17:27:55  john
-- * Added code to not duplicate broadcasts.
-- *
-- * Revision 2.9  1995/03/29  15:32:07  john
-- * NEatened.
-- *
-- * Revision 2.8  1995/03/29  15:07:31  john
-- * Added network support.
-- *
-- * Revision 2.7  1995/03/29  11:22:27  john
-- * Added broadcasting over a net.
-- *
-- * Revision 2.6  1995/03/28  20:05:03  john
-- * Took away alternate server stuff.
-- *
-- * Revision 2.5  1995/03/23  19:14:29  john
-- * Added better MAX_USERS message.
-- *
-- * Revision 2.4  1995/03/23  19:00:02  john
-- * Added user list capabitly.
-- *
-- * Revision 2.3  1995/03/23  12:27:05  john
-- * Move IPX into bios lib.
-- *
-- * Revision 2.2  1995/03/22  19:08:15  john
-- * Added code to fix sending packets over router... now
-- * we just need to make broadcasts go over router!!
-- *
-- * Revision 2.1  1995/03/21  08:40:16  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.0  1995/02/27  11:30:45  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.31  1995/02/16  17:35:03  john
-- * Added code to allow dynamic socket changing.
-- *
-- * Revision 1.30  1995/02/01  21:03:45  john
-- * Lintified.
-- *
-- * Revision 1.29  1995/01/22  14:31:05  john
-- * Added key.h
-- *
-- * Revision 1.28  1995/01/22  14:29:26  john
-- * Added code to bypass broadcast messages.
-- *
-- * Revision 1.27  1995/01/03  13:46:16  john
-- * Added code that should make ipx work over different servers,
-- * but ifdef'd it out with SHAREWARE in ipx.c.  I haven't tested
-- * this, and I hope it doesn't introduce net bugs.
-- *
-- * Revision 1.26  1994/12/14  11:54:37  rob
-- * Reduce # of ipx packets.
-- *
-- * Revision 1.25  1994/12/11  00:43:28  john
-- * Locked down DOS ipx buffers... probably not necessary, tho.
-- *
-- * Revision 1.24  1994/12/08  15:49:58  rob
-- * Bumped up the # of ipx packets.
-- *
-- * Revision 1.23  1994/12/04  15:23:54  rob
-- * Reduced packet # constants.
-- *
-- * Revision 1.22  1994/11/27  23:12:39  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.21  1994/11/19  15:15:19  mike
-- * remove unused code and data
-- *
-- * Revision 1.20  1994/11/10  11:06:07  rob
-- * Raised number of ipx packets to 64 and buffers to 128 (for 8-way games)
-- * Removed (commented out) all the spx support stuff.
-- *
-- * Revision 1.19  1994/11/07  17:50:12  rob
-- * Bumped up max_packets and ipx_num_packets to double their previous
-- * values.
-- *
-- * Revision 1.18  1994/11/07  15:39:01  rob
-- * Removed temporary hacked ipx_send_object function.
-- * Replaced with a more general thing.
-- *
-- * Revision 1.17  1994/11/05  16:08:40  rob
-- * Made a change necessary for object syncing on rejoin.
-- *
-- * Revision 1.16  1994/11/01  15:57:12  rob
-- * Added support for SPX sockets for critical messages.
-- *
-- * Revision 1.15  1994/10/31  19:21:01  rob
-- * Added a routine for sending objects via ipx.  Its a hack and shoukld
-- * be replaced by something more general time permitting.
-- *
-- * Revision 1.14  1994/10/20  14:57:42  john
-- * Some test stuff.
-- *
-- * Revision 1.13  1994/10/20  11:22:45  john
-- * Tweaked the number of waiting packets. Added code to print
-- * total packets missed, and to limit the packet send rate to
-- * 10 packets per second unless firing.
-- *
-- * Revision 1.12  1994/10/03  20:50:11  john
-- * Started adding sound pause functions.
-- *
-- * Revision 1.11  1994/09/15  08:54:24  mike
-- * comment out a mprintf.
-- *
-- * Revision 1.10  1994/09/12  19:38:20  john
-- * Made some stuff that prints to the DOS screen go to the
-- * mono instead, since it really is debugging info.
-- *
-- * Revision 1.9  1994/09/07  13:32:03  john
-- * Made ipx_close explicitly close the socket we were using,
-- * because it seems that VLM's don't automatically close them
-- * like the older NETX stuff did (Going from Novell 3.11 driver
-- * to 3.12 anyway).
-- *
-- * Revision 1.8  1994/09/06  19:29:20  john
-- * Added trial version of rejoin function.
-- *
-- * Revision 1.7  1994/08/09  19:31:50  john
-- * Networking changes.
-- *
-- * Revision 1.6  1994/08/05  16:11:41  john
-- * Psuedo working version of networking.
-- *
-- * Revision 1.5  1994/08/04  19:17:21  john
-- * Inbetween version of network stuff.
-- *
-- * Revision 1.4  1994/07/29  16:08:57  john
-- * *** empty log message ***
-- *
-- * Revision 1.3  1994/07/25  12:33:31  john
-- * Network "pinging" in.
-- *
-- * Revision 1.2  1994/07/20  15:58:28  john
-- * First installment of ipx stuff.
-- *
-- * Revision 1.1  1994/07/19  15:42:00  john
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/ipx.h:
-
-- * $Log: not supported by cvs2svn $
-- * Revision 1.1.1.1  2001/01/19 03:30:15  bradleyb
-- * Import of d2x-0.0.8
-- *
-- * Revision 1.1.1.1  1999/06/14 21:58:39  donut
-- * Import of d1x 1.37 source.
-- *
-- * Revision 2.6  1995/03/29  11:19:32  john
-- * Added broadcasting over a net.
-- * 
-- * Revision 2.5  1995/03/28  20:04:43  john
-- * Took away alternate server stuff.
-- * 
-- * Revision 2.4  1995/03/23  19:00:10  john
-- * Added user list capabitly.
-- * 
-- * Revision 2.3  1995/03/23  12:26:57  john
-- * Move IPX into bios lib.
-- * 
-- * Revision 2.2  1995/03/22  19:08:14  john
-- * Added code to fix sending packets over router... now
-- * we just need to make broadcasts go over router!!
-- * 
-- * Revision 2.1  1995/03/21  08:39:56  john
-- * Ifdef'd out the NETWORK code.
-- * 
-- * Revision 2.0  1995/02/27  11:30:16  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- * 
-- * Revision 1.16  1995/02/16  17:34:52  john
-- * Added code to allow dynamic socket changing.
-- * 
-- * Revision 1.15  1995/01/04  21:43:27  rob
-- * Remove SPX size definition.
-- * 
-- * Revision 1.14  1995/01/03  13:46:18  john
-- * Added code that should make ipx work over different servers,
-- * but ifdef'd it out with SHAREWARE in ipx.c.  I haven't tested
-- * this, and I hope it doesn't introduce net bugs.
-- * 
-- * Revision 1.13  1994/11/02  11:37:16  rob
-- * Changed default socket number to a higher regions.
-- * 
-- * Revision 1.12  1994/11/01  15:56:51  rob
-- * Added defines for SPX socketsx.
-- * 
-- * Revision 1.11  1994/10/31  19:23:31  rob
-- * Added a prototype for the new object send function.
-- * 
-- * Revision 1.10  1994/09/07  13:37:25  john
-- * Changed default socket to 0x4000, because 
-- * the ipx/spx book says that we can only use
-- * sockets 0x4000 - 0x7fff.
-- * 
-- * Revision 1.9  1994/08/25  18:14:45  matt
-- * Changed socket because of packet change
-- * 
-- * Revision 1.8  1994/08/12  22:42:24  john
-- * Took away Player_stats; added Players array.
-- * 
-- * Revision 1.7  1994/08/09  19:31:47  john
-- * Networking changes.
-- * 
-- * Revision 1.6  1994/08/05  16:11:46  john
-- * Psuedo working version of networking.
-- * 
-- * Revision 1.5  1994/08/04  19:17:20  john
-- * Inbetween version of network stuff.
-- * 
-- * Revision 1.4  1994/07/29  16:08:59  john
-- * *** empty log message ***
-- * 
-- * Revision 1.3  1994/07/25  12:33:22  john
-- * Network "pinging" in.
-- * 
-- * Revision 1.2  1994/07/20  15:58:29  john
-- * First installment of ipx stuff.
-- * 
-- * Revision 1.1  1994/07/19  15:43:05  john
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/joy.c:
-
-- * $Log: not supported by cvs2svn $
-- * Revision 1.5  2004/05/22 01:40:12  btb
-- * use JOY_NUM_AXES instead of 4 in joy_(get|set)_cal_vals (d1x r1.3, r1.4)
-- *
-- * Revision 1.4  2001/10/24 09:25:05  bradleyb
-- * Moved input stuff to arch subdirs, as in d1x.
-- *
-- * Revision 1.3  2001/01/29 14:03:56  bradleyb
-- * Fixed build, minor fixes
-- *
-- * Revision 1.2  2001/01/24 04:29:45  bradleyb
-- * changed args_find to FindArg
-- *
-- * Revision 1.1.1.2  2001/01/19 03:33:52  bradleyb
-- * Import of d2x-0.0.9-pre1
-- *
-- * Revision 1.1.1.1  1999/06/14 21:58:26  donut
-- * Import of d1x 1.37 source.
-- *
-- * Revision 1.37  1995/10/07  13:22:31  john
-- * Added new method of reading joystick that allows higher-priority
-- * interrupts to go off.
-- * 
-- * Revision 1.36  1995/03/30  11:03:40  john
-- * Made -JoyBios read buttons using BIOS.
-- * 
-- * Revision 1.35  1995/02/14  11:39:25  john
-- * Added polled/bios joystick readers..
-- * 
-- * Revision 1.34  1995/02/10  17:06:12  john
-- * Fixed bug with plugging in a joystick not getting detected.
-- * 
-- * Revision 1.33  1995/01/27  16:39:42  john
-- * Made so that if no joystick detected, it wont't
-- * read buttons.
-- * 
-- * Revision 1.32  1995/01/12  13:16:40  john
-- * Made it so that joystick can't lose an axis
-- * by 1 weird reading. Reading has to occurr during
-- * calibration for this to happen.
-- * 
-- * Revision 1.31  1994/12/28  15:56:03  john
-- * Fixed bug that refused to read joysticks whose 
-- * min,cen,max were less than 100 apart.
-- * 
-- * Revision 1.30  1994/12/28  15:31:53  john
-- * Added code to read joystick axis not all at one time.
-- * 
-- * Revision 1.29  1994/12/27  15:44:36  john
-- * Made the joystick timeout be at 1/100th of a second, 
-- * regardless of CPU speed.
-- * 
-- * Revision 1.28  1994/12/04  11:54:54  john
-- * Made stick read at whatever rate the clock is at, not
-- * at 18.2 times/second.
-- * 
-- * Revision 1.27  1994/11/29  02:25:40  john
-- * Made it so that the scaled reading returns 0 
-- * if the calibration factors look funny..
-- * 
-- * Revision 1.26  1994/11/22  11:08:07  john
-- * Commented out the ARCADE joystick.
-- * 
-- * Revision 1.25  1994/11/14  19:40:26  john
-- * Fixed bug with no joystick being detected.
-- * 
-- * Revision 1.24  1994/11/14  19:36:40  john
-- * Took out initial cheapy calibration.
-- * 
-- * Revision 1.23  1994/11/14  19:13:27  john
-- * Took out the calibration in joy_init
-- * 
-- * Revision 1.22  1994/10/17  10:09:57  john
-- * Made the state look at last_State, so that a joy_flush
-- * doesn't cause a new down state to be added next reading.
-- * 
-- * Revision 1.21  1994/10/13  11:36:23  john
-- * Made joy_down_time be kept track of in fixed seconds,
-- * not ticks.
-- * 
-- * Revision 1.20  1994/10/12  16:58:50  john
-- * Fixed bug w/ previous comment.
-- * 
-- * Revision 1.19  1994/10/12  16:57:44  john
-- * Added function to set a joystick button's state.
-- * 
-- * Revision 1.18  1994/10/11  10:20:13  john
-- * Fixed Flightstick Pro/
-- * ..
-- * 
-- * Revision 1.17  1994/09/29  18:29:20  john
-- * *** empty log message ***
-- * 
-- * Revision 1.16  1994/09/27  19:17:23  john
-- * Added code so that is joy_init is never called, joystick is not
-- * used at all.
-- * 
-- * Revision 1.15  1994/09/22  16:09:23  john
-- * Fixed some virtual memory lockdown problems with timer and
-- * joystick.
-- * 
-- * Revision 1.14  1994/09/16  11:44:42  john
-- * Fixed bug with slow joystick.
-- * 
-- * Revision 1.13  1994/09/16  11:36:15  john
-- * Fixed bug with reading non-present channels.
-- * 
-- * Revision 1.12  1994/09/15  20:52:48  john
-- * rme john
-- * Added support for the Arcade style joystick.
-- * 
-- * Revision 1.11  1994/09/13  20:04:49  john
-- * Fixed bug with joystick button down_time.
-- * 
-- * Revision 1.10  1994/09/10  13:48:07  john
-- * Made all 20 buttons read.
-- * 
-- * Revision 1.9  1994/08/31  09:55:02  john
-- * *** empty log message ***
-- * 
-- * Revision 1.8  1994/08/29  21:02:14  john
-- * Added joy_set_cal_values...
-- * 
-- * Revision 1.7  1994/08/29  20:52:17  john
-- * Added better cyberman support; also, joystick calibration
-- * value return funcctiionn,
-- * 
-- * Revision 1.6  1994/08/24  18:53:12  john
-- * Made Cyberman read like normal mouse; added dpmi module; moved
-- * mouse from assembly to c. Made mouse buttons return time_down.
-- * 
-- * Revision 1.5  1994/07/14  22:12:23  john
-- * Used intrinsic forms of outp to fix vmm error.
-- * 
-- * Revision 1.4  1994/07/07  19:52:59  matt
-- * Made joy_init() return success/fail flag
-- * Made joy_init() properly detect a stick if one is plugged in after joy_init()
-- * was called the first time.
-- * 
-- * Revision 1.3  1994/07/01  10:55:55  john
-- * Fixed some bugs... added support for 4 axis.
-- * 
-- * Revision 1.2  1994/06/30  20:36:55  john
-- * Revamped joystick code.
-- * 
-- * Revision 1.1  1994/06/30  15:42:15  john
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/joydefs.c:
-
-- * $Log: not supported by cvs2svn $
-- * Revision 1.3  2001/10/24 09:25:05  bradleyb
-- * Moved input stuff to arch subdirs, as in d1x.
-- *
-- * Revision 1.2  2001/01/29 14:03:57  bradleyb
-- * Fixed build, minor fixes
-- *
-- * Revision 1.1.1.2  2001/01/19 03:33:52  bradleyb
-- * Import of d2x-0.0.9-pre1
-- *
-- * Revision 1.1.1.1  1999/06/14 21:58:29  donut
-- * Import of d1x 1.37 source.
-- *
-- * Revision 2.2  1995/06/30  12:30:22  john
-- * Added -Xname command line.
-- * 
-- * Revision 2.1  1995/04/06  12:13:20  john
-- * Made so you can calibrate Gravis Gamepad.
-- * 
-- * Revision 2.0  1995/02/27  11:30:27  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- * 
-- * Revision 1.71  1995/02/12  02:06:10  john
-- * Fixed bug with joystick incorrectly asking for
-- * calibration.
-- * 
-- * Revision 1.70  1995/01/28  15:58:07  john
-- * Made joystick calibration be only when wrong detected in
-- * menu or joystick axis changed.
-- * 
-- * Revision 1.69  1995/01/25  14:37:55  john
-- * Made joystick only prompt for calibration once...
-- * 
-- * Revision 1.68  1995/01/24  16:34:29  john
-- * Made so that if you reconfigure joystick and
-- * add or subtract an axis, it asks for a recalibration
-- * upon leaving.
-- * 
-- * Revision 1.67  1994/12/29  11:08:51  john
-- * Fixed Thrustmaster and Logitech Wingman extreme
-- * Hat by reading the y2 axis during the center stage
-- * of the calibration, and using 75, 50, 27, and 3 %
-- * as values for the 4 positions.
-- * 
-- * Revision 1.66  1994/12/15  18:17:39  john
-- * Fixed warning with previous.
-- * 
-- * Revision 1.65  1994/12/15  18:15:48  john
-- * Made the joy cal only write the .cfg file, not
-- * the player file.
-- * 
-- * Revision 1.64  1994/12/13  14:43:35  john
-- * Took out the code in kconfig to build direction array.
-- * Called kc_set_controls after selecting a new control type.
-- * 
-- * Revision 1.63  1994/12/10  12:08:47  john
-- * Changed some delays to use TICKER instead of timer_get_fixed_seconds.
-- * 
-- * Revision 1.62  1994/12/09  11:01:07  mike
-- * force calibration of joystick on joystick selection from Controls... menu.
-- * 
-- * Revision 1.61  1994/12/07  21:50:27  john
-- * Put stop/start time around joystick delay.
-- * 
-- * Revision 1.60  1994/12/07  19:34:39  john
-- * Added delay.
-- * 
-- * Revision 1.59  1994/12/07  18:12:14  john
-- * NEatened up joy cal.,
-- * 
-- * Revision 1.58  1994/12/07  17:07:51  john
-- * Fixed up joy cal.
-- * 
-- * Revision 1.57  1994/12/07  16:48:53  yuan
-- * localization
-- * 
-- * Revision 1.56  1994/12/07  16:05:55  john
-- * Changed the way joystick calibration works.
-- * 
-- * Revision 1.55  1994/12/06  20:15:22  john
-- * Took out code that unpauses songs that were never paused.
-- * 
-- * Revision 1.54  1994/12/06  15:14:09  yuan
-- * Localization
-- * 
-- * Revision 1.53  1994/12/05  16:29:16  john
-- * Took out music pause around the cheat menu.
-- * 
-- * Revision 1.52  1994/12/04  12:39:10  john
-- * MAde so that FCS calibration doesn't ask for axis #2.
-- * 
-- * Revision 1.51  1994/12/03  15:14:59  john
-- * Took out the delay mentioned previosuly cause it would
-- * cause bigger problems than it helps, especially with netgames.
-- * 
-- * Revision 1.50  1994/12/03  14:16:14  john
-- * Put a delay between screens in joy cal to keep Yuan from
-- * double hitting.
-- * 
-- * Revision 1.49  1994/12/03  11:04:06  john
-- * Changed newmenu code a bit to fix bug with bogus
-- * backgrounds occcasionally.
-- * 
-- * Revision 1.48  1994/12/02  11:03:44  yuan
-- * Localization.
-- * 
-- * Revision 1.47  1994/12/02  10:50:33  yuan
-- * Localization
-- * 
-- * Revision 1.46  1994/12/01  12:21:59  john
-- * Added code to calibrate 2 joysticks separately.
-- * 
-- * Revision 1.45  1994/12/01  11:52:31  john
-- * Added message when you select FCS to say that if
-- * you have WCS, see manuel.
-- * 
-- * Revision 1.44  1994/11/29  02:26:28  john
-- * Made the prompts for upper-left, lower right for joy
-- * calibration more obvious.
-- * 
-- * Revision 1.43  1994/11/26  13:13:59  matt
-- * Changed "none" option to "keyboard only"
-- * 
-- * Revision 1.42  1994/11/21  19:35:13  john
-- * Replaced calls to joy_init with if (joy_present)
-- * 
-- * Revision 1.41  1994/11/21  19:28:34  john
-- * Changed warning for no joystick to use nm_messagebox..
-- * 
-- * Revision 1.40  1994/11/21  19:06:25  john
-- * Made it so that it only stops sound when your in game mode. 
-- * 
-- * Revision 1.39  1994/11/21  11:47:18  john
-- * Made sound pause during joystick calibration.
-- * 
-- * Revision 1.38  1994/11/10  20:34:18  rob
-- * Removed menu-specific network mode support in favor in new stuff
-- * in newmenu.c
-- * 
-- * Revision 1.37  1994/11/08  21:21:38  john
-- * Made Esc exit joystick calibration.
-- * 
-- * Revision 1.36  1994/11/08  15:14:42  john
-- * Added more calls so net doesn't die in net game.
-- * 
-- * Revision 1.35  1994/11/08  14:59:12  john
-- * Added code to respond to network while in menus.
-- * 
-- * Revision 1.34  1994/10/24  19:56:32  john
-- * Made the new user setup prompt for config options.
-- * 
-- * Revision 1.33  1994/10/22  14:11:52  mike
-- * Suppress compiler warning message.
-- * 
-- * Revision 1.32  1994/10/19  12:44:24  john
-- * Added hours field to player structure.
-- * 
-- * Revision 1.31  1994/10/17  13:07:13  john
-- * Moved the descent.cfg info into the player config file.
-- * 
-- * Revision 1.30  1994/10/13  21:41:12  john
-- * MAde Esc exit out of joystick calibration.
-- * 
-- * Revision 1.29  1994/10/13  19:22:27  john
-- * Added separate config saves for different devices.
-- * Made all the devices work together better, such as mice won't
-- * get read when you're playing with the joystick.
-- * 
-- * Revision 1.28  1994/10/13  11:40:18  john
-- * Took out warnings.
-- * 
-- * Revision 1.27  1994/10/13  11:35:23  john
-- * Made Thrustmaster FCS Hat work.  Put a background behind the
-- * keyboard configure.  Took out turn_sensitivity.  Changed sound/config
-- * menu to new menu. Made F6 be calibrate joystick.
-- * 
-- * Revision 1.26  1994/10/11  21:29:03  matt
-- * Made a bunch of menus have good initial selected values
-- * 
-- * Revision 1.25  1994/10/11  17:08:39  john
-- * Added sliders for volume controls.
-- * 
-- * Revision 1.24  1994/10/10  17:59:21  john
-- * Neatend previous.
-- * 
-- * Revision 1.23  1994/10/10  17:57:59  john
-- * Neatend previous.
-- * 
-- * Revision 1.22  1994/10/10  17:56:11  john
-- * Added messagebox that tells that config has been saved.
-- * 
-- * Revision 1.21  1994/09/30  12:37:26  john
-- * Added midi,digi volume to configuration.
-- * 
-- * Revision 1.20  1994/09/22  16:14:14  john
-- * Redid intro sequecing.
-- * 
-- * Revision 1.19  1994/09/19  18:50:15  john
-- * Added switch to disable joystick.
-- * 
-- * Revision 1.18  1994/09/12  11:47:36  john
-- * Made stupid cruise work better.  Make kconfig values get
-- * read/written to disk.
-- * 
-- * Revision 1.17  1994/09/10  15:46:47  john
-- * First version of new keyboard configuration.
-- * 
-- * Revision 1.16  1994/09/06  19:35:44  john
-- * Fixed bug that didn';t load new size .cal file.
-- * 
-- * Revision 1.15  1994/09/06  14:51:58  john
-- * Added sensitivity adjustment, fixed bug with joystick button not
-- * staying down.
-- * 
-- * Revision 1.14  1994/09/02  16:13:47  john
-- * Made keys fill in position.
-- * 
-- * Revision 1.13  1994/08/31  17:58:50  john
-- * Made a bit simpler.
-- * 
-- * Revision 1.12  1994/08/31  14:17:54  john
-- * *** empty log message ***
-- * 
-- * Revision 1.11  1994/08/31  14:10:56  john
-- * Made keys not work when KEY_DELETE pressed.
-- * 
-- * Revision 1.10  1994/08/31  13:40:47  mike
-- * Change constant
-- * 
-- * Revision 1.9  1994/08/31  12:56:27  john
-- * *** empty log message ***
-- * 
-- * Revision 1.8  1994/08/30  20:38:29  john
-- * Add more config stuff..
-- * 
-- * Revision 1.7  1994/08/30  16:37:25  john
-- * Added menu options to set controls.
-- * 
-- * Revision 1.6  1994/08/30  09:27:18  john
-- * *** empty log message ***
-- * 
-- * Revision 1.5  1994/08/30  09:12:01  john
-- * *** empty log message ***
-- * 
-- * Revision 1.4  1994/08/29  21:18:32  john
-- * First version of new keyboard/oystick remapping stuff.
-- * 
-- * Revision 1.3  1994/08/24  19:00:29  john
-- * Changed key_down_time to return fixed seconds instead of
-- * milliseconds.
-- * 
-- * Revision 1.2  1994/08/17  16:50:37  john
-- * Added damaging fireballs, missiles.
-- * 
-- * Revision 1.1  1994/08/17  10:07:12  john
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/key.c:
-
-- * $Log: not supported by cvs2svn $
-- * Revision 1.3  2001/10/24 09:25:05  bradleyb
-- * Moved input stuff to arch subdirs, as in d1x.
-- *
-- * Revision 1.3  2001/01/31 14:04:44  bradleyb
-- * Fix compiler warnings
-- *
-- * Revision 1.2  2001/01/29 14:03:57  bradleyb
-- * Fixed build, minor fixes
-- *
-- * Revision 1.1.1.2  2001/01/19 03:33:52  bradleyb
-- * Import of d2x-0.0.9-pre1
-- *
-- * Revision 1.1.1.1  1999/06/14 21:58:32  donut
-- * Import of d1x 1.37 source.
-- *
-- * Revision 1.35  1995/01/25  20:13:30  john
-- * Took out not passing keys to debugger if w10.
-- * 
-- * Revision 1.34  1995/01/14  19:19:31  john
-- * Made so when you press Shift+Baskspace, it release keys autmatically.
-- * 
-- * Revision 1.33  1994/12/13  09:21:48  john
-- * Took out keyd_editor_mode, and KEY_DEBUGGED stuff for NDEBUG versions.
-- * 
-- * Revision 1.32  1994/11/12  13:52:01  john
-- * Fixed bug with code that cleared bios buffer.
-- * 
-- * Revision 1.31  1994/10/24  15:16:16  john
-- * Added code to detect KEY_PAUSE.
-- * 
-- * Revision 1.30  1994/10/24  13:57:53  john
-- * Hacked in support for pause key onto code 0x61.
-- * 
-- * Revision 1.29  1994/10/21  15:18:13  john
-- * *** empty log message ***
-- * 
-- * Revision 1.28  1994/10/21  15:17:24  john
-- * Made LSHIFT+BACKSPACE do what PrtScr used to.
-- * 
-- * Revision 1.27  1994/09/22  16:09:18  john
-- * Fixed some virtual memory lockdown problems with timer and
-- * joystick.
-- * 
-- * Revision 1.26  1994/09/15  21:32:47  john
-- * Added bounds checking for down_count scancode
-- * parameter.
-- * 
-- * Revision 1.25  1994/08/31  12:22:20  john
-- * Added KEY_DEBUGGED
-- * 
-- * Revision 1.24  1994/08/24  18:53:48  john
-- * Made Cyberman read like normal mouse; added dpmi module; moved
-- * mouse from assembly to c. Made mouse buttons return time_down.
-- * 
-- * Revision 1.23  1994/08/18  15:17:51  john
-- * *** empty log message ***
-- * 
-- * Revision 1.22  1994/08/18  15:16:38  john
-- * fixed some bugs with clear_key_times and then
-- * removed it because i fixed key_flush to do the
-- * same.
-- * 
-- * Revision 1.21  1994/08/17  19:01:25  john
-- * Attempted to fix a bug with a key being held down
-- * key_flush called, then the key released having too 
-- * long of a time.
-- * 
-- * Revision 1.20  1994/08/08  10:43:48  john
-- * Recorded when a key was pressed for key_inkey_time.
-- * 
-- * Revision 1.19  1994/06/22  15:00:03  john
-- * Made keyboard close automatically on exit.
-- * 
-- * Revision 1.18  1994/06/21  09:16:29  john
-- * *** empty log message ***
-- * 
-- * Revision 1.17  1994/06/21  09:08:23  john
-- * *** empty log message ***
-- * 
-- * Revision 1.16  1994/06/21  09:05:01  john
-- * *** empty log message ***
-- * 
-- * Revision 1.15  1994/06/21  09:04:24  john
-- * Made PrtScreen do an int5
-- * 
-- * Revision 1.14  1994/06/17  17:17:06  john
-- * Added keyd_time_last_key_was_pressed or something like that.
-- * 
-- * Revision 1.13  1994/05/14  13:55:16  matt
-- * Added #define to control key passing to bios
-- * 
-- * Revision 1.12  1994/05/05  18:09:39  john
-- * Took out BIOS to prevent stuck keys.
-- * 
-- * Revision 1.11  1994/05/03  17:39:12  john
-- * *** empty log message ***
-- * 
-- * Revision 1.10  1994/04/29  12:14:20  john
-- * Locked all memory used during interrupts so that program
-- * won't hang when using virtual memory.
-- * 
-- * Revision 1.9  1994/04/28  23:49:41  john
-- * Made key_flush flush more keys and also did something else but i forget what.
-- * 
-- * Revision 1.8  1994/04/22  12:52:12  john
-- * *** empty log message ***
-- * 
-- * Revision 1.7  1994/04/01  10:44:59  mike
-- * Change key_getch() to call getch() if our interrupt hasn't been installed.
-- * 
-- * Revision 1.6  1994/03/09  10:45:48  john
-- * Neatend code a bit.
-- * 
-- * Revision 1.5  1994/02/17  17:24:16  john
-- * Neatened up a bit.
-- * 
-- * Revision 1.4  1994/02/17  16:30:29  john
-- * Put in code to pass keys when in debugger.
-- * 
-- * Revision 1.3  1994/02/17  15:57:59  john
-- * Made handler not chain to BIOS handler.
-- * 
-- * Revision 1.2  1994/02/17  15:56:06  john
-- * Initial version.
-- * 
-- * Revision 1.1  1994/02/17  15:54:07  john
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/mono.c:
-
-- * $Log: not supported by cvs2svn $
-- * Revision 1.1.1.1  2001/01/19 03:30:15  bradleyb
-- * Import of d2x-0.0.8
-- *
-- * Revision 1.1.1.1  1999/06/14 21:58:35  donut
-- * Import of d1x 1.37 source.
-- *
-- * Revision 1.12  1995/02/23  11:59:57  john
-- * Made the windows smaller so they don't overwrite the debug file menus.
-- * 
-- * Revision 1.11  1994/11/27  23:07:50  matt
-- * Made changes needed to be able to compile out monochrome debugging code
-- * 
-- * Revision 1.10  1994/10/26  22:23:43  john
-- * Limited windows to 2.  Took away saving what was under
-- * a window.
-- * 
-- * Revision 1.9  1994/07/14  23:25:44  matt
-- * Allow window 0 to be opened; don't allow mono to be initialized twice
-- * 
-- * Revision 1.8  1994/03/09  10:45:38  john
-- * Sped up scroll.
-- * 
-- * Revision 1.7  1994/01/26  08:56:55  mike
-- * Comment out int3 in mputc.
-- * 
-- * Revision 1.6  1994/01/12  15:56:34  john
-- * made backspace do an int3 during mono stuff.
-- * .,
-- * 
-- * Revision 1.5  1993/12/07  12:33:23  john
-- * *** empty log message ***
-- * 
-- * Revision 1.4  1993/10/15  10:10:25  john
-- * *** empty log message ***
-- * 
-- * Revision 1.3  1993/09/14  20:55:13  matt
-- * Made minit() and mopen() check for presence of mono card in machine.
-- * 
-- * Revision 1.2  1993/07/22  13:10:21  john
-- * *** empty log message ***
-- * 
-- * Revision 1.1  1993/07/10  13:10:38  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/mono.h:
-
-- * Revision 1.6  1994/12/03  17:07:37  matt
-- * Made mono code turn off with either NDEBUG or NMONO
-- * 
-- * Revision 1.5  1994/11/27  23:07:28  matt
-- * Made changes needed to be able to compile out monochrome debugging code
-- * 
-- * Revision 1.4  1993/12/07  12:33:28  john
-- * *** empty log message ***
-- * 
-- * Revision 1.3  1993/09/14  20:54:50  matt
-- * Made minit() check for mono card, return -1 if present, 0 if not
-- * 
-- * Revision 1.2  1993/07/22  13:05:40  john
-- * added macros to print variables
-- * 
-- * Revision 1.1  1993/07/10  13:10:40  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/dos/mouse.c:
-
-- * Revision 1.11  1995/02/10  18:52:17  john
-- * Fixed bug with mouse not getting closed.
-- *
-- * Revision 1.10  1995/02/02  11:10:33  john
-- * Changed a bunch of mouse stuff around to maybe get
-- * around PS/2 mouse hang.
-- *
-- * Revision 1.9  1995/01/14  19:19:52  john
-- * Fixed signed short error cmp with -1 that caused mouse
-- * to break under Watcom 10.0
-- *
-- * Revision 1.8  1994/12/27  12:38:23  john
-- * Made mouse use temporary dos buffer instead of
-- *
-- * allocating its own.
-- *
-- *
-- * Revision 1.7  1994/12/05  23:54:53  john
-- * Fixed bug with mouse_get_delta only returning positive numbers..
-- *
-- * Revision 1.6  1994/11/18  23:18:18  john
-- * Changed some shorts to ints.
-- *
-- * Revision 1.5  1994/09/13  12:34:02  john
-- * Added functions to get down count and state.
-- *
-- * Revision 1.4  1994/08/29  20:52:19  john
-- * Added better cyberman support; also, joystick calibration
-- * value return funcctiionn,
-- *
-- * Revision 1.3  1994/08/24  18:54:32  john
-- * *** empty log message ***
-- *
-- * Revision 1.2  1994/08/24  18:53:46  john
-- * Made Cyberman read like normal mouse; added dpmi module; moved
-- * mouse from assembly to c. Made mouse buttons return time_down.
-- *
-- * Revision 1.1  1994/08/24  13:56:37  john
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/include/joy.h:
-
-- * Revision 1.17  1995/10/07  13:22:30  john
-- * Added new method of reading joystick that allows higher-priority
-- * interrupts to go off.
-- *
-- * Revision 1.16  1995/02/14  11:17:13  john
-- * Added BIOS readings for stick.
-- *
-- * Revision 1.15  1995/02/14  10:09:58  john
-- * Added OS2 switch.
-- *
-- * Revision 1.14  1994/12/28  13:49:20  john
-- * Added function to set joystick for slow reading
-- *
-- * Revision 1.13  1994/10/13  11:36:06  john
-- * Made joy_down_time be kept track of in fixed seconds,
-- * not ticks.
-- *
-- * Revision 1.12  1994/10/12  17:03:16  john
-- * Added prototype for joy_get_scaled_reading.
-- *
-- * Revision 1.11  1994/10/12  16:57:55  john
-- * Added function to set a joystick button's state.
-- *
-- * Revision 1.10  1994/09/22  16:09:00  john
-- * Fixed some virtual memory lockdown problems with timer and
-- * joystick.
-- *
-- * Revision 1.9  1994/08/31  09:54:57  john
-- * *** empty log message ***
-- *
-- * Revision 1.8  1994/08/29  21:02:24  john
-- * Added joy_set_cal_values...
-- *
-- * Revision 1.7  1994/08/29  20:51:52  john
-- * Added better cyberman support; also, joystick calibration
-- * value return funcctiionn,
-- *
-- * Revision 1.6  1994/07/01  10:55:44  john
-- * Fixed some bugs... added support for 4 axis.
-- *
-- * Revision 1.5  1994/06/30  20:36:51  john
-- * Revamped joystick code.
-- *
-- * Revision 1.4  1994/04/22  12:52:10  john
-- * *** empty log message ***
-- *
-- * Revision 1.3  1994/01/18  13:53:39  john
-- * Made all joystick functions return int's instead of
-- * shorts.  Also made the stick reading be CPU speed
-- * independant by using the timer_get_Stamp_64
-- * function.
-- *
-- * Revision 1.2  1994/01/18  10:58:42  john
-- * *** empty log message ***
-- *
-- * Revision 1.1  1993/07/10  13:10:39  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/win32/include/key.h:
-
-- * Revision 1.19  1994/10/24  13:58:12  john
-- * Hacked in support for pause key onto code 0x61.
-- * 
-- * Revision 1.18  1994/10/21  15:17:10  john
-- * Added KEY_PRINT_SCREEN
-- * 
-- * Revision 1.17  1994/08/31  12:22:13  john
-- * Added KEY_DEBUGGED
-- * 
-- * Revision 1.16  1994/08/24  18:53:50  john
-- * Made Cyberman read like normal mouse; added dpmi module; moved
-- * mouse from assembly to c. Made mouse buttons return time_down.
-- * 
-- * Revision 1.15  1994/08/18  14:56:16  john
-- * *** empty log message ***
-- * 
-- * Revision 1.14  1994/08/08  10:43:24  john
-- * Recorded when a key was pressed for key_inkey_time.
-- * 
-- * Revision 1.13  1994/06/17  17:17:28  john
-- * Added keyd_time_last_key_was_pressed or something like that.
-- * 
-- * Revision 1.12  1994/04/29  12:14:19  john
-- * Locked all memory used during interrupts so that program
-- * won't hang when using virtual memory.
-- * 
-- * Revision 1.11  1994/02/17  15:57:14  john
-- * Changed key libary to C.
-- * 
-- * Revision 1.10  1994/01/31  08:34:09  john
-- * Fixed reversed lshift/rshift keys.
-- * 
-- * Revision 1.9  1994/01/18  10:58:17  john
-- * *** empty log message ***
-- * 
-- * Revision 1.8  1993/10/16  19:24:43  matt
-- * Added new function key_clear_times() & key_clear_counts()
-- * 
-- * Revision 1.7  1993/10/15  10:17:09  john
-- * added keyd_last_key_pressed and released for use with recorder.
-- * 
-- * Revision 1.6  1993/10/06  16:20:37  john
-- * fixed down arrow bug
-- * 
-- * Revision 1.5  1993/10/04  13:26:42  john
-- * changed the #defines for scan codes.
-- * 
-- * Revision 1.4  1993/09/28  11:35:20  john
-- * added key_peekkey
-- * 
-- * Revision 1.3  1993/09/20  18:36:43  john
-- * *** empty log message ***
-- * 
-- * Revision 1.1  1993/07/10  13:10:39  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/win32/include/mouse.h:
-
-- * Revision 1.10  1995/02/02  10:22:29  john
-- * Added cyberman init parameter.
-- * 
-- * Revision 1.9  1994/11/18  23:18:09  john
-- * Changed some shorts to ints.
-- * 
-- * Revision 1.8  1994/09/13  12:33:49  john
-- * Added functions to get down count and state.
-- * 
-- * Revision 1.7  1994/08/29  20:52:20  john
-- * Added better cyberman support; also, joystick calibration
-- * value return funcctiionn,
-- * 
-- * Revision 1.6  1994/08/24  17:54:35  john
-- * *** empty log message ***
-- * 
-- * Revision 1.5  1994/08/24  17:51:43  john
-- * Added transparent cyberman support
-- * 
-- * Revision 1.4  1993/07/27  09:32:22  john
-- * *** empty log message ***
-- * 
-- * Revision 1.3  1993/07/26  10:46:44  john
-- * added definition for mouse_set_pos
-- * 
-- * Revision 1.2  1993/07/22  13:07:59  john
-- * added header for mousesetlimts
-- * 
-- * Revision 1.1  1993/07/10  13:10:40  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-arch/win32/mouse.c:
-
-- * Old Log:
-- * Revision 1.8  1996/02/21  13:57:36  allender
-- * cursor device manager stuff added here so as not to
-- * rely on InterfaceLib anymore
-- *
-- * Revision 1.7  1995/10/17  15:42:21  allender
-- * new mouse function to determine single button press
-- *
-- * Revision 1.6  1995/10/03  11:27:31  allender
-- * fixed up hotspot problems with the mouse on multiple monitors
-- *
-- * Revision 1.5  1995/07/13  11:27:08  allender
-- * trap button checks at MAX_MOUSE_BUTTONS
-- *
-- * Revision 1.4  1995/06/25  21:56:53  allender
-- * added events include
-- *
-- * Revision 1.3  1995/05/11  17:06:38  allender
-- * fixed up mouse routines
-- *
-- * Revision 1.2  1995/05/11  13:05:53  allender
-- * of mouse handler code
-- *
-- * Revision 1.1  1995/05/05  09:54:45  allender
-- * Initial revision
-- *
-- * Revision 1.9  1995/01/14  19:19:52  john
-- * Fixed signed short error cmp with -1 that caused mouse
-- * to break under Watcom 10.0
-- *
-- * Revision 1.8  1994/12/27  12:38:23  john
-- * Made mouse use temporary dos buffer instead of
-- *
-- * allocating its own.
-- *
-- * Revision 1.7  1994/12/05  23:54:53  john
-- * Fixed bug with mouse_get_delta only returning positive numbers..
-- *
-- * Revision 1.6  1994/11/18  23:18:18  john
-- * Changed some shorts to ints.
-- *
-- * Revision 1.5  1994/09/13  12:34:02  john
-- * Added functions to get down count and state.
-- *
-- * Revision 1.4  1994/08/29  20:52:19  john
-- * Added better cyberman support; also, joystick calibration
-- * value return funcctiionn,
-- *
-- * Revision 1.3  1994/08/24  18:54:32  john
-- * *** empty log message ***
-- *
-- * Revision 1.2  1994/08/24  18:53:46  john
-- * Made Cyberman read like normal mouse; added dpmi module; moved
-- * mouse from assembly to c. Made mouse buttons return time_down.
-- *
-- * Revision 1.1  1994/08/24  13:56:37  john
-- * Initial revision
-
-------------------------------------------------------------------------
-cfile/cfile.c:
-
-- * Revision 1.7  1995/10/27  15:18:20  allender
-- * get back to descent directory before trying to read a hog file
-- *
-- * Revision 1.6  1995/10/21  23:48:24  allender
-- * hogfile(s) are now in :Data: folder
-- *
-- * Revision 1.5  1995/08/14  09:27:31  allender
-- * added byteswap header
-- *
-- * Revision 1.4  1995/05/12  11:54:33  allender
-- * changed memory stuff again
-- *
-- * Revision 1.3  1995/05/04  20:03:38  allender
-- * added code that was missing...use NewPtr instead of malloc
-- *
-- * Revision 1.2  1995/04/03  09:59:49  allender
-- * *** empty log message ***
-- *
-- * Revision 1.1  1995/03/30  10:25:02  allender
-- * Initial revision
-- *
-- *
-- * --- PC RCS Information ---
-- * Revision 1.24  1995/03/15  14:20:27  john
-- * Added critical error checker.
-- *
-- * Revision 1.23  1995/03/13  15:16:53  john
-- * Added alternate directory stuff.
-- *
-- * Revision 1.22  1995/02/09  23:08:47  matt
-- * Increased the max number of files in hogfile to 250
-- *
-- * Revision 1.21  1995/02/01  20:56:47  john
-- * Added cfexist function
-- *
-- * Revision 1.20  1995/01/21  17:53:48  john
-- * Added alternate pig file thing.
-- *
-- * Revision 1.19  1994/12/29  15:10:02  john
-- * Increased hogfile max files to 200.
-- *
-- * Revision 1.18  1994/12/12  13:20:57  john
-- * Made cfile work with fiellentth.
-- *
-- * Revision 1.17  1994/12/12  13:14:25  john
-- * Made cfiles prefer non-hog files.
-- *
-- * Revision 1.16  1994/12/09  18:53:26  john
-- * *** empty log message ***
-- *
-- * Revision 1.15  1994/12/09  18:52:56  john
-- * Took out mem, error checking.
-- *
-- * Revision 1.14  1994/12/09  18:10:31  john
-- * Speed up cfgets, which was slowing down the reading of
-- * bitmaps.tbl, which was making POF loading look slow.
-- *
-- * Revision 1.13  1994/12/09  17:53:51  john
-- * Added error checking to number of hogfiles..
-- *
-- * Revision 1.12  1994/12/08  19:02:55  john
-- * Added cfgets.
-- *
-- * Revision 1.11  1994/12/07  21:57:48  john
-- * Took out data dir.
-- *
-- * Revision 1.10  1994/12/07  21:38:02  john
-- * Made cfile not return error..
-- *
-- * Revision 1.9  1994/12/07  21:35:34  john
-- * Made it read from data directory.
-- *
-- * Revision 1.8  1994/12/07  21:33:55  john
-- * Stripped out compression stuff...
-- *
-- * Revision 1.7  1994/04/13  23:44:59  matt
-- * When file cannot be opened, free up the buffer for that file.
-- *
-- * Revision 1.6  1994/02/18  12:38:20  john
-- * Optimized a bit
-- *
-- * Revision 1.5  1994/02/15  18:13:20  john
-- * Fixed more bugs.
-- *
-- * Revision 1.4  1994/02/15  13:27:58  john
-- * Works ok...
-- *
-- * Revision 1.3  1994/02/15  12:51:57  john
-- * Crappy inbetween version
-- *
-- * Revision 1.2  1994/02/14  20:12:29  john
-- * First version working with new cfile stuff.
-- *
-- * Revision 1.1  1994/02/14  15:51:33  john
-- * Initial revision
-- *
-- * Revision 1.1  1994/02/10  15:45:12  john
-- * Initial revision
-
-------------------------------------------------------------------------
-iff/iff.c:
-
-- * Revision 1.2  1995/05/12  11:54:43  allender
-- * changed memory stuff again
-- *
-- * Revision 1.1  1995/05/05  08:59:41  allender
-- * Initial revision
-- *
-- * Revision 1.43  1994/12/08  19:03:17  john
-- * Added code to use cfile.
-- *
-- * Revision 1.42  1994/12/08  17:45:32  john
-- * Put back in cfile stuff.
-- *
-- * Revision 1.41  1994/11/19  16:41:06  matt
-- * Took out unused code
-- *
-- * Revision 1.40  1994/11/07  21:26:39  matt
-- * Added new function iff_read_into_bitmap()
-- *
-- * Revision 1.39  1994/10/27  00:12:03  john
-- * Used nocfile
-- *
-- * Revision 1.38  1994/08/10  19:49:58  matt
-- * Fixed bitmaps in ILBM format with masking (stencil) on.
-- *
-- * Revision 1.37  1994/06/02  18:53:17  matt
-- * Clear flags & selector in new bitmap structure
-- *
-- * Revision 1.36  1994/05/17  14:00:33  matt
-- * Fixed bug with odd-width deltas & odd-length body chunks
-- *
-- * Revision 1.35  1994/05/16  20:38:55  matt
-- * Made anim brushes work when odd width
-- *
-- * Revision 1.34  1994/05/06  19:37:26  matt
-- * Improved error handling and checking
-- *
-- * Revision 1.33  1994/04/27  20:57:07  matt
-- * Fixed problem with RLE decompression and odd-width bitmap
-- * Added more error checking
-- *
-- * Revision 1.32  1994/04/16  21:44:19  matt
-- * Fixed bug introduced last version
-- *
-- * Revision 1.31  1994/04/16  20:12:40  matt
-- * Made masked (stenciled) bitmaps work
-- *
-- * Revision 1.30  1994/04/13  23:46:16  matt
-- * Added function, iff_errormsg(), which returns ptr to error message.
-- *
-- * Revision 1.29  1994/04/13  23:27:25  matt
-- * Put in support for anim brushes (.abm files)
-- *
-- * Revision 1.28  1994/04/13  16:33:31  matt
-- * Cleaned up file read code, adding fake_file structure (FFILE), which
-- * cleanly implements reading the entire file into a buffer and then reading
-- * out of that buffer.
-- *
-- * Revision 1.27  1994/04/06  23:07:43  matt
-- * Cleaned up code; added prototype (but no new code) for anim brush read
-- *
-- * Revision 1.26  1994/03/19  02:51:52  matt
-- * Really did what I said I did last revision.
-- *
-- * Revision 1.25  1994/03/19  02:16:07  matt
-- * Made work ILBMs which didn't have 8 planes
-- *
-- * Revision 1.24  1994/03/15  14:45:26  matt
-- * When error, only free memory if has been allocated
-- *
-- * Revision 1.23  1994/02/18  12:39:05  john
-- * Made code read from buffer.
-- *
-- * Revision 1.22  1994/02/15  18:15:26  john
-- * Took out cfile attempt (too slow)
-- *
-- * Revision 1.21  1994/02/15  13:17:48  john
-- * added assert to cfseek.
-- *
-- * Revision 1.20  1994/02/15  13:13:11  john
-- * Made iff code work normally.
-- *
-- * Revision 1.19  1994/02/15  12:51:07  john
-- * crappy inbetween version.
-- *
-- * Revision 1.18  1994/02/10  18:31:32  matt
-- * Changed 'if DEBUG_ON' to 'ifndef NDEBUG'
-- *
-- * Revision 1.17  1994/01/24  11:51:26  john
-- * Made write routine write transparency info.
-- *
-- * Revision 1.16  1994/01/22  14:41:11  john
-- * Fixed bug with declareations.
-- *
-- * Revision 1.15  1994/01/22  14:23:00  john
-- * Added global vars to check transparency
-- *
-- * Revision 1.14  1993/12/08  19:00:42  matt
-- * Changed while loop to memset
-- *
-- * Revision 1.13  1993/12/08  17:23:51  mike
-- * Speedup by converting while...getc to fread.
-- *
-- * Revision 1.12  1993/12/08  12:37:35  mike
-- * Optimize parse_body.
-- *
-- * Revision 1.11  1993/12/05  17:30:14  matt
-- * Made bitmaps with width <= 64 not compress
-- *
-- * Revision 1.10  1993/12/03  12:24:51  matt
-- * Fixed TINY chunk when bitmap was part of a larger bitmap
-- *
-- * Revision 1.9  1993/11/22  17:26:43  matt
-- * iff write now writes out a tiny chunk
-- *
-- * Revision 1.8  1993/11/21  22:04:13  matt
-- * Fixed error with non-compressed bitmaps
-- * Added Yuan's code to free raw data if we get an error parsing the body
-- *
-- * Revision 1.7  1993/11/11  12:12:12  yuan
-- * Changed mallocs to MALLOCs.
-- *
-- * Revision 1.6  1993/11/01  19:02:23  matt
-- * Fixed a couple bugs in rle compression
-- *
-- * Revision 1.5  1993/10/27  12:47:39  john
-- * *** empty log message ***
-- *
-- * Revision 1.4  1993/10/27  12:37:31  yuan
-- * Added mem.h
-- *
-- * Revision 1.3  1993/09/22  19:16:57  matt
-- * Added new error type, IFF_CORRUPT, for internally bad IFF files.
-- *
-- * Revision 1.2  1993/09/08  19:24:16  matt
-- * Fixed bug in RLE compression
-- * Changed a bunch of unimportant values like aspect and page size when writing
-- * Added new error condition, IFF_BAD_BM_TYPE
-- * Make sub-bitmaps work correctly
-- * Added compile flag to turn compression off (COMPRESS)
-- *
-- * Revision 1.1  1993/09/08  14:24:15  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-include/3d.h:
-
-- * Revision 1.2  1995/09/14  14:08:58  allender
-- * return value for g3_draw_sphere
-- *
-- * Revision 1.1  1995/05/05  08:48:41  allender
-- * Initial revision
-- *
-- * Revision 1.34  1994/11/11  19:22:14  matt
-- * Added new function, g3_calc_point_depth()
-- *
-- * Revision 1.33  1994/09/09  14:23:58  matt
-- * Added support for glowing textures, to add engine glow to Descent.
-- *
-- * Revision 1.32  1994/09/01  10:42:27  matt
-- * Blob routine, renamed g3_draw_bitmap(), now takes seperate 3d width & height.
-- *
-- * Revision 1.31  1994/07/29  18:16:14  matt
-- * Added instance by angles, and corrected parms for g3_init()
-- *
-- * Revision 1.30  1994/07/25  00:00:00  matt
-- * Made 3d no longer deal with point numbers, but only with pointers.
-- *
-- * Revision 1.29  1994/07/22  17:57:27  matt
-- * Changed the name of the rod functions, and took out some debugging code
-- *
-- * Revision 1.28  1994/06/07  16:49:12  matt
-- * Made interpreter take lighting value as parm, rather than in global var
-- *
-- * Revision 1.27  1994/05/31  18:35:28  matt
-- * Added light value to g3_draw_facing_bitmap()
-- *
-- * Revision 1.26  1994/05/30  22:48:04  matt
-- * Added support for morph effect
-- *
-- * Revision 1.25  1994/05/30  11:34:57  matt
-- * Added g3_set_special_render() to allow a user to specify functions to
-- * call for 2d draws.
-- *
-- * Revision 1.24  1994/05/19  21:46:31  matt
-- * Moved texture lighting out of 3d and into the game
-- *
-- * Revision 1.23  1994/05/14  15:26:48  matt
-- * Added extern for polyobj outline flag
-- *
-- * Revision 1.22  1994/04/19  18:26:33  matt
-- * Added g3_draw_sphere() function.
-- *
-- * Revision 1.21  1994/03/25  18:22:28  matt
-- * g3_draw_polygon_model() now takes ptr to list of angles
-- *
-- * Revision 1.20  1994/03/15  21:23:23  matt
-- * Added interpreter functions
-- *
-- * Revision 1.19  1994/02/15  17:37:34  matt
-- * New function, g3_draw_blob()
-- *
-- * Revision 1.18  1994/02/09  11:47:47  matt
-- * Added rod & delta point functions
-- *
-- * Revision 1.17  1994/01/26  12:38:11  matt
-- * Added function g3_compute_lighting_value()
-- *
-- * Revision 1.16  1994/01/25  18:00:02  yuan
-- * Fixed variable beam_brightness...
-- *
-- * Revision 1.15  1994/01/24  14:08:34  matt
-- * Added instancing functions
-- *
-- * Revision 1.14  1994/01/22  18:21:48  matt
-- * New lighting stuff now done in 3d; g3_draw_tmap() takes lighting parm
-- *
-- * Revision 1.13  1994/01/20  17:21:24  matt
-- * New function g3_compute_sky_polygon()
-- *
-- * Revision 1.12  1994/01/14  17:20:25  matt
-- * Added prototype for new function g3_draw_horizon()
-- *
-- * Revision 1.10  1993/12/20  20:21:52  matt
-- * Added g3_point_2_vec()
-- *
-- * Revision 1.9  1993/12/07  23:05:47  matt
-- * Fixed mistyped function name.
-- *
-- * Revision 1.8  1993/12/05  23:47:03  matt
-- * Added function g3_draw_line_ptrs()
-- *
-- * Revision 1.7  1993/12/05  23:13:22  matt
-- * Added prototypes for g3_rotate_point() and g3_project_point()
-- *
-- * Revision 1.6  1993/12/05  23:03:28  matt
-- * Changed uvl structs to g3s_uvl
-- *
-- * Revision 1.5  1993/11/22  10:51:09  matt
-- * Moved uvl structure here from segment.h, made texture map functions use it
-- *
-- * Revision 1.4  1993/11/21  20:08:31  matt
-- * Added function g3_draw_object()
-- *
-- * Revision 1.3  1993/11/04  18:49:19  matt
-- * Added system to only rotate points once per frame
-- *
-- * Revision 1.2  1993/11/04  08:16:06  mike
-- * Add light field (p3_l) to g3s_point.
-- *
-- * Revision 1.1  1993/10/29  22:20:56  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-include/args.h:
-
-- * Revision 1.1  1995/05/16  15:54:24  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:33:09  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.4  1994/07/11  16:27:28  matt
-- * Took out prototypes for netipx funcs
-- *
-- * Revision 1.3  1994/05/11  19:45:34  john
-- * *** empty log message ***
-- *
-- * Revision 1.2  1994/05/09  17:02:55  john
-- * Split command line parameters into arg.c and arg.h.
-- * Also added /dma, /port, /irq to digi.c
-- *
-- * Revision 1.1  1994/05/09  16:47:49  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/byteswap.h:
-
-- * Revision 1.4  1995/08/23  21:28:15  allender
-- * fix mcc compiler warning
-- *
-- * Revision 1.3  1995/08/18  15:51:42  allender
-- * put back in old byteswapping code
-- *
-- * Revision 1.2  1995/05/04  20:10:18  allender
-- * proper prototypes
-- *
-- * Revision 1.1  1995/03/30  15:02:11  allender
-- * Initial revision
-
-------------------------------------------------------------------------
-include/cfile.h:
-
-- * Revision 1.1  1995/03/30  10:25:08  allender
-- * Initial revision
-- *
-- *
-- * -- PC RCS Information ---
-- * Revision 1.10  1995/03/13  15:16:47  john
-- * Added alternate directory stuff.
-- *
-- * Revision 1.9  1995/02/01  20:56:40  john
-- * Added cfexist function
-- *
-- * Revision 1.8  1995/01/21  17:53:41  john
-- * Added alternate pig file thing.
-- *
-- * Revision 1.7  1994/12/12  13:19:47  john
-- * Made cfile work with fiellentth.
-- *
-- * Revision 1.6  1994/12/08  19:02:52  john
-- * Added cfgets.
-- *
-- * Revision 1.5  1994/12/07  21:34:07  john
-- * Stripped out compression stuff...
-- *
-- * Revision 1.4  1994/07/13  00:16:53  matt
-- * Added include
-- *
-- * Revision 1.3  1994/02/17  17:36:19  john
-- * Added CF_READ_MODE and CF_WRITE_MODE constants.
-- *
-- * Revision 1.2  1994/02/15  12:52:08  john
-- * Crappy inbetween version
-- *
-- * Revision 1.1  1994/02/15  10:54:23  john
-- * Initial revision
-- *
-- * Revision 1.1  1994/02/10  15:50:54  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/error.h:
-
-- * Revision 1.12  1994/06/17  15:22:46  matt
-- * Added pragma for Error() for when NDEBUG
-- *
-- * Revision 1.11  1994/03/07  13:22:14  matt
-- * Since the Error() function has 'aborts' set in pragma, we do a jmp
-- * to the function rather than call.
-- *
-- * Revision 1.10  1994/02/17  12:37:15  matt
-- * Combined two pragma's for Error(), since second superseded the first
-- *
-- * Revision 1.9  1994/02/10  18:02:53  matt
-- * Changed 'if DEBUG_ON' to 'ifndef NDEBUG'
-- *
-- * Revision 1.8  1994/02/09  15:18:29  matt
-- * Added pragma saying that Error() never returns
-- *
-- * Revision 1.7  1993/10/19  12:57:53  matt
-- * If DEBUG_ON not defined, define it to be 1
-- *
-- * Revision 1.6  1993/10/15  21:40:39  matt
-- * Made error functions generate int3's if debugging on
-- *
-- * Revision 1.5  1993/10/14  15:29:22  matt
-- * Added new function clear_warn_func()
-- *
-- * Revision 1.4  1993/10/08  16:16:47  matt
-- * Made Assert() call function _Assert(), rather to do 'if...' inline.
-- *
-- * Revision 1.3  1993/09/29  11:39:07  matt
-- * Added Assert() macro, like the system one, but calls Error()
-- *
-- * Revision 1.2  1993/09/27  11:47:03  matt
-- * Added function set_warn_func()
-- *
-- * Revision 1.1  1993/09/23  20:17:46  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-include/gr.h:
-
-- * Revision 1.7  1995/09/13  08:39:44  allender
-- * added prototype for gr_bitblt_cockpit
-- *
-- * Revision 1.6  1995/08/23  18:47:01  allender
-- * fixed compiler warnings on mcc
-- *
-- * Revision 1.5  1995/08/14  15:51:01  allender
-- * added #define for transparency color
-- *
-- * Revision 1.4  1995/06/13  13:03:55  allender
-- * added graphics mode
-- *
-- * Revision 1.3  1995/04/18  09:50:16  allender
-- * *** empty log message ***
-- *
-- * Revision 1.2  1995/04/07  07:32:33  allender
-- * *** empty log message ***
-- *
-- * Revision 1.1  1995/03/09  09:04:16  allender
-- * Initial revision
-- *
-- *
-- * --- PC RCS information ---
-- * Revision 1.45  1994/11/18  22:50:21  john
-- * Changed shorts to ints in parameters.
-- *
-- * Revision 1.44  1994/11/13  13:04:07  john
-- * Added paged out bit in bitmap structure.  Commented out the
-- * poly code that is never used.
-- *
-- * Revision 1.43  1994/11/09  23:04:56  mike
-- * Add avg_color field.
-- *
-- * Revision 1.42  1994/10/27  00:53:35  john
-- * Added RLE Flag to bitmap structere.
-- *
-- * Revision 1.41  1994/10/26  23:55:52  john
-- * Took out roller; Took out inverse table.
-- *
-- * Revision 1.40  1994/08/11  17:59:12  mike
-- * Assembler merge functions written for 3 rotations of bitmaps.
-- *
-- * Revision 1.39  1994/08/10  12:24:56  matt
-- * Added support for colors fonts & kerned fonts
-- * Made our own font file format
-- *
-- * Revision 1.38  1994/07/27  18:30:18  john
-- * Took away the blending table.
-- *
-- * Revision 1.37  1994/06/16  15:25:06  mike
-- * Add flag BM_FLAG_NO_LIGHTING.
-- *
-- * Revision 1.36  1994/05/31  10:01:22  john
-- * *** empty log message ***
-- *
-- * Revision 1.35  1994/05/31  07:53:34  john
-- * *** empty log message ***
-- *
-- * Revision 1.34  1994/05/14  17:19:41  matt
-- * Added externs
-- *
-- * Revision 1.33  1994/05/12  17:33:09  john
-- * Added circle code.
-- *
-- * Revision 1.32  1994/05/06  12:50:16  john
-- * Added supertransparency; neatend things up; took out warnings.
-- *
-- * Revision 1.31  1994/05/04  10:06:06  john
-- * Added flag for bitmap super-transparency.
-- *
-- * Revision 1.30  1994/05/03  19:38:56  john
-- * *** empty log message ***
-- *
-- * Revision 1.29  1994/04/22  11:16:05  john
-- * *** empty log message ***
-- *
-- * Revision 1.28  1994/04/08  16:59:32  john
-- * Add fading poly's; Made palette fade 32 instead of 16.
-- *
-- * Revision 1.27  1994/03/16  17:29:52  john
-- * *** empty log message ***
-- *
-- * Revision 1.26  1994/03/16  17:20:51  john
-- * Added slow palette searching options.
-- *
-- * Revision 1.25  1994/03/14  17:59:20  john
-- * Added function to check bitmap's transparency.
-- *
-- * Revision 1.24  1994/03/14  16:56:26  john
-- * Changed grs_bitmap structure to include bm_flags.
-- *
-- * Revision 1.23  1994/02/18  15:32:30  john
-- * *** empty log message ***
-- *
-- * Revision 1.22  1994/01/25  11:40:48  john
-- * Added gr_check_mode function.
-- *
-- * Revision 1.21  1994/01/12  13:45:24  john
-- * Added scaler.
-- *
-- * Revision 1.20  1993/12/21  19:58:24  john
-- * added selector stuff
-- *
-- * Revision 1.19  1993/12/21  11:40:40  john
-- * *** empty log message ***
-- *
-- * Revision 1.18  1993/12/09  15:02:08  john
-- * Changed palette stuff majorly
-- *
-- * Revision 1.17  1993/12/07  12:32:05  john
-- * moved bmd_palette to gr_palette
-- *
-- * Revision 1.16  1993/11/28  12:08:06  mike
-- * Change prototype for rotate_bitmap.
-- *
-- * Revision 1.15  1993/11/18  14:22:51  mike
-- * Add prototype for rotate_bitmap.
-- *
-- * Revision 1.14  1993/11/17  19:00:59  mike
-- * Add prototype for test_rotate_bitmap
-- *
-- * Revision 1.13  1993/11/16  11:28:58  john
-- * *** empty log message ***
-- *
-- * Revision 1.12  1993/10/26  13:17:43  john
-- * *** empty log message ***
-- *
-- * Revision 1.11  1993/10/15  16:23:37  john
-- * y
-- *
-- * Revision 1.10  1993/09/28  15:32:33  john
-- * added def for save/restore vidmode
-- *
-- * Revision 1.9  1993/09/28  12:51:46  matt
-- * Added aspect ratio to grs_screen structure
-- *
-- * Revision 1.8  1993/09/26  22:45:12  matt
-- * Changed prototypes for line functions to take fixes, not ints.
-- *
-- * Revision 1.7  1993/09/26  18:58:16  john
-- * fadein/out stuff
-- *
-- * Revision 1.6  1993/09/14  16:26:44  matt
-- * Changed gr_change_mode() to be gr_set_mode()
-- *
-- * Revision 1.4  1993/09/14  13:08:45  john
-- * added gr_change_mode
-- *
-- * Revision 1.3  1993/09/08  13:56:03  matt
-- * Put 'if' block around body of file; added bitmap type BM_RGB15
-- *
-- * Revision 1.2  1993/09/08  13:02:14  john
-- * Changed structure definitions a bit.
-- *
-- * Revision 1.1  1993/09/08  11:25:15  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/grdef.h:
-
-- * Revision 1.5  1995/09/14  15:36:33  allender
-- * added stuff for 68k version
-- *
-- * Revision 1.4  1995/07/05  16:10:57  allender
-- * gr_linear_movsd prototype changes
-- *
-- * Revision 1.3  1995/04/19  14:39:28  allender
-- * changed function prototype
-- *
-- * Revision 1.2  1995/04/18  09:49:53  allender
-- * *** empty log message ***
-- *
-- * Revision 1.1  1995/03/09  09:04:56  allender
-- * Initial revision
-- *
-- *
-- * --- PC RCS information ---
-- * Revision 1.8  1994/05/06  12:50:09  john
-- * Added supertransparency; neatend things up; took out warnings.
-- *
-- * Revision 1.7  1994/01/25  11:40:29  john
-- * Added gr_check_mode function.
-- *
-- * Revision 1.6  1993/10/15  16:22:53  john
-- * y
-- *
-- * Revision 1.5  1993/09/29  17:31:00  john
-- * added gr_vesa_pixel
-- *
-- * Revision 1.4  1993/09/29  16:14:43  john
-- * added global canvas descriptors.
-- *
-- * Revision 1.3  1993/09/08  17:38:02  john
-- * Looking for errors
-- *
-- * Revision 1.2  1993/09/08  15:54:29  john
-- * *** empty log message ***
-- *
-- * Revision 1.1  1993/09/08  11:37:57  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/ibitblt.h:
-
-- * Revision 1.1  1995/08/18  15:50:57  allender
-- * Initial revision
-- *
-- * Revision 1.2  1994/05/31  11:10:56  john
-- * *** empty log message ***
-- *
-- * Revision 1.1  1994/05/30  16:08:46  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/iff.h:
-
-- * Revision 1.2  1995/05/05  16:33:22  allender
-- * changed types.h to dtypes.h
-- *
-- * Revision 1.1  1995/05/05  08:59:45  allender
-- * Initial revision
-- *
-- * Revision 1.12  1994/11/07  21:26:53  matt
-- * Added new function iff_read_into_bitmap()
-- *
-- * Revision 1.11  1994/05/06  19:37:38  matt
-- * Improved error handling and checking
-- *
-- * Revision 1.10  1994/04/16  20:12:54  matt
-- * Made masked (stenciled) bitmaps work
-- *
-- * Revision 1.9  1994/04/13  23:46:00  matt
-- * Added function, iff_errormsg(), which returns ptr to error message.
-- *
-- * Revision 1.8  1994/04/13  23:27:10  matt
-- * Put in support for anim brushes (.abm files)
-- *
-- * Revision 1.7  1994/04/06  23:08:02  matt
-- * Cleaned up code; added prototype (but no new code) for anim brush read
-- *
-- * Revision 1.6  1994/01/22  14:40:59  john
-- * Fixed bug with declareations.
-- *
-- * Revision 1.5  1994/01/22  14:23:13  john
-- * Added global vars to check transparency
-- *
-- * Revision 1.4  1993/10/27  12:47:42  john
-- * Extended the comments
-- *
-- * Revision 1.3  1993/09/22  19:17:20  matt
-- * Fixed handling of pad byte in ILBM/PPB body - was writing pad byte to
-- * destination buffer.
-- *
-- * Revision 1.2  1993/09/08  19:23:25  matt
-- * Added additional return code, IFF_BAD_BM_TYPE
-- *
-- * Revision 1.1  1993/09/08  14:24:21  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-include/ipx.h:
-
-- * Revision 2.6  1995/03/29  11:19:32  john
-- * Added broadcasting over a net.
-- *
-- * Revision 2.5  1995/03/28  20:04:43  john
-- * Took away alternate server stuff.
-- *
-- * Revision 2.4  1995/03/23  19:00:10  john
-- * Added user list capabitly.
-- *
-- * Revision 2.3  1995/03/23  12:26:57  john
-- * Move IPX into bios lib.
-- *
-- * Revision 2.2  1995/03/22  19:08:14  john
-- * Added code to fix sending packets over router... now
-- * we just need to make broadcasts go over router!!
-- *
-- * Revision 2.1  1995/03/21  08:39:56  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.0  1995/02/27  11:30:16  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.16  1995/02/16  17:34:52  john
-- * Added code to allow dynamic socket changing.
-- *
-- * Revision 1.15  1995/01/04  21:43:27  rob
-- * Remove SPX size definition.
-- *
-- * Revision 1.14  1995/01/03  13:46:18  john
-- * Added code that should make ipx work over different servers,
-- * but ifdef'd it out with SHAREWARE in ipx.c.  I haven't tested
-- * this, and I hope it doesn't introduce net bugs.
-- *
-- * Revision 1.13  1994/11/02  11:37:16  rob
-- * Changed default socket number to a higher regions.
-- *
-- * Revision 1.12  1994/11/01  15:56:51  rob
-- * Added defines for SPX socketsx.
-- *
-- * Revision 1.11  1994/10/31  19:23:31  rob
-- * Added a prototype for the new object send function.
-- *
-- * Revision 1.10  1994/09/07  13:37:25  john
-- * Changed default socket to 0x4000, because
-- * the ipx/spx book says that we can only use
-- * sockets 0x4000 - 0x7fff.
-- *
-- * Revision 1.9  1994/08/25  18:14:45  matt
-- * Changed socket because of packet change
-- *
-- * Revision 1.8  1994/08/12  22:42:24  john
-- * Took away Player_stats; added Players array.
-- *
-- * Revision 1.7  1994/08/09  19:31:47  john
-- * Networking changes.
-- *
-- * Revision 1.6  1994/08/05  16:11:46  john
-- * Psuedo working version of networking.
-- *
-- * Revision 1.5  1994/08/04  19:17:20  john
-- * Inbetween version of network stuff.
-- *
-- * Revision 1.4  1994/07/29  16:08:59  john
-- * *** empty log message ***
-- *
-- * Revision 1.3  1994/07/25  12:33:22  john
-- * Network "pinging" in.
-- *
-- * Revision 1.2  1994/07/20  15:58:29  john
-- * First installment of ipx stuff.
-- *
-- * Revision 1.1  1994/07/19  15:43:05  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/palette.h:
-
-- * Revision 1.11  1994/11/15  17:55:10  john
-- * Made text palette fade in when game over.
-- *
-- * Revision 1.10  1994/11/07  13:53:42  john
-- * Added better gamma stufff.
-- *
-- * Revision 1.9  1994/11/07  13:38:03  john
-- * Added gamma correction stuff.
-- *
-- * Revision 1.8  1994/11/05  13:05:59  john
-- * Added back in code to allow keys during fade.
-- *
-- * Revision 1.7  1994/11/05  12:46:37  john
-- * Changed palette stuff a bit.
-- *
-- * Revision 1.6  1994/09/22  16:08:37  john
-- * Fixed some palette stuff.
-- *
-- * Revision 1.5  1994/08/09  11:27:04  john
-- * Add cthru stuff.
-- *
-- * Revision 1.4  1994/06/09  10:39:33  john
-- * In fade out.in functions, returned 1 if key was pressed...
-- *
-- * Revision 1.3  1994/05/31  19:04:24  john
-- * Added key to stop fade if desired.
-- *
-- * Revision 1.2  1994/05/06  12:50:42  john
-- * Added supertransparency; neatend things up; took out warnings.
-- *
-- * Revision 1.1  1994/05/04  14:59:57  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/pcx.h:
-
-- * Revision 1.4  1995/01/21  17:07:34  john
-- * Added out of memory error.
-- *
-- * Revision 1.3  1994/11/29  02:53:10  john
-- * Added error messages; made call be more similiar to iff.
-- *
-- * Revision 1.2  1994/11/28  20:03:48  john
-- * Added PCX functions.
-- *
-- * Revision 1.1  1994/11/28  19:57:45  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/pstypes.h:
-
-- * Revision 1.2  1993/09/14  12:12:30  matt
-- * Added #define for NULL
-- *
-- * Revision 1.1  1993/08/24  12:50:40  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-include/rle.h:
-
-- * Revision 1.5  1995/01/14  11:32:20  john
-- * Added rle_cache_flush function.
-- *
-- * Revision 1.4  1994/11/10  13:16:01  matt
-- * Added includes
-- *
-- * Revision 1.3  1994/11/09  19:53:51  john
-- * Added texture rle caching.
-- *
-- * Revision 1.2  1994/11/09  16:35:18  john
-- * First version with working RLE bitmaps.
-- *
-- * Revision 1.1  1994/11/09  12:40:17  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/texmap.h:
-
-- * $Log: not supported by cvs2svn $
-- * Revision 1.2  2003/03/19 19:21:34  btb
-- * header/extern declaration housekeeping
-- *
-- * Revision 1.1.1.1  2001/01/19 03:30:16  bradleyb
-- * Import of d2x-0.0.8
-- *
-- * Revision 1.2  1999/07/07 21:21:56  donut
-- * increased recip table size to better accommodate 640 res
-- *
-- * Revision 1.1.1.1  1999/06/14 22:02:20  donut
-- * Import of d1x 1.37 source.
-- *
-- * Revision 1.2  1995/09/04  14:22:10  allender
-- * #defines for fixed point limits on render buffer
-- *
-- * Revision 1.1  1995/05/04  20:14:50  allender
-- * Initial revision
-- *
-- * Revision 1.17  1994/11/10  11:09:16  mike
-- * detail level stuff.
-- * 
-- * Revision 1.16  1994/11/09  22:55:32  matt
-- * Added variable Current_seg_depth for detail level optimization
-- * 
-- * Revision 1.15  1994/06/09  16:10:04  mike
-- * Add prototype for SC2000
-- * 
-- * Revision 1.14  1994/05/25  18:46:16  matt
-- * Added gr_upoly_tmap_ylr(), which generates ylr's for a polygon
-- * 
-- * Revision 1.13  1994/05/25  09:47:12  mike
-- * Added interface support for linear texture mapper (Mike change, Matt commnet)
-- * 
-- * Revision 1.12  1994/05/24  17:30:43  mike
-- * Prototype a bunch of linear, vertical scanning functions.
-- * 
-- * Revision 1.11  1994/05/19  23:26:14  mike
-- * Add constants NUM_LIGHTING_VALUES, MAX_LIGHTING_VALUE, MIN_LIGHTING_VALUE,
-- * all part of new lighting_values_in_0_to_1 system.
-- * 
-- * Revision 1.10  1994/05/14  17:19:21  matt
-- * Added externs
-- * 
-- * Revision 1.9  1994/04/13  23:55:44  matt
-- * Increased max_tmap_verts from 16 to 25
-- * 
-- * Revision 1.8  1994/03/31  08:35:43  mike
-- * Prototype for gr_upoly_tmap.
-- * 
-- * Revision 1.7  1994/02/08  15:17:54  mike
-- * define label for MAX_TMAP_VERTS
-- * 
-- * Revision 1.6  1994/01/31  15:41:51  mike
-- * Add texture_map_lin_lin_sky_v
-- * 
-- * Revision 1.5  1994/01/18  10:49:40  mike
-- * prototype for texture_map_lin_lin_sky
-- * 
-- * Revision 1.4  1993/11/30  17:09:46  mike
-- * prototype for compute_lighting_value.
-- * 
-- * Revision 1.3  1993/11/22  10:50:38  matt
-- * Add ifndef around body of file
-- * 
-- * Revision 1.2  1993/10/06  12:41:25  mike
-- * Change prototype for draw_tmap.
-- * 
-- * Revision 1.1  1993/09/08  17:29:11  mike
-- * Initial revision
-
-------------------------------------------------------------------------
-include/timer.h:
-
-- * Revision 1.8  1994/12/10  12:27:23  john
-- * Added timer_get_approx_seconds.
-- *
-- * Revision 1.7  1994/12/10  12:10:25  john
-- * Added types.h.
-- *
-- * Revision 1.6  1994/12/10  12:07:06  john
-- * Added tick counter variable.
-- *
-- * Revision 1.5  1994/11/15  12:04:15  john
-- * Cleaned up timer code a bit... took out unused functions
-- * like timer_get_milliseconds, etc.
-- *
-- * Revision 1.4  1994/04/28  23:50:08  john
-- * Changed calling for init_timer.  Made the function that the
-- * timer calls be a far function. All of this was done to make
-- * our timer system compatible with the HMI sound stuff.
-- *
-- * Revision 1.3  1994/02/17  15:57:12  john
-- * Changed key libary to C.
-- *
-- * Revision 1.2  1994/01/18  10:58:34  john
-- * Added timer_get_fixed_seconds
-- *
-- * Revision 1.1  1993/07/10  13:10:41  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-include/u_dpmi.h:
-
-- * Revision 1.9  1995/01/14  19:20:14  john
-- * Added function to set a selector's base address.
-- *
-- * Revision 1.8  1994/11/28  20:22:03  john
-- * Added some variables that return the amount of available
-- * memory.
-- *
-- * Revision 1.7  1994/11/15  18:26:38  john
-- * Added verbose flag.
-- *
-- * Revision 1.6  1994/11/07  11:35:05  john
-- * Added prototype for real_free
-- *
-- * Revision 1.5  1994/10/27  19:54:48  john
-- * Added unlock region function,.
-- *
-- * Revision 1.4  1994/09/27  18:27:56  john
-- * Added pragma to make inp,outp,enable,disable intrinsic
-- *
-- * Revision 1.3  1994/09/27  11:54:45  john
-- * Added DPMI init function.
-- *
-- * Revision 1.2  1994/08/24  18:53:51  john
-- * Made Cyberman read like normal mouse; added dpmi module; moved
-- * mouse from assembly to c. Made mouse buttons return time_down.
-- *
-- * Revision 1.1  1994/08/24  10:22:48  john
-- * Initial revision
-
-------------------------------------------------------------------------
-include/vecmat.h:
-
-- * Revision 1.1  1995/04/17  16:18:05  allender
-- * Initial revision
-- *
-- *
-- * --- PC RCS Information ---
-- * Revision 1.37  1995/02/22  13:23:22  john
-- * Added the vms_vector_array structure, to access a vms_vector
-- * with an array.
-- *
-- * Revision 1.36  1995/02/22  12:34:33  john
-- * Took out anonymous unions.
-- *
-- * Revision 1.35  1994/12/13  14:44:20  matt
-- * Added vm_vector_2_matrix_norm()
-- *
-- * Revision 1.34  1994/09/11  19:22:55  matt
-- * Added vm_vec_normalized_dir_quick()
-- *
-- * Revision 1.33  1994/08/04  19:45:38  matt
-- * Added option to make a bunch of functions (add, sub, dotprod) inline
-- *
-- * Revision 1.32  1994/07/19  18:52:36  matt
-- * Added vm_vec_normalize_quick() and vm_vec_copy_normalize_quick()
-- *
-- * Revision 1.31  1994/06/16  18:24:30  matt
-- * Added vm_vec_mag_quick()
-- *
-- * Revision 1.30  1994/06/10  23:19:00  matt
-- * New register usage for vm_vec_ang_2_matrix()
-- *
-- * Revision 1.29  1994/06/01  17:32:06  matt
-- * Fixed modify list for vm_vec_normalized_dir()
-- *
-- * Revision 1.28  1994/05/19  12:07:20  matt
-- * Fixed globals and macros and added a constant
-- *
-- * Revision 1.27  1994/05/19  09:19:15  matt
-- * Made vm_vec_normalized_dir() return mag of vector
-- *
-- * Revision 1.26  1994/05/18  22:28:57  matt
-- * Added function vm_vec_normalized_dir()
-- * Added C macros IS_ZERO_VEC(), vm_vec_zero(), and vm_set_identity()
-- * Added C global static vars vmd_zero_vector & vmd_identity_matrix
-- *
-- * Revision 1.25  1994/05/18  21:45:06  matt
-- * Added functions:
-- *   vm_extract_angles_vector()
-- *   vm_extract_angles_vector_normalized()
-- *   vm_vec_copy_normalize()
-- *
-- * Revision 1.24  1994/05/13  12:42:16  matt
-- * Added new function, vm_vec_dist_quick(), which does an approximation.
-- *
-- * Revision 1.23  1994/03/30  13:37:34  matt
-- * Added prototype for vm_vec_scale_add(), and fixed typos
-- *
-- * Revision 1.22  1994/03/30  13:29:42  matt
-- * Header for vm_vec_scale_add2()
-- *
-- * Revision 1.21  1994/01/31  19:45:13  matt
-- * Added function vm_extract_angles_matrix()
-- *
-- * Revision 1.20  1993/12/21  19:46:14  matt
-- * Added function vm_dist_to_plane()
-- *
-- * Revision 1.19  1993/12/13  17:26:41  matt
-- * Added vm_vec_dist()
-- *
-- * Revision 1.18  1993/12/02  12:45:11  matt
-- * New functions: vm_vec_copy_scale(), vm_vec_scale2()
-- * Aliases: vm_transpose(), vm_vec_dot(), vm_vec_cross(), vm_copy_transpose()
-- *
-- * Revision 1.17  1993/10/29  22:38:36  matt
-- * Changed matrix order, making direction vectors the rows
-- *
-- * Revision 1.16  1993/10/25  11:49:57  matt
-- * Made vm_vec_delta_ang() take optional forward vector to return signed delta
-- *
-- * Revision 1.15  1993/10/20  01:10:05  matt
-- * Added vm_vec_delta_ang(), vm_vec_delta_ang_norm(), and vm_vec_ang_2_matrix()
-- *
-- * Revision 1.14  1993/10/17  17:02:52  matt
-- * vm_vector_2_matrix() now takes optional right vector
-- *
-- * Revision 1.13  1993/10/12  19:31:39  matt
-- * Added IDENTITY_MATRIX constant
-- *
-- * Revision 1.12  1993/10/08  18:10:16  matt
-- * Changed vm_vec_make() and vm_angvec_make() to be inline assembly
-- * functions, to get rid of compiler warnings.  Did not change vm_mat_make(),
-- * which could still get warnings if the return value is unused.
-- *
-- * Revision 1.11  1993/09/29  12:10:07  matt
-- * Changed modified regs in pragmas to include return register
-- *
-- * Revision 1.10  1993/09/28  12:15:41  matt
-- * Added func vm_vector_2_matrix()
-- *
-- * Revision 1.9  1993/09/24  21:18:38  matt
-- * Added vm_vec_avg(), vm_vec_avg4(), and vm_angvec_make().
-- * Documented which functions could have dest==source
-- *
-- * Revision 1.8  1993/09/20  14:56:11  matt
-- * Added new function, vm_vec_perp()
-- *
-- * Revision 1.7  1993/09/20  14:27:42  mike
-- * unfix last fix which introduced a bug
-- *
-- * Revision 1.6  1993/09/20  10:11:53  mike
-- * no changes
-- *
-- * Revision 1.5  1993/09/20  09:58:58  mike
-- * Re-fix vm_vec_make
-- *
-- * Revision 1.4  1993/09/20  09:41:21  mike
-- * Correct vm_vec_make and vm_mat_make macros to return the destination
-- * as the value of the macro.
-- *
-- * Revision 1.3  1993/09/17  11:23:47  matt
-- * Added row access (via xrow,yrow,zrow) to vms_matrix
-- * Added macro vm_mat_make(), like vm_vec_make()
-- *
-- * Revision 1.2  1993/09/17  11:10:32  matt
-- * Added vm_vec_add2() and vm_vec_sub2(), which take 2 args (dest==src0)
-- *
-- * Revision 1.1  1993/09/16  20:10:01  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/ai.c:
-
-- * Revision 1.1  1995/12/05  14:15:37  allender
-- * Initial revision
-- *
-- * Revision 1.10  1995/11/09  09:36:12  allender
-- * cheats not active during demo playback
-- *
-- * Revision 1.9  1995/11/03  12:51:55  allender
-- * shareware changes
-- *
-- * Revision 1.8  1995/10/31  10:25:07  allender
-- * shareware stuff
-- *
-- * Revision 1.7  1995/10/26  14:01:38  allender
-- * optimization for doing robot stuff only if anim angles done last frame
-- *
-- * Revision 1.6  1995/10/25  09:35:43  allender
-- * prototype some functions causing mcc problems
-- *
-- * Revision 1.5  1995/10/17  13:11:40  allender
-- * fix in ai code that makes bots only look for you every so often
-- *
-- * Revision 1.4  1995/10/10  11:48:10  allender
-- * PC ai code
-- *
-- * Revision 2.11  1995/07/09  11:15:48  john
-- * Put in Mike's code to fix bug where bosses don't gate in bots after
-- * 32767 seconds of playing.
-- *
-- * Revision 2.10  1995/06/15  12:31:08  john
-- * Fixed bug with cheats getting enabled when you type
-- * the whole alphabet.
-- *
-- * Revision 2.9  1995/05/26  16:16:18  john
-- * Split SATURN into define's for requiring cd, using cd, etc.
-- * Also started adding all the Rockwell stuff.
-- *
-- * Revision 2.8  1995/04/06  15:12:27  john
-- * Fixed bug with insane not working.
-- *
-- * Revision 2.7  1995/03/30  16:36:44  mike
-- * text localization.
-- *
-- * Revision 2.6  1995/03/28  11:22:24  john
-- * Added cheats to save file. Changed lunacy text.
-- *
-- * Revision 2.5  1995/03/27  16:45:07  john
-- * Fixed some cheat bugs.  Added astral cheat.
-- *
-- * Revision 2.4  1995/03/24  15:29:17  mike
-- * add new cheats.
-- *
-- * Revision 2.3  1995/03/21  14:39:45  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.2  1995/03/14  18:24:39  john
-- * Force Destination Saturn to use CD-ROM drive.
-- *
-- * Revision 2.1  1995/03/06  16:47:14  mike
-- * destination saturn
-- *
-- * Revision 2.0  1995/02/27  11:30:01  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.295  1995/02/22  13:23:04  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.294  1995/02/13  11:00:43  rob
-- * Make brain guys high enough to get an open slot.
-- *
-- * Revision 1.293  1995/02/13  10:31:55  mike
-- * Make brains understand they can't open locked doors.
-- *
-- * Revision 1.292  1995/02/13  10:18:01  rob
-- * Reduced brain guy's level of awareness to keep him from hogging slots.
-- *
-- * Revision 1.291  1995/02/11  12:27:12  mike
-- * fix path-to-exit cheat.
-- *
-- * Revision 1.290  1995/02/11  01:56:30  mike
-- * robots don't fire cheat.
-- *
-- * Revision 1.289  1995/02/10  17:15:09  rob
-- * Fixed some stuff with 64 awareness stuff.
-- *
-- * Revision 1.288  1995/02/10  16:31:32  mike
-- * oops.
-- *
-- * Revision 1.287  1995/02/10  16:24:45  mike
-- * fix the network follow path fix.
-- *
-- * Revision 1.286  1995/02/10  16:11:40  mike
-- * in serial or modem games, follow path guys don't move if far away and
-- * can't see player.
-- *
-- * Revision 1.285  1995/02/09  13:11:35  mike
-- * comment out a bunch of mprintfs.
-- * add toaster (drops prox bombs, runs away) to boss gate list.
-- *
-- * Revision 1.284  1995/02/08  22:44:53  rob
-- * Lowerd anger level for follow path of any sort.
-- *
-- * Revision 1.283  1995/02/08  22:30:43  mike
-- * lower awareness on station guys if they are returning home (multiplayer).
-- *
-- * Revision 1.282  1995/02/08  17:01:06  rob
-- * Fixed problem with toasters dropping of proximity bombs.
-- *
-- * Revision 1.281  1995/02/08  11:49:35  rob
-- * Reduce Green-guy attack awareness level so we don't let him attack us too.
-- *
-- * Revision 1.280  1995/02/08  11:37:52  mike
-- * Check for failures in call to obj_create.
-- *
-- * Revision 1.279  1995/02/07  20:38:46  mike
-- * fix toasters in multiplayer
-- *
-- *
-- * Revision 1.278  1995/02/07  16:51:07  mike
-- * fix sound time play bug.
-- *
-- * Revision 1.277  1995/02/06  22:33:04  mike
-- * make robots follow path better in cooperative/roboarchy.
-- *
-- * Revision 1.276  1995/02/06  18:15:42  rob
-- * Added forced sends for evasion movemnet.
-- *
-- * Revision 1.275  1995/02/06  16:41:22  rob
-- * Change some positioning calls.
-- *
-- * Revision 1.274  1995/02/06  11:40:33  mike
-- * replace some lint-related hacks with clean, proper code.
-- *
-- * Revision 1.273  1995/02/04  17:28:19  mike
-- * make station guys return better.
-- *
-- * Revision 1.272  1995/02/03  17:40:55  mike
-- * fix problem with robots falling asleep if you sit in game overnight, not in pause...bah.
-- *
-- * Revision 1.271  1995/02/02  21:11:25  rob
-- * Tweaking stuff for multiplayer ai.
-- *
-- * Revision 1.270  1995/02/02  17:32:06  john
-- * Added Hack for Assert that Mike put in after using Lint to find
-- * uninitialized variables.
-- *
-- * Revision 1.269  1995/02/02  16:46:31  mike
-- * fix boss gating.
-- *
-- * Revision 1.268  1995/02/02  16:27:29  mike
-- * make boss not put out infinite robots.
-- *
-- * Revision 1.267  1995/02/01  21:10:02  mike
-- * lint found bug! player_visibility not initialized!
-- *
-- * Revision 1.266  1995/02/01  20:51:27  john
-- * Lintized
-- *
-- * Revision 1.265  1995/02/01  17:14:05  mike
-- * fix robot sounds.
-- *
-- * Revision 1.264  1995/01/31  16:16:40  mike
-- * Comment out "Darn you, John" Int3().
-- *
-- * Revision 1.263  1995/01/30  20:55:04  mike
-- * fix nonsense in robot firing when a player is cloaked.
-- *
-- * Revision 1.262  1995/01/30  17:15:10  rob
-- * Fixed problems with bigboss eclip messages.
-- * Tweaked robot position sending for modem purposes.
-- *
-- * Revision 1.261  1995/01/30  15:30:31  rob
-- * Prevent non-master players from gating in robots.
-- *
-- * Revision 1.260  1995/01/30  13:30:55  mike
-- * new cases for firing at other players were bogus, could send position
-- * without permission.
-- *
-- * Revision 1.259  1995/01/30  13:01:17  mike
-- * Make robots fire at player other than one they are controlled by sometimes.
-- *
-- * Revision 1.258  1995/01/29  16:09:17  rob
-- * Trying to get robots to shoot at non-controlling players.
-- *
-- * Revision 1.257  1995/01/29  13:47:05  mike
-- * Make boss have more fireballs on death, have until end (though silent at end).
-- * Fix bug which was preventing him from teleporting until hit, so he'd always
-- * be in the same place when the player enters the room.
-- *
-- * Revision 1.256  1995/01/28  17:40:18  mike
-- * make boss teleport & gate before you see him.
-- *
-- * Revision 1.255  1995/01/27  17:02:08  mike
-- * move code around, was sending one frame (or worse!) old robot information.
-- *
-- * Revision 1.254  1995/01/26  17:02:43  mike
-- * make fusion cannon have more chrome, make fusion, mega rock you!
-- *
-- * Revision 1.253  1995/01/26  15:11:17  rob
-- * Shutup!  I fixed it!
-- *
-- * Revision 1.252  1995/01/26  15:08:55  rob
-- * Changed robot gating to accomodate multiplayer.
-- *
-- * Revision 1.251  1995/01/26  14:49:04  rob
-- * Increase awareness level for firing to 94.
-- *
-- * Revision 1.250  1995/01/26  12:41:20  mike
-- * fix bogus multiplayer code, would send permission without getting permission.
-- *
-- * Revision 1.249  1995/01/26  12:23:23  rob
-- * Removed defines that were moved to ai.h
-- *
-- * Revision 1.248  1995/01/25  23:38:48  mike
-- * modify list of robots gated in by super boss.
-- *
-- * Revision 1.247  1995/01/25  21:21:13  rob
-- * Trying to let robots fire at a player even if they're not in control.
-- *
-- * Revision 1.246  1995/01/25  13:50:37  mike
-- * Robots make angry sounds.
-- *
-- * Revision 1.245  1995/01/25  10:53:47  mike
-- * better handling of robots which poke out of mine and try to recover.
-- *
-- * Revision 1.244  1995/01/24  22:03:02  mike
-- * Tricky code to move a robot to a legal position if he is poking out of
-- * the mine, even if it means moving him to another segment.
-- *
-- * Revision 1.243  1995/01/24  20:12:06  rob
-- * Changed robot fire awareness level from 74 to 94.
-- *
-- * Revision 1.242  1995/01/24  13:22:32  mike
-- * make robots accelerate faster, and Difficulty_level dependent.
-- *
-- * Revision 1.241  1995/01/24  12:09:39  mike
-- * make robots animate in multiplayer.
-- *
-- * Revision 1.240  1995/01/21  21:21:10  mike
-- * Make boss only gate robots into specified segments.
-- *
-- * Revision 1.239  1995/01/20  20:21:26  mike
-- * prevent unnecessary boss cloaking.
-
-------------------------------------------------------------------------
-main/ai.h:
-
-- * Revision 1.3  1995/10/15  16:28:07  allender
-- * added flag to player_is_visible function
-- *
-- * Revision 1.2  1995/10/10  11:48:32  allender
-- * PC ai header
-- *
-- * Revision 1.1  1995/05/16  15:54:00  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:33:07  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.57  1995/02/04  17:28:31  mike
-- * make station guys return better.
-- *
-- * Revision 1.56  1995/02/04  10:03:23  mike
-- * Fly to exit cheat.
-- *
-- * Revision 1.55  1995/02/01  19:23:52  rob
-- * Externed a boss var.
-- *
-- * Revision 1.54  1995/01/30  13:00:58  mike
-- * Make robots fire at player other than one they are controlled by sometimes.
-- *
-- * Revision 1.53  1995/01/26  15:09:16  rob
-- * Changed robot gating to accomodate multiplayer.
-- *
-- * Revision 1.52  1995/01/26  12:23:12  rob
-- * Added new externs needed for multiplayer.
-- *
-- * Revision 1.51  1995/01/21  21:22:14  mike
-- * Kill prototype of init_boss_segments, which didn't need to be public
-- * and had changed.
-- *
-- * Revision 1.50  1995/01/16  19:24:29  mike
-- * Publicize BOSS_GATE_MATCEN_NUM and Boss_been_hit.
-- *
-- * Revision 1.49  1995/01/02  16:17:35  mike
-- * prototype some super boss function for gameseq.
-- *
-- * Revision 1.48  1994/12/19  17:08:06  mike
-- * deal with new ai_multiplayer_awareness which returns a value saying whether this object can be moved by this player.
-- *
-- * Revision 1.47  1994/12/12  17:18:04  mike
-- * make boss cloak/teleport when get hit, make quad laser 3/4 as powerful.
-- *
-- * Revision 1.46  1994/12/08  15:46:16  mike
-- * better robot behavior.
-- *
-- * Revision 1.45  1994/11/27  23:16:08  matt
-- * Made debug code go away when debugging turned off
-- *
-- * Revision 1.44  1994/11/16  23:38:41  mike
-- * new improved boss teleportation behavior.
-- *
-- * Revision 1.43  1994/11/10  17:45:11  mike
-- * debugging.
-- *
-- * Revision 1.42  1994/11/07  10:37:42  mike
-- * hooks for rob's network code.
-- *
-- * Revision 1.41  1994/11/06  15:10:50  mike
-- * prototype a debug function for dumping ai info.
-- *
-- * Revision 1.40  1994/11/02  17:57:30  rob
-- * Added extern of Believe_player_pos needed to get control centers
-- * locating people.
-- *
-- * Revision 1.39  1994/10/28  19:43:39  mike
-- * Prototype Boss_cloak_start_time, Boss_cloak_end_time.
-- *
-- * Revision 1.38  1994/10/22  14:14:42  mike
-- * Prototype ai_reset_all_paths.
-- *
-- * Revision 1.37  1994/10/21  20:42:01  mike
-- * Define MAX_PATH_LENGTH: maximum allowed length of a path.
-- *
-- * Revision 1.36  1994/10/20  09:49:18  mike
-- * Prototype something.
-- *
-- *
-- * Revision 1.35  1994/10/18  15:37:52  mike
-- * Define ROBOT_BOSS1.
-- *
-- * Revision 1.34  1994/10/13  11:12:25  mike
-- * Prototype some door functions.
-- *
-- * Revision 1.33  1994/10/12  21:28:51  mike
-- * Prototype create_n_segment_path_to_door
-- * Prototype ai_open_doors_in_segment
-- * Prototype ai_door_is_openable.
-- *
-- * Revision 1.32  1994/10/11  15:59:41  mike
-- * Prototype Robot_firing_enabled.
-- *
-- * Revision 1.31  1994/10/09  22:02:48  mike
-- * Adapt create_path_points and create_n_segment_path prototypes to use avoid_seg for player evasion.
-- *
-- * Revision 1.30  1994/09/18  18:07:44  mike
-- * Update prototypes for create_path_points and create_path_to_player.
-- *
-- * Revision 1.29  1994/09/15  16:34:08  mike
-- * Prototype do_ai_robot_hit_attack.
-- *
-- * Revision 1.28  1994/09/12  19:12:35  mike
-- * Prototype attempt_to_resume_path.
-- *
-- * Revision 1.27  1994/08/25  21:55:32  mike
-- * Add some prototypes.
-- *
-- * Revision 1.26  1994/08/10  19:53:24  mike
-- * Prototype create_path_to_player and init_robots_for_level.
-- *
-- * Revision 1.25  1994/08/04  16:32:58  mike
-- * prototype create_path_to_player.
-- *
-- * Revision 1.24  1994/08/03  15:17:20  mike
-- * Prototype make_random_vector.
-- *
-- * Revision 1.23  1994/07/31  18:10:34  mike
-- * Update prototype for create_path_points.
-- *
-- * Revision 1.22  1994/07/28  12:36:14  matt
-- * Cleaned up object bumping code
-
-------------------------------------------------------------------------
-main/ai2.c:
-
-- * Revision 1.1  1995/05/25  12:00:31  mike
-- * Initial revision
-
-------------------------------------------------------------------------
-main/aipath.c:
-
- * Revision 1.5  1995/10/26  14:12:03  allender
- * prototype functions for mcc compiler
- *
- * Revision 1.4  1995/10/25  09:38:22  allender
- * prototype some functions causing mcc grief
- *
- * Revision 1.3  1995/10/10  11:48:43  allender
- * PC ai code
- *
- * Revision 2.0  1995/02/27  11:30:48  john
- * New version 2.0, which has no anonymous unions, builds with
- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
- *
- * Revision 1.101  1995/02/22  13:42:44  allender
- * remove anonymous unions for object structure
- *
- * Revision 1.100  1995/02/10  16:20:04  mike
- * fix bogosity in create_path_points, assumed all objects were robots.
- *
- * Revision 1.99  1995/02/07  21:09:30  mike
- * make run_from guys have diff level based speed.
- *
- * Revision 1.98  1995/02/04  17:28:29  mike
- * make station guys return better.
- *
- * Revision 1.97  1995/02/04  10:28:39  mike
- * fix compile error!
- *
- * Revision 1.96  1995/02/04  10:03:37  mike
- * Fly to exit cheat.
- *
- * Revision 1.95  1995/02/01  21:10:36  mike
- * Array name was dereferenced.  Not a bug, but unclean.
- *
- * Revision 1.94  1995/02/01  17:14:12  mike
- * comment out some common mprintfs which didn't matter.
- *
- * Revision 1.93  1995/01/30  13:01:23  mike
- * Make robots fire at player other than one they are controlled by sometimes.
- *
- * Revision 1.92  1995/01/29  22:29:32  mike
- * add more debug info for guys that get lost.
- *
- * Revision 1.91  1995/01/20  16:56:05  mike
- * station stuff.
- *
- * Revision 1.90  1995/01/18  10:59:45  mike
- * comment out some mprintfs.
- *
- * Revision 1.89  1995/01/17  16:58:34  mike
- * make path following work for multiplayer.
- *
- * Revision 1.88  1995/01/17  14:21:44  mike
- * make run_from guys run better.
- *
- * Revision 1.87  1995/01/14  17:09:04  mike
- * playing with crazy josh, he's kinda slow and dumb now.
- *
- * Revision 1.86  1995/01/13  18:52:28  mike
- * comment out int3.
- *
- * Revision 1.85  1995/01/05  09:42:11  mike
- * compile out code based on SHAREWARE.
- *
- * Revision 1.84  1995/01/02  12:38:32  mike
- * make crazy josh turn faster, therefore evade player better.
- *
- * Revision 1.83  1994/12/27  15:59:40  mike
- * tweak ai_multiplayer_awareness constants.
- *
- * Revision 1.82  1994/12/19  17:07:10  mike
- * deal with new ai_multiplayer_awareness which returns a value saying whether this object can be moved by this player.
- *
- * Revision 1.81  1994/12/15  13:04:30  mike
- * Replace Players[Player_num].time_total references with GameTime.
- *
- * Revision 1.80  1994/12/09  16:13:23  mike
- * remove debug code.
- *
- * Revision 1.79  1994/12/07  00:36:54  mike
- * make robots get out of matcens better and be aware of player.
- *
- * Revision 1.78  1994/11/30  00:59:05  mike
- * optimizations.
- *
- * Revision 1.77  1994/11/27  23:13:39  matt
- * Made changes for new mprintf calling convention
- *
- * Revision 1.76  1994/11/23  21:59:34  mike
- * comment out some mprintfs.
- *
- * Revision 1.75  1994/11/21  16:07:14  mike
- * flip PARALLAX flag, prevent annoying debug information.
- *
- * Revision 1.74  1994/11/19  15:13:28  mike
- * remove unused code and data.
- *
- * Revision 1.73  1994/11/17  14:53:15  mike
- * segment validation functions moved from editor to main.
- *
- * Revision 1.72  1994/11/16  23:38:42  mike
- * new improved boss teleportation behavior.
- *
- * Revision 1.71  1994/11/13  17:18:30  mike
- * debug code, then comment it out.
- *
- * Revision 1.70  1994/11/11  16:41:43  mike
- * flip the PARALLAX flag.
- *
- * Revision 1.69  1994/11/11  16:33:45  mike
- * twiddle the PARALLAX flag.
- *
- *
- * Revision 1.68  1994/11/10  21:32:29  mike
- * debug code.
- *
- * Revision 1.67  1994/11/10  20:15:07  mike
- * fix stupid bug: uninitialized pointer.
- *
- * Revision 1.66  1994/11/10  17:45:15  mike
- * debugging.
- *
- * Revision 1.65  1994/11/10  17:28:10  mike
- * debugging.
-
-------------------------------------------------------------------------
-main/aistruct.h:
-
-- * Revision 1.2  1995/10/10  11:49:04  allender
-- * PC ai code
-- *
-- * Revision 1.1  1995/05/16  15:54:08  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:30:19  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.34  1995/01/25  13:50:46  mike
-- * Robots make angry sounds.
-- *
-- * Revision 1.33  1994/12/29  12:44:56  rob
-- * Added new coop robot flag.
-- *
-- * Revision 1.32  1994/12/20  20:41:54  rob
-- * Added new ai flag for multiplayer robots.
-- *
-- * Revision 1.31  1994/12/19  16:37:39  rob
-- * Added a new flag for remote controlled objects.
-- *
-- * Revision 1.30  1994/12/07  00:36:07  mike
-- * fix phys_apply_rot for robots -- ai was bashing effect in next frame.
-- *
-- * Revision 1.29  1994/12/02  22:06:28  mike
-- * add fields to allow robots to make awareness sounds every so often, not every damn blasted frame
-- *
-- * Revision 1.28  1994/11/04  17:18:35  yuan
-- * Increased MAX_SEG_POINTS to 2500.
-- *
-- * Revision 1.27  1994/10/17  21:19:22  mike
-- * robot cloaking.
-- *
-- * Revision 1.26  1994/10/12  21:28:38  mike
-- * Add new ai mode: AIM_OPEN_DOOR.
-- * Add GOALSIDE to aip.
-- *
-- * Revision 1.25  1994/09/25  23:41:08  matt
-- * Changed the object load & save code to read/write the structure fields one
-- * at a time (rather than the whole structure at once).  This mean that the
-- * object structure can be changed without breaking the load/save functions.
-- * As a result of this change, the local_object data can be and has been
-- * incorporated into the object array.  Also, timeleft is now a property
-- * of all objects, and the object structure has been otherwise cleaned up.
-- *
-- * Revision 1.24  1994/09/21  12:28:11  mike
-- * Change AI behavior for when player cloaked
-- *
-- * Revision 1.23  1994/09/19  21:43:00  mike
-- * Add follow_path_start_seg and follow_path_end_seg to aistruct.h.
-- *
-- * Revision 1.22  1994/09/18  18:06:14  mike
-- * Add Last_uncloaked_time and Last_uncloaked_position variables.
-- *
-- * Revision 1.21  1994/09/15  16:31:38  mike
-- * Define GREEN_GUY
-- * Add previous_visibility to ai_local struct.
-- *
-- * Revision 1.20  1994/09/12  19:12:45  mike
-- * Change some bytes to ints in ai_local so I could set watchpoints.
-- *
-- * Revision 1.19  1994/08/25  21:53:31  mike
-- * Add behavior, taking place of what used to be mode.
-- *
-- * Revision 1.18  1994/08/23  16:38:09  mike
-- * rapidfire_count in ai_local.
-- *
-- * Revision 1.17  1994/08/19  17:38:23  mike
-- * *** empty log message ***
-- *
-- * Revision 1.16  1994/08/17  22:18:58  mike
-- * add time_since_processed to ai_local.
-- *
-- * Revision 1.15  1994/08/10  19:52:25  mike
-- * Add Overall_agitation.
-- *
-- * Revision 1.14  1994/08/04  16:32:32  mike
-- * Add time_player_seen.
-- *
-- * Revision 1.13  1994/07/28  16:58:11  mike
-- * Move constants from ai.c
-- *
-- * Revision 1.12  1994/07/19  15:26:24  mike
-- * New ai_static and ai_local structures.
-- *
-- * Revision 1.11  1994/07/15  15:17:19  matt
-- * Changes MAX_AI_FLAGS for better alignment
-
-------------------------------------------------------------------------
-main/automap.c:
-
-- * Revision 1.8  1995/10/31  10:24:54  allender
-- * shareware stuff
-- *
-- * Revision 1.7  1995/10/21  16:18:20  allender
-- * blit pcx background directly to Page canvas instead of creating
-- * seperate bitmap for it -- hope to solve VM bug on some macs
-- *
-- * Revision 1.6  1995/10/20  00:49:16  allender
-- * added redbook check during automap
-- *
-- * Revision 1.5  1995/09/13  08:44:07  allender
-- * Dave Denhart's changes to speed up the automap
-- *
-- * Revision 1.4  1995/08/18  15:46:00  allender
-- * put text all on upper bar -- and fixed background since
-- * changing xparency color
-- *
-- * Revision 1.3  1995/08/03  15:15:18  allender
-- * fixed edge hashing problem causing automap to crash
-- *
-- * Revision 1.2  1995/07/12  12:49:27  allender
-- * works in 640x480 mode
-- *
-- * Revision 1.1  1995/05/16  15:22:59  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/03/21  14:41:26  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.1  1995/03/20  18:16:06  john
-- * Added code to not store the normals in the segment structure.
-- *
-- * Revision 2.0  1995/02/27  11:32:55  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.117  1995/02/22  14:11:31  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.116  1995/02/22  13:24:39  john
-- * Removed the vecmat anonymous unions.
-- *
-- * Revision 1.115  1995/02/09  14:57:02  john
-- * Reduced mem usage. Made automap slide farther.
-- *
-- * Revision 1.114  1995/02/07  20:40:44  rob
-- * Allow for anarchy automap of player pos by option.
-- *
-- * Revision 1.113  1995/02/07  15:45:33  john
-- * Made automap memory be static.
-- *
-- * Revision 1.112  1995/02/02  12:24:00  adam
-- * played with automap labels
-- *
-- * Revision 1.111  1995/02/02  01:52:52  john
-- * Made the automap use small font.
-- *
-- * Revision 1.110  1995/02/02  01:34:34  john
-- * Made Reset in automap not change segmentlimit.
-- *
-- * Revision 1.109  1995/02/02  01:23:11  john
-- * Finalized the new automap partial viewer.
-- *
-- * Revision 1.108  1995/02/02  00:49:45  mike
-- * new automap segment-depth functionality.
-- *
-- * Revision 1.107  1995/02/02  00:23:04  john
-- * Half of the code for new connected distance stuff in automap.
-- *
-- * Revision 1.106  1995/02/01  22:54:00  john
-- * Made colored doors not fade in automap. Made default
-- * viewing area be maxxed.
-- *
-- * Revision 1.105  1995/02/01  13:16:13  john
-- * Added great grates.
-- *
-- * Revision 1.104  1995/01/31  12:47:06  john
-- * Made Alt+F only work with cheats enabled.
-- *
-- * Revision 1.103  1995/01/31  12:41:23  john
-- * Working with new controls.
-- *
-- * Revision 1.102  1995/01/31  12:04:19  john
-- * Version 2 of new key control.
-- *
-- * Revision 1.101  1995/01/31  11:32:00  john
-- * First version of new automap system.
-- *
-- * Revision 1.100  1995/01/28  16:55:48  john
-- * Made keys draw in automap in the segments that you have
-- * visited.
-- *
-- * Revision 1.99  1995/01/28  14:44:51  john
-- * Made hostage doors show up on automap.
-- *
-- * Revision 1.98  1995/01/22  17:03:49  rob
-- * Fixed problem drawing playerships in automap coop/team mode
-- *
-- * Revision 1.97  1995/01/21  17:23:11  john
-- * Limited S movement in map. Made map bitmap load from disk
-- * and then freed it.
-- *
-- * Revision 1.96  1995/01/19  18:55:38  john
-- * Don't draw players in automap if not obj_player.
-- *
-- * Revision 1.95  1995/01/19  18:48:13  john
-- * Made player colors better in automap.
-- *
-- * Revision 1.94  1995/01/19  17:34:52  rob
-- * Added team colorizations in automap.
-- *
-- * Revision 1.93  1995/01/19  17:15:36  rob
-- * Trying to add player ships into map for coop and team mode.
-- *
-- * Revision 1.92  1995/01/19  17:11:09  john
-- * Added code for Rob to draw Multiplayer ships in automap.
-- *
-- * Revision 1.91  1995/01/12  13:35:20  john
-- * Fixed bug with Segment 0 not getting displayed
-- * in automap if you have EDITOR compiled in.
-- *
-- * Revision 1.90  1995/01/08  16:17:14  john
-- * Added code to draw player's up vector while in automap.
-- *
-- * Revision 1.89  1995/01/08  16:09:41  john
-- * Fixed problems with grate.
-- *
-- * Revision 1.88  1994/12/14  22:54:17  john
-- * Fixed bug that didn't show hostages in automap.
-- *
-- * Revision 1.87  1994/12/09  00:41:03  mike
-- * fix hang in automap print screen
-- *
-- * Revision 1.86  1994/12/05  23:37:15  matt
-- * Took out calls to warning() function
-- *
-- * Revision 1.85  1994/12/03  22:35:28  yuan
-- * Localization 412
-- *
-- * Revision 1.84  1994/12/02  15:05:45  matt
-- * Added new "official" cheats
-- *
-- * Revision 1.83  1994/11/30  12:10:49  adam
-- * added support for PCX titles/brief screens
-- *
-- * Revision 1.82  1994/11/27  23:15:12  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.81  1994/11/27  15:35:52  matt
-- * Enable screen shots even when debugging is turned off
-- *
-- * Revision 1.80  1994/11/26  22:51:43  matt
-- * Removed editor-only fields from segment structure when editor is compiled
-- * out, and padded segment structure to even multiple of 4 bytes.
-- *
-- * Revision 1.79  1994/11/26  16:22:48  matt
-- * Reduced leave_time
-- *
-- * Revision 1.78  1994/11/23  22:00:10  mike
-- * show level number.
-- *
-- * Revision 1.77  1994/11/21  11:40:33  rob
-- * Tweaked the game-loop for automap in multiplayer games.
-- *
-- * Revision 1.76  1994/11/18  16:42:06  adam
-- * removed a font
-- *
-- * Revision 1.75  1994/11/17  13:06:48  adam
-- * changed font
-- *
-- * Revision 1.74  1994/11/14  20:47:17  john
-- * Attempted to strip out all the code in the game
-- * directory that uses any ui code.
-
-------------------------------------------------------------------------
-main/automap.h:
-
-- * Revision 1.2  1995/07/12  12:48:33  allender
-- * moved edge_list structure into here for mallocing in mglobal
-- *
-- * Revision 1.1  1995/05/16  15:54:31  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:29:35  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.5  1994/12/09  00:41:21  mike
-- * fix hang in automap print screen
-- *
-- * Revision 1.4  1994/07/14  11:25:29  john
-- * Made control centers destroy better; made automap use Tab key.
-- *
-- * Revision 1.3  1994/07/12  15:45:51  john
-- * Made paritial map.
-- *
-- * Revision 1.2  1994/07/07  18:35:05  john
-- * First version of automap
-- *
-- * Revision 1.1  1994/07/07  15:12:13  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/bm.c:
-
-- * Revision 1.1  1995/05/16  15:23:08  allender
-- * Initial revision
-- *
-- * Revision 2.3  1995/03/14  16:22:04  john
-- * Added cdrom alternate directory stuff.
-- *
-- * Revision 2.2  1995/03/07  16:51:48  john
-- * Fixed robots not moving without edtiro bug.
-- *
-- * Revision 2.1  1995/03/06  15:23:06  john
-- * New screen techniques.
-- *
-- * Revision 2.0  1995/02/27  11:27:05  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-
-------------------------------------------------------------------------
-main/bm.h:
-
-- * Revision 1.1  1995/05/16  15:54:39  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:32:59  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.60  1994/12/06  13:24:58  matt
-- * Made exit model come out of bitmaps.tbl
-- *
-- * Revision 1.59  1994/11/10  14:02:48  matt
-- * Hacked in support for player ships with different textures
-- *
-- * Revision 1.58  1994/10/27  13:32:17  john
-- * Made TmapList only be in if editor
-- *
-- * Revision 1.57  1994/10/11  12:25:20  matt
-- * Added "hot rocks" that create badass explosion when hit by weapons
-- *
-- * Revision 1.56  1994/09/29  12:38:13  matt
-- * Took out include of digi.h, saving hours of unneeded compiles
-- *
-- * Revision 1.55  1994/09/25  00:39:51  matt
-- * Added the ability to make eclips (monitors, fans) which can be blown up
-- *
-- * Revision 1.54  1994/09/17  01:40:59  matt
-- * Added status bar/sizable window mode, and in the process revamped the
-- * whole cockpit mode system.
-- *
-- * Revision 1.53  1994/09/08  16:20:48  matt
-- * Gave textures the ability to cause damage when scraped
-- *
-- * Revision 1.52  1994/08/30  22:23:43  matt
-- * Added cabability for player ship to have alternate model to use to
-- * create debris.
-- *
-- * Revision 1.51  1994/08/26  15:35:57  matt
-- * Made eclips usable on more than one object at a time
-- *
-- * Revision 1.50  1994/08/23  16:59:51  john
-- * Added 3 cockpuits
-- *
-- * Revision 1.49  1994/08/19  20:09:43  matt
-- * Added end-of-level cut scene with external scene
-- *
-- * Revision 1.48  1994/08/12  22:20:45  matt
-- * Generalized polygon objects (such as control center)
-- *
-- * Revision 1.47  1994/08/09  16:04:21  john
-- * Added network players to editor.
-- *
-- * Revision 1.46  1994/08/09  09:01:31  john
-- * Increase MAX_TEXTURES
-- *
-- * Revision 1.45  1994/07/13  00:14:57  matt
-- * Moved all (or nearly all) of the values that affect player movement to
-- * bitmaps.tbl
-- *
-- * Revision 1.44  1994/06/20  21:33:15  matt
-- * Made bm.h not include sounds.h, to reduce dependencies
-- *
-- * Revision 1.43  1994/06/15  11:55:58  matt
-- * Added 3d model for player
-- *
-- * Revision 1.42  1994/06/13  16:09:11  adam
-- * increased max textures to 600
-- *
-- * Revision 1.41  1994/06/06  15:38:58  john
-- * Made fullscreen view be just another cockpit, but the "hole"
-- * in the cockpit is just bigger.
-- *
-- * Revision 1.40  1994/05/26  21:08:59  matt
-- * Moved robot stuff out of polygon model and into robot_info struct
-- * Made new file, robot.c, to deal with robots
-- *
-- * Revision 1.39  1994/05/18  11:00:05  mike
-- * Add robot_info stuff.
-- *
-- * Revision 1.38  1994/05/17  14:44:56  mike
-- * Get object type and id from ObjType and ObjId.
-- *
-- * Revision 1.37  1994/05/17  12:04:45  mike
-- * Deal with little known fact that polygon object != robot.
-- *
-- * Revision 1.36  1994/05/16  16:17:35  john
-- * Bunch of stuff on my Inferno Task list May16-23
-- *
-- * Revision 1.35  1994/04/27  11:43:42  john
-- * First version of sound! Yay!
-- *
-- * Revision 1.34  1994/04/22  10:53:48  john
-- * Increased MAX_TEXTURES to 500.
-- *
-- * Revision 1.33  1994/04/01  11:15:05  yuan
-- * Added multiple bitmap functionality to all objects...
-- * (hostages, powerups, lasers, etc.)
-- * Hostages and powerups are implemented in the object system,
-- * just need to finish function call to "affect" player.
-- *
-- * Revision 1.32  1994/03/25  17:30:37  yuan
-- * Checking in hostage stuff.
-- *
-- * Revision 1.31  1994/03/17  18:07:28  yuan
-- * Removed switch code... Now we just have Walls, Triggers, and Links...
-- *
-- * Revision 1.30  1994/03/15  17:03:51  yuan
-- * Added Robot/object bitmap capability
-- *
-- * Revision 1.29  1994/03/15  16:32:58  yuan
-- * Cleaned up bm-loading code.
-- * (Fixed structures too)
-- *
-- * Revision 1.28  1994/03/04  17:09:13  yuan
-- * New door stuff.
-- *
-- * Revision 1.27  1994/01/31  14:50:09  yuan
-- * Added Robotex
-- *
-- * Revision 1.26  1994/01/31  12:27:14  yuan
-- * Added demo stuff (menu, etc.)
-- *
-- * Revision 1.25  1994/01/25  17:11:43  john
-- * New texmaped lasers.
-- *
-- * Revision 1.24  1994/01/24  11:48:06  yuan
-- * Lighting stuff
-- *
-- * Revision 1.23  1994/01/22  13:40:15  yuan
-- * Modified the bmd_bitmap structure a bit.
-- * (Saves some memory, and added reflection)
-- *
-- * Revision 1.22  1994/01/11  10:58:38  yuan
-- * Added effects system
-- *
-- * Revision 1.21  1994/01/06  17:13:12  john
-- * Added Video clip functionality
-- *
-- * Revision 1.20  1993/12/21  20:00:15  john
-- * moved selector stuff to grs_bitmap
-- *
-- * Revision 1.19  1993/12/21  19:33:58  john
-- * Added selector to bmd_bitmap.
-- *
-- * Revision 1.18  1993/12/07  12:28:48  john
-- * moved bmd_palette to gr_palette
-- *
-- * Revision 1.17  1993/12/06  18:40:37  matt
-- * Changed object loading & handling
-- *
-- * Revision 1.16  1993/12/05  23:05:03  matt
-- * Added include of gr.h
-- *
-- * Revision 1.15  1993/12/03  17:38:04  yuan
-- * Ooops. meant to say:
-- * Moved MAX variables to bm.c, Arrays left open.
-- *
-- * Revision 1.14  1993/12/03  17:37:26  yuan
-- * Added Asserts.
-- *
-- * Revision 1.13  1993/12/02  17:22:54  yuan
-- * New global var. Num_object_types
-- *
-- * Revision 1.12  1993/12/02  16:34:39  yuan
-- * Added fireball hack stuff.
-- *
-- * Revision 1.11  1993/12/02  15:45:14  yuan
-- * Added a buncha constants, variables, and function prototypes
-- * for the new bitmaps.tbl format.
-- *
-- * Revision 1.10  1993/12/01  11:25:11  yuan
-- * Changed MALLOC'd buffers for filename and type in
-- * the bmd_bitmap structure into arrays... Saves time
-- * at load up.
-- *
-- * Revision 1.9  1993/12/01  00:28:09  yuan
-- * New bitmap system structure.
-- *
-- * Revision 1.8  1993/11/03  11:34:08  john
-- * made it use bitmaps.tbl
-- *
-- * Revision 1.7  1993/10/26  18:11:03  john
-- * made all palette data be statically allocated
-- *
-- * Revision 1.6  1993/10/19  12:17:51  john
-- * *** empty log message ***
-- *
-- * Revision 1.5  1993/10/16  20:02:41  matt
-- * Changed name of backdrop bitmap file
-- *
-- * Revision 1.4  1993/10/12  15:08:52  matt
-- * Added a bunch of new textures
-- *
-- * Revision 1.3  1993/10/12  12:30:41  john
-- * *** empty log message ***
-- *
-- * Revision 1.2  1993/10/12  11:27:58  john
-- * added more bitmaps
-- *
-- * Revision 1.1  1993/09/23  13:09:10  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/bmread.c:
-
-- * Revision 2.4  1995/03/28  18:05:29  john
-- * Fixed it so you don't have to delete pig after changing bitmaps.tbl
-- *
-- * Revision 2.3  1995/03/07  16:52:03  john
-- * Fixed robots not moving without edtiro bug.
-- *
-- * Revision 2.2  1995/03/06  16:10:20  mike
-- * Fix compile errors if building without editor.
-- *
-- * Revision 2.1  1995/03/02  14:55:40  john
-- * Fixed bug with EDITOR never defined.
-- *
-- * Revision 2.0  1995/02/27  11:33:10  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.1  1995/02/25  14:02:36  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/ctrlcen.c:
-
-- * Revision 1.2  1995/10/17  13:12:13  allender
-- * added param to ai call
-- *
-- * Revision 1.1  1995/05/16  15:23:27  allender
-- * Initial revision
-- *
-- * Revision 2.1  1995/03/21  14:40:25  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.0  1995/02/27  11:31:25  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.22  1995/02/11  01:56:14  mike
-- * robots don't fire cheat.
-- *
-- * Revision 1.21  1995/02/05  13:39:39  mike
-- * fix stupid bug in control center firing timing.
-- *
-- * Revision 1.20  1995/02/03  17:41:21  mike
-- * fix control cen next fire time in multiplayer.
-- *
-- * Revision 1.19  1995/01/29  13:46:41  mike
-- * adapt to new create_small_fireball_on_object prototype.
-- *
-- * Revision 1.18  1995/01/18  16:12:13  mike
-- * Make control center aware of a cloaked playerr when he fires.
-- *
-- * Revision 1.17  1995/01/12  12:53:44  rob
-- * Trying to fix a bug with having cntrlcen in robotarchy games.
-- *
-- * Revision 1.16  1994/12/11  12:37:22  mike
-- * make control center smarter about firing at cloaked player, don't fire through self, though
-- * it still looks that way due to prioritization problems.
-- *
-- * Revision 1.15  1994/12/01  11:34:33  mike
-- * fix control center shield strength in multiplayer team games.
-- *
-- * Revision 1.14  1994/11/30  15:44:29  mike
-- * make cntrlcen harder at higher levels.
-- *
-- * Revision 1.13  1994/11/29  22:26:23  yuan
-- * Fixed boss bug.
-- *
-- * Revision 1.12  1994/11/27  23:12:31  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.11  1994/11/23  17:29:38  mike
-- * deal with peculiarities going between net and regular game on boss level.
-- *
-- * Revision 1.10  1994/11/18  18:27:15  rob
-- * Fixed some bugs with the last version.
-- *
-- * Revision 1.9  1994/11/18  17:13:59  mike
-- * special case handling for level 8.
-- *
-- * Revision 1.8  1994/11/15  12:45:28  mike
-- * don't let cntrlcen know where a cloaked player is.
-- *
-- * Revision 1.7  1994/11/08  12:18:37  mike
-- * small explosions on control center.
-- *
-- * Revision 1.6  1994/11/02  17:59:18  rob
-- * Changed control centers so they can find people in network games.
-- * Side effect of this is that control centers can find cloaked players.
-- * (see in-code comments for explanation).
-- * Also added network hooks so control center shots 'sync up'.
-- *
-- * Revision 1.5  1994/10/22  14:13:21  mike
-- * Make control center stop firing shortly after player dies.
-- * Fix bug: If play from editor and die, tries to initialize non-control center object.
-- *
-- * Revision 1.4  1994/10/20  15:17:30  mike
-- * Hack for control center inside boss robot.
-- *
-- * Revision 1.3  1994/10/20  09:47:46  mike
-- * lots stuff.
-- *
-- * Revision 1.2  1994/10/17  21:35:09  matt
-- * Added support for new Control Center/Main Reactor
-- *
-- * Revision 1.1  1994/10/17  20:24:01  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/ctrlcen.h:
-
-- * Revision 2.0  1995/02/27  11:30:40  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.7  1995/02/01  16:34:14  john
-- * Linted.
-- *
-- * Revision 1.6  1995/01/03  20:19:14  john
-- * Pretty good working version of game save.
-- *
-- * Revision 1.5  1994/11/08  12:18:28  mike
-- * small explosions on control center.
-- *
-- * Revision 1.4  1994/11/02  18:00:12  rob
-- * Added extern for Gun_pos array for network hooks.
-- *
-- * Revision 1.3  1994/10/20  09:47:37  mike
-- * *** empty log message ***
-- *
-- * Revision 1.2  1994/10/17  21:35:10  matt
-- * Added support for new Control Center/Main Reactor
-- *
-- * Revision 1.1  1994/10/17  20:24:28  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/collide.c:
-
-- * Revision 1.3  1995/11/08  17:15:21  allender
-- * make collide_player_and_weapon play player_hit_sound if
-- * shareware and not my playernum
-- *
-- * Revision 1.2  1995/10/31  10:24:37  allender
-- * shareware stuff
-- *
-- * Revision 1.1  1995/05/16  15:23:34  allender
-- * Initial revision
-- *
-- * Revision 2.5  1995/07/26  12:07:46  john
-- * Made code that pages in weapon_info->robot_hit_vclip not
-- * page in unless it is a badass weapon.  Took out old functionallity
-- * of using this if no robot exp1_vclip, since all robots have these.
-- *
-- * Revision 2.4  1995/03/30  16:36:09  mike
-- * text localization.
-- *
-- * Revision 2.3  1995/03/24  15:11:13  john
-- * Added ugly robot cheat.
-- *
-- * Revision 2.2  1995/03/21  14:41:04  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.1  1995/03/20  18:16:02  john
-- * Added code to not store the normals in the segment structure.
-- *
-- * Revision 2.0  1995/02/27  11:32:20  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.289  1995/02/22  13:56:06  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.288  1995/02/11  15:52:45  rob
-- * Included text.h.
-- *
-- * Revision 1.287  1995/02/11  15:04:11  rob
-- * Localized a string.
-- *
-- * Revision 1.286  1995/02/11  14:25:41  rob
-- * Added invul. controlcen option.
-- *
-- * Revision 1.285  1995/02/06  15:53:00  mike
-- * create awareness event for player:wall collision.
-- *
-- * Revision 1.284  1995/02/05  23:18:17  matt
-- * Deal with objects (such as fusion blobs) that get created already
-- * poking through a wall
-- *
-- * Revision 1.283  1995/02/01  17:51:33  mike
-- * fusion bolt can now toast multiple proximity bombs.
-- *
-- * Revision 1.282  1995/02/01  17:29:20  john
-- * Lintized
-- *
-- * Revision 1.281  1995/02/01  15:04:00  rob
-- * Changed sound of weapons hitting invulnerable players.
-- *
-- * Revision 1.280  1995/01/31  16:16:35  mike
-- * Separate smart blobs for robot and player.
-- *
-- * Revision 1.279  1995/01/29  15:57:10  rob
-- * Fixed another bug with robot_request_change calls.
-- *
-- * Revision 1.278  1995/01/28  18:15:06  rob
-- * Fixed a bug in multi_request_robot_change.
-- *
-- * Revision 1.277  1995/01/27  15:15:44  rob
-- * Fixing problems with controlcen damage.
-- *
-- * Revision 1.276  1995/01/27  15:13:10  mike
-- * comment out mprintf.
-- *
-- * Revision 1.275  1995/01/26  22:11:51  mike
-- * Purple chromo-blaster (ie, fusion cannon) spruce up (chromification)
-- *
-- * Revision 1.274  1995/01/26  18:57:55  rob
-- * Changed two uses of digi_play_sample to digi_link_sound_to_pos which
-- * made more sense.
-- *
-- * Revision 1.273  1995/01/25  23:37:58  mike
-- * make persistent objects not hit player more than once.
-- * Also, make them hit player before degrading them, else they often did 0 damage.
-- *
-- * Revision 1.272  1995/01/25  18:23:54  rob
-- * Don't let players pick up powerups in exit tunnel.
-- *
-- * Revision 1.271  1995/01/25  13:43:18  rob
-- * Added robot transfer for player collisions.
-- * Removed mprintf from collide.c on Mike's request.
-- *
-- * Revision 1.270  1995/01/25  10:24:01  mike
-- * Make sizzle and rock happen in lava even if you're invulnerable.
-- *
-- * Revision 1.269  1995/01/22  17:05:33  mike
-- * Call multi_robot_request_change when a robot gets whacked by a player or
-- * player weapon, if player_num != Player_num
-- *
-- * Revision 1.268  1995/01/21  21:20:28  matt
-- * Fixed stupid bug
-- *
-- * Revision 1.267  1995/01/21  18:47:47  rob
-- * Fixed a really dumb bug with player keys.
-- *
-- * Revision 1.266  1995/01/21  17:39:30  matt
-- * Cleaned up laser/player hit wall confusions
-- *
-- * Revision 1.265  1995/01/19  17:44:42  mike
-- * damage_force removed, that information coming from strength field.
-- *
-- * Revision 1.264  1995/01/18  17:12:56  rob
-- * Fixed control stuff for multiplayer.
-- *
-- * Revision 1.263  1995/01/18  16:12:33  mike
-- * Make control center aware of a cloaked playerr when he fires.
-- *
-- * Revision 1.262  1995/01/17  17:48:42  rob
-- * Added key syncing for coop players.
-- *
-- * Revision 1.261  1995/01/16  19:30:28  rob
-- * Fixed an assert error in fireball.c
-- *
-- * Revision 1.260  1995/01/16  19:23:51  mike
-- * Say Boss_been_hit if he been hit so he gates appropriately.
-- *
-- * Revision 1.259  1995/01/16  11:55:16  mike
-- * make enemies become aware of player if he damages control center.
-- *
-- * Revision 1.258  1995/01/15  16:42:00  rob
-- * Fixed problem with robot bumping damage.
-- *
-- * Revision 1.257  1995/01/14  19:16:36  john
-- * First version of new bitmap paging code.
-- *
-- * Revision 1.256  1995/01/03  17:58:37  rob
-- * Fixed scoring problems.
-- *
-- * Revision 1.255  1994/12/29  12:41:11  rob
-- * Tweaking robot exploding in coop.
-- *
-- * Revision 1.254  1994/12/28  10:37:59  rob
-- * Fixed ifdef of multibot stuff.
-- *
-- * Revision 1.253  1994/12/21  19:03:14  rob
-- * Fixing score accounting for multiplayer robots
-- *
-- * Revision 1.252  1994/12/21  17:36:31  rob
-- * Fix hostage pickup problem in network.
-- * tweaking robot powerup drops.
-- *
-- * Revision 1.251  1994/12/19  20:32:34  rob
-- * Remove awareness events from player collisions and lasers that are not the console player.
-- *
-- * Revision 1.250  1994/12/19  20:01:22  rob
-- * Added multibot.h include.
-- *
-- * Revision 1.249  1994/12/19  16:36:41  rob
-- * Patches damaging of multiplayer robots.
-- *
-- * Revision 1.248  1994/12/14  21:15:18  rob
-- * play lava hiss across network.
-- *
-- * Revision 1.247  1994/12/14  17:09:09  matt
-- * Fixed problem with no sound when lasers hit closed walls, like grates.
-- *
-- * Revision 1.246  1994/12/14  09:51:49  mike
-- * make any weapon cause proximity bomb detonation.
-- *
-- * Revision 1.245  1994/12/13  12:55:25  mike
-- * change number of proximity bomb powerups which get dropped.
-- *
-- * Revision 1.244  1994/12/12  17:17:53  mike
-- * make boss cloak/teleport when get hit, make quad laser 3/4 as powerful.
-- *
-- * Revision 1.243  1994/12/12  12:07:51  rob
-- * Don't take damage if we're in endlevel sequence.
-- *
-- * Revision 1.242  1994/12/11  23:44:52  mike
-- * less phys_apply_rot() at higher skill levels.
-- *
-- * Revision 1.241  1994/12/11  12:37:02  mike
-- * remove stupid robot spinning code.  it was really stupid.  (actually, call here, code in ai.c).
-- *
-- * Revision 1.240  1994/12/10  16:44:51  matt
-- * Added debugging code to track down door that turns into rock
-- *
-- * Revision 1.239  1994/12/09  14:59:19  matt
-- * Added system to attach a fireball to another object for rendering purposes,
-- * so the fireball always renders on top of (after) the object.
-- *
-- * Revision 1.238  1994/12/09  09:57:02  mike
-- * Don't allow robots or their weapons to pass through control center.
-- *
-- * Revision 1.237  1994/12/08  15:46:03  mike
-- * better robot behavior.
-- *
-- * Revision 1.236  1994/12/08  12:32:56  mike
-- * make boss dying more interesting.
-- *
-- * Revision 1.235  1994/12/07  22:49:15  mike
-- * tweak rotation due to collision.
-- *
-- * Revision 1.234  1994/12/07  16:44:50  mike
-- * make bump sound if supposed to, even if not taking damage.
-- *
-- * Revision 1.233  1994/12/07  12:55:08  mike
-- * tweak rotvel applied from collisions.
-- *
-- * Revision 1.232  1994/12/05  19:30:48  matt
-- * Fixed horrible segment over-dereferencing
-- *
-- * Revision 1.231  1994/12/05  00:32:15  mike
-- * do rotvel on badass and bump collisions.
-- *
-- * Revision 1.230  1994/12/03  12:49:22  mike
-- * don't play bonk sound when you collide with a volatile wall (like lava).
-- *
-- * Revision 1.229  1994/12/02  16:51:09  mike
-- * make lava sound only happen at 4 Hz.
-- *
-- * Revision 1.228  1994/11/30  23:55:27  rob
-- * Fixed a bug where a laser hitting a wall was making 2 sounds.
-- *
-- * Revision 1.227  1994/11/30  20:11:00  rob
-- * Fixed # of dropped laser powerups.
-- *
-- * Revision 1.226  1994/11/30  19:19:03  rob
-- * Transmit collission sounds for net games.
-- *
-- * Revision 1.225  1994/11/30  16:33:01  mike
-- * new boss behavior.
-- *
-- * Revision 1.224  1994/11/30  15:44:17  mike
-- * /2 on boss smart children damage.
-- *
-- * Revision 1.223  1994/11/30  14:03:03  mike
-- * hook for claw sounds
-- *
-- * Revision 1.222  1994/11/29  20:41:09  matt
-- * Deleted a bunch of commented-out lines
-- *
-- * Revision 1.221  1994/11/27  23:15:08  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.220  1994/11/19  16:11:28  rob
-- * Collision damage with walls or lava is counted as suicides in net games
-- *
-- * Revision 1.219  1994/11/19  15:20:41  mike
-- * rip out unused code and data
-- *
-- * Revision 1.218  1994/11/17  18:44:27  rob
-- * Added OBJ_GHOST to list of valid player types to create eggs.
-- *
-- * Revision 1.217  1994/11/17  14:57:59  mike
-- * moved segment validation functions from editor to main.
-- *
-- * Revision 1.216  1994/11/16  23:38:36  mike
-- * new improved boss teleportation behavior.
-- *
-- * Revision 1.215  1994/11/16  12:16:29  mike
-- * Enable collisions between robots.  A hack in fvi.c only does this for robots which lunge to attack (eg, green guy)
-- *
-- * Revision 1.214  1994/11/15  16:51:50  mike
-- * bump player when he hits a volatile wall.
-- *
-- * Revision 1.213  1994/11/12  16:38:44  mike
-- * allow flares to open doors.
-- *
-- * Revision 1.212  1994/11/10  13:09:19  matt
-- * Added support for new run-length-encoded bitmaps
-- *
-- * Revision 1.211  1994/11/09  17:05:43  matt
-- * Fixed problem with volatile walls
-- *
-- * Revision 1.210  1994/11/09  12:11:46  mike
-- * only award points if ConsoleObject killed robot.
-- *
-- * Revision 1.209  1994/11/09  11:11:03  yuan
-- * Made wall volatile if either tmap_num1 or tmap_num2 is a volatile wall.
-- *
-- * Revision 1.208  1994/11/08  12:20:15  mike
-- * moved do_controlcen_destroyed_stuff from here to cntrlcen.c
-- *
-- * Revision 1.207  1994/11/02  23:22:08  mike
-- * Make ` (backquote, KEY_LAPOSTRO) tell what wall was hit by laser.
-- *
-- * Revision 1.206  1994/11/02  18:03:00  rob
-- * Fix control_center_been_hit logic so it only cares about the local player.
-- * Other players take care of their own control center 'ai'.
-- *
-- * Revision 1.205  1994/11/01  19:37:33  rob
-- * Changed the max # of consussion missiles to 4.
-- * (cause they're lame and clutter things up)
-- *
-- * Revision 1.204  1994/11/01  18:06:35  john
-- * Tweaked wall banging sound constant.
-- *
-- * Revision 1.203  1994/11/01  18:01:40  john
-- * Made wall bang less obnoxious, but volume based.
-- *
-- * Revision 1.202  1994/11/01  17:11:05  rob
-- * Changed some stuff in drop_player_eggs.
-- *
-- * Revision 1.201  1994/11/01  12:18:23  john
-- * Added sound volume support. Made wall collisions be louder/softer.
-- *
-- * Revision 1.200  1994/10/31  13:48:44  rob
-- * Fixed bug in opening doors over network/modem.  Added a new message
-- * type to multi.c that communicates door openings across the net.
-- * Changed includes in multi.c and wall.c to accomplish this.
-- *
-- * Revision 1.199  1994/10/28  14:42:52  john
-- * Added sound volumes to all sound calls.
-- *
-- * Revision 1.198  1994/10/27  16:58:37  allender
-- * added demo recording of monitors blowing up
-- *
-- * Revision 1.197  1994/10/26  23:20:52  matt
-- * Tone down flash even more
-- *
-- * Revision 1.196  1994/10/26  23:01:50  matt
-- * Toned down red flash when damaged
-- *
-- * Revision 1.195  1994/10/26  15:56:29  yuan
-- * Tweaked some palette flashes.
-- *
-- * Revision 1.194  1994/10/25  11:32:26  matt
-- * Fixed bugs with vulcan powerups in mutliplayer
-- *
-- * Revision 1.193  1994/10/25  10:51:18  matt
-- * Vulcan cannon powerups now contain ammo count
-- *
-- * Revision 1.192  1994/10/24  14:14:05  matt
-- * Fixed bug in bump_two_objects()
-- *
-- * Revision 1.191  1994/10/23  19:17:04  matt
-- * Fixed bug with "no key" messages
-- *
-- * Revision 1.190  1994/10/22  00:08:46  matt
-- * Fixed up problems with bonus & game sequencing
-- * Player doesn't get credit for hostages unless he gets them out alive
-- *
-- * Revision 1.189  1994/10/21  20:42:34  mike
-- * Clear number of hostages on board between levels.
-- *
-- * Revision 1.188  1994/10/20  15:17:43  mike
-- * control center in boss handling.
-- *
-- * Revision 1.187  1994/10/20  10:09:47  mike
-- * Only ever drop 1 shield powerup in multiplayer (as an egg).
-- *
-- * Revision 1.186  1994/10/20  09:47:11  mike
-- * Fix bug in dropping vulcan ammo in multiplayer.
-- * Also control center stuff.
-- *
-- * Revision 1.185  1994/10/19  15:14:32  john
-- * Took % hits out of player structure, made %kills work properly.
-- *
-- * Revision 1.184  1994/10/19  11:33:16  john
-- * Fixed hostage rescued percent.
-- *
-- * Revision 1.183  1994/10/19  11:16:49  mike
-- * Don't allow crazy josh to open locked doors.
-- * Don't allow weapons to harm parent.
-- *
-- * Revision 1.182  1994/10/18  18:37:01  mike
-- * No more hostage killing.  Too much stuff to do to integrate into game.
-- *
-- * Revision 1.181  1994/10/18  16:37:35  mike
-- * Debug function for Yuan: Show seg:side when hit by puny laser if Show_seg_and_side != 0.
-- *
-- * Revision 1.180  1994/10/18  10:53:17  mike
-- * Support attack type as a property of a robot, not of being == GREEN_GUY.
-- *
-- * Revision 1.179  1994/10/17  21:18:36  mike
-- * diminish damage player does to robot due to collision, only took 2-3 hits to kill a josh.
-- *
-- * Revision 1.178  1994/10/17  20:30:40  john
-- * Made player_hostages_rescued or whatever count properly.
-- *
-- * Revision 1.177  1994/10/16  12:42:56  mike
-- * Trap bogus amount of vulcan ammo dropping.
-- *
-- * Revision 1.176  1994/10/15  19:06:51  mike
-- * Drop vulcan ammo if player has it, but no vulcan cannon (when he dies).
-- *
-- * Revision 1.175  1994/10/13  15:42:06  mike
-- * Remove afterburner.
-- *
-- * Revision 1.174  1994/10/13  11:12:57  mike
-- * Apply damage to robots.  I hosed it a couple weeks ago when I made the green guy special.
-
-------------------------------------------------------------------------
-main/collide.h:
-
-- * Revision 1.1  1995/05/16  15:55:09  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:28:59  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.23  1995/01/26  22:11:47  mike
-- * Purple chromo-blaster (ie, fusion cannon) spruce up (chromification)
-- *
-- * Revision 1.22  1994/12/21  19:03:24  rob
-- * Fixing score accounting for multiplayer robots
-- *
-- * Revision 1.21  1994/12/21  11:34:56  mike
-- * make control center take badass damage.
-- *
-- * Revision 1.20  1994/10/29  16:53:16  allender
-- * added check_effect_blowup for demo recording to record monitor explosions
-- *
-- * Revision 1.19  1994/10/09  13:46:48  mike
-- * Make public collide_player_and_powerup.
-- *
-- * Revision 1.18  1994/10/05  14:54:29  rob
-- * Added serial game support in control center sequence..
-- *
-- * Revision 1.17  1994/09/15  16:32:12  mike
-- * Prototype collide_player_and_nasty_robot.
-- *
-- * Revision 1.16  1994/09/11  15:49:04  mike
-- * Prototype for maybe_detonate_weapon.
-- *
-- * Revision 1.15  1994/09/09  14:20:07  matt
-- * Added prototype for scrape function
-- *
-- * Revision 1.14  1994/09/02  14:00:44  matt
-- * Simplified explode_object() & mutliple-stage explosions
-- *
-- * Revision 1.13  1994/08/18  10:47:35  john
-- * Cleaned up game sequencing and player death stuff
-- * in preparation for making the player explode into
-- * pieces when dead.
-- *
-- * Revision 1.12  1994/08/17  16:50:08  john
-- * Added damaging fireballs, missiles.
-- *
-- * Revision 1.11  1994/08/03  16:45:31  mike
-- * Prototype a function.
-- *
-- * Revision 1.10  1994/08/03  15:17:41  mike
-- * make matcen whack on you if it's ready to make a robot.
-- *
-- * Revision 1.9  1994/07/22  12:08:03  mike
-- * Make robot hit vclip and sound weapon-based until robot dies, then robot-based.
-- *
-- * Revision 1.8  1994/07/09  17:36:31  mike
-- * Prototype apply_damage_to_robot.
-- *
-- * Revision 1.7  1994/07/09  13:20:36  mike
-- * Prototype apply_damage_to_player.
-- *
-- * Revision 1.6  1994/06/20  23:35:52  john
-- * Bunch of stuff.
-- *
-- * Revision 1.5  1994/06/17  18:04:03  yuan
-- * Added Immaterialization...
-- * Fixed Invulnerability to allow being hit.
-- *
-- * Revision 1.4  1994/05/13  20:28:02  john
-- * Version II of John's new object code.
-- *
-- * Revision 1.3  1994/05/13  12:20:35  john
-- * Fixed some potential problems with code using global variables
-- * that are set in fvi.
-- *
-- * Revision 1.2  1994/05/12  23:20:32  john
-- * Moved all object collision handling into collide.c.
-- *
-- * Revision 1.1  1994/05/12  20:39:09  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/compbit.h:
-
-- * Revision 1.1  1995/05/16  15:55:16  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:28:46  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.3  1994/12/05  15:10:28  allender
-- * changed extern prototype definition
-- *
-- * Revision 1.2  1994/10/19  15:43:33  allender
-- * header file which contains the xor value which is used when encrypting
-- * bitmaps.tbl
-- *
-- * Revision 1.1  1994/10/19  13:22:19  allender
-- * Initial revision
-
-------------------------------------------------------------------------
-main/config.c:
-
-- * Revision 1.8  1995/10/27  10:52:20  allender
-- * call digi_set_master_volume when prefs are read in to
-- * set the master volume of the mac
-- *
-- * Revision 1.7  1995/10/24  17:08:39  allender
-- * Config_master_volume added for saving sound manager volume
-- * across games
-- *
-- * Revision 1.6  1995/10/20  00:49:31  allender
-- * use default values when no prefs file
-- *
-- * Revision 1.5  1995/09/21  10:06:58  allender
-- * set digi and midi volume appropriately
-- *
-- * Revision 1.4  1995/09/13  08:49:38  allender
-- * prefs file stuff
-- *
-- * Revision 1.3  1995/09/05  08:47:37  allender
-- * prefs file working
-- *
-- * Revision 1.2  1995/05/26  06:54:14  allender
-- * removed midi and digi references from config file
-- *
-- * Revision 1.1  1995/05/16  15:23:45  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/03/27  09:42:59  john
-- * Added VR Settings in config file.
-- *
-- * Revision 2.1  1995/03/16  11:20:40  john
-- * Put in support for Crystal Lake soundcard.
-- *
-- * Revision 2.0  1995/02/27  11:30:13  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.14  1995/02/11  16:19:36  john
-- * Added code to make the default mission be the one last played.
-- *
-- * Revision 1.13  1995/01/18  13:23:24  matt
-- * Made curtom detail level vars initialize properly at load
-- *
-- * Revision 1.12  1995/01/04  22:15:36  matt
-- * Fixed stupid bug using scanf() to read bytes
-- *
-- * Revision 1.11  1995/01/04  13:14:21  matt
-- * Made custom detail level settings save in config file
-- *
-- * Revision 1.10  1994/12/12  21:35:09  john
-- * *** empty log message ***
-- *
-- * Revision 1.9  1994/12/12  21:31:51  john
-- * Made volume work better by making sure volumes are valid
-- * and set correctly at program startup.
-- *
-- * Revision 1.8  1994/12/12  13:58:01  john
-- * MAde -nomusic work.
-- * Fixed GUS hang at exit by deinitializing digi before midi.
-- *
-- * Revision 1.7  1994/12/08  10:01:33  john
-- * Changed the way the player callsign stuff works.
-- *
-- * Revision 1.6  1994/12/01  11:24:07  john
-- * Made volume/gamma/joystick sliders all be the same length.  0-->8.
-- *
-- * Revision 1.5  1994/11/29  02:01:07  john
-- * Added code to look at -volume command line arg.
-- *
-- * Revision 1.4  1994/11/14  20:14:11  john
-- * Fixed some warnings.
-- *
-- * Revision 1.3  1994/11/14  19:51:01  john
-- * Added joystick cal values to descent.cfg.
-- *
-- * Revision 1.2  1994/11/14  17:53:09  allender
-- * read and write descent.cfg file
-- *
-- * Revision 1.1  1994/11/14  16:28:08  allender
-- * Initial revision
-
-------------------------------------------------------------------------
-main/config.h:
-
-- * Revision 1.3  1995/09/08  17:12:26  allender
-- * added modem tool stuff for prefs file
-- *
-- * Revision 1.2  1995/09/05  08:47:48  allender
-- * prefs file working
-- *
-- * Revision 1.1  1995/05/16  15:55:23  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:32:48  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.4  1995/02/11  16:20:06  john
-- * Added code to make the default mission be the one last played.
-- *
-- * Revision 1.3  1994/12/08  10:01:41  john
-- * Changed the way the player callsign stuff works.
-- *
-- * Revision 1.2  1994/11/14  17:53:17  allender
-- * extern definitions for ReadConfigFile and WriteConfigFile
-- *
-- * Revision 1.1  1994/11/14  16:56:17  allender
-- * Initial revision
-
-------------------------------------------------------------------------
-main/controls.c:
-
-- * Revision 1.3  1995/11/20  17:17:27  allender
-- * call fix_fastsincos with tmp variable to prevent
-- * writing to NULL
-- *
-- * Revision 1.2  1995/08/11  16:00:04  allender
-- * fixed bug we think we never saw (overflow on max_rotthrust
-- *
-- * Revision 1.1  1995/05/16  15:23:53  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:27:11  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.50  1995/02/22  14:11:19  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.49  1994/12/15  13:04:10  mike
-- * Replace Players[Player_num].time_total references with GameTime.
-- *
-- * Revision 1.48  1994/11/27  23:12:13  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.47  1994/11/25  22:15:54  matt
-- * Added asserts to try to trap frametime < 0 bug
-- *
-- * Revision 1.46  1994/11/16  11:25:40  matt
-- * Took out int3's since I determined that the errors are caused by neg frametime
-- *
-- * Revision 1.45  1994/11/15  13:07:23  matt
-- * Added int3's to try to trap bug
-- *
-- * Revision 1.44  1994/10/14  16:18:12  john
-- * Made Assert that the object was player just nicely exit
-- * the function.
-- *
-- * Revision 1.43  1994/10/13  11:35:25  john
-- * Made Thrustmaster FCS Hat work.  Put a background behind the
-- * keyboard configure.  Took out turn_sensitivity.  Changed sound/config
-- * menu to new menu. Made F6 be calibrate joystick.
-- *
-- * Revision 1.42  1994/09/29  11:22:02  mike
-- * Zero thrust when player dies.
-- *
-- * Revision 1.41  1994/09/16  13:10:30  mike
-- * Hook in afterburner stuff.
-- *
-- * Revision 1.40  1994/09/14  22:21:54  matt
-- * Avoid post-death assert
-- *
-- * Revision 1.39  1994/09/11  20:30:27  matt
-- * Cleaned up thrust vars, changing a few names
-- *
-- * Revision 1.38  1994/09/10  15:46:31  john
-- * First version of new keyboard configuration.
-- *
-- * Revision 1.37  1994/09/07  15:58:12  mike
-- * Check for player dead in controls so you can't fire or move after dead, logical, huh?
-- *
-- * Revision 1.36  1994/09/06  14:51:56  john
-- * Added sensitivity adjustment, fixed bug with joystick button not
-- * staying down.
-- *
-- * Revision 1.35  1994/09/01  15:43:26  john
-- * Put pitch bak like it was.
-- *
-- * Revision 1.34  1994/08/31  18:59:35  john
-- * Made rotthrust back like it was.
-- *
-- * Revision 1.33  1994/08/31  18:49:17  john
-- * Slowed Maxrothrust a bit,
-- * ..
-- *
-- * Revision 1.32  1994/08/31  18:32:05  john
-- * Lower max rotational thrust
-- *
-- * Revision 1.31  1994/08/29  21:18:27  john
-- * First version of new keyboard/oystick remapping stuff.
-- *
-- * Revision 1.30  1994/08/29  16:18:30  mike
-- * trap divide overflow.
-- *
-- * Revision 1.29  1994/08/26  14:40:45  john
-- * *** empty log message ***
-- *
-- * Revision 1.28  1994/08/26  12:23:50  john
-- * MAde joystick read up to 15 times per second max.
-- *
-- * Revision 1.27  1994/08/26  10:50:59  john
-- * Took out Controls_always_stopped.
-- *
-- * Revision 1.26  1994/08/26  10:47:27  john
-- * *** empty log message ***
-- *
-- * Revision 1.25  1994/08/26  10:46:50  john
-- * New version of controls.
-- *
-- * Revision 1.24  1994/08/25  19:41:44  john
-- * *** empty log message ***
-- *
-- * Revision 1.23  1994/08/25  18:44:55  john
-- * *** empty log message ***
-- *
-- * Revision 1.22  1994/08/25  18:43:46  john
-- * First revision of new control code.
-- *
-- * Revision 1.21  1994/08/24  20:02:46  john
-- * Added cyberman support; made keys work key_down_time
-- * returning seconds instead of milliseconds,.
-- *
-- *
-- * Revision 1.20  1994/08/24  19:00:27  john
-- * Changed key_down_time to return fixed seconds instead of
-- * milliseconds.
-- *
-- * Revision 1.19  1994/08/19  15:22:12  mike
-- * Fix divide overflow in sliding.
-- *
-- * Revision 1.18  1994/08/19  14:42:50  john
-- * Added joystick sensitivity.
-- *
-- * Revision 1.17  1994/08/17  16:50:01  john
-- * Added damaging fireballs, missiles.
-- *
-- * Revision 1.16  1994/08/12  22:41:54  john
-- * Took away Player_stats; added Players array.
-- *
-- * Revision 1.15  1994/08/09  16:03:56  john
-- * Added network players to editor.
-- *
-- * Revision 1.14  1994/07/28  12:33:31  matt
-- * Made sliding use thrust, rather than changing velocity directly
-- *
-- * Revision 1.13  1994/07/27  20:53:21  matt
-- * Added rotational drag & thrust, so turning now has momemtum like moving
-- *
-- * Revision 1.12  1994/07/25  10:24:06  john
-- * Victor stuff.
-- *
-- * Revision 1.11  1994/07/22  17:53:16  john
-- * Added better victormax support
-- *
-- * Revision 1.10  1994/07/21  21:31:29  john
-- * First cheapo version of VictorMaxx tracking.
-- *
-- * Revision 1.9  1994/07/15  15:16:18  john
-- * Fixed some joystick stuff.
-- *
-- * Revision 1.8  1994/07/15  09:32:09  john
-- * Changes player movement.
-- *
-- * Revision 1.7  1994/07/13  00:14:58  matt
-- * Moved all (or nearly all) of the values that affect player movement to
-- * bitmaps.tbl
-- *
-- * Revision 1.6  1994/07/12  12:40:14  matt
-- * Revamped physics system
-- *
-- * Revision 1.5  1994/07/02  13:50:39  matt
-- * Cleaned up includes
-- *
-- * Revision 1.4  1994/07/01  10:55:25  john
-- * Added analog joystick throttle
-- *
-- * Revision 1.3  1994/06/30  20:04:28  john
-- * Added -joydef support.
-- *
-- * Revision 1.2  1994/06/30  19:01:58  matt
-- * Moved flying controls code from physics.c to controls.c
-- *
-- * Revision 1.1  1994/06/30  18:41:25  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/controls.h:
-
-- * Revision 1.1  1995/05/16  15:55:31  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:27:17  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.4  1994/07/21  18:15:33  matt
-- * Ripped out a bunch of unused stuff
-- *
-- * Revision 1.3  1994/07/15  09:32:08  john
-- * Changes player movement.
-- *
-- * Revision 1.2  1994/06/30  19:02:22  matt
-- * Moved flying controls code from physics.c to controls.c
-- *
-- * Revision 1.1  1994/06/30  18:41:36  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/credits.c:
-
-- * Revision 1.8  1995/11/07  13:54:56  allender
-- * loop shareware song since it is too short
-- *
-- * Revision 1.7  1995/10/31  10:24:25  allender
-- * shareware stuff
-- *
-- * Revision 1.6  1995/10/27  15:17:57  allender
-- * minor fix to get them to look right at top and bottom
-- * of screens
-- *
-- * Revision 1.5  1995/10/21  22:50:49  allender
-- * credits is way cool!!!!
-- *
-- * Revision 1.3  1995/08/08  13:45:26  allender
-- * added macsys header file
-- *
-- * Revision 1.2  1995/07/17  08:49:48  allender
-- * make work in 640x480 -- still needs major work!!
-- *
-- * Revision 1.1  1995/05/16  15:24:01  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/06/14  17:26:08  john
-- * Fixed bug with VFX palette not getting loaded for credits, titles.
-- *
-- * Revision 2.1  1995/03/06  15:23:30  john
-- * New screen techniques.
-- *
-- * Revision 2.0  1995/02/27  11:29:25  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.33  1995/02/11  12:41:56  john
-- * Added new song method, with FM bank switching..
-- *
-- * Revision 1.32  1995/02/03  14:18:06  john
-- * Added columns.
-- *
-- * Revision 1.31  1994/12/28  10:43:00  john
-- * More VFX tweaking.
-- *
-- * Revision 1.30  1994/12/20  18:22:31  john
-- * Added code to support non-looping songs, and put
-- * it in for endlevel and credits.
-- *
-- * Revision 1.29  1994/12/15  14:23:00  adam
-- * fixed timing.
-- *
-- * Revision 1.28  1994/12/14  16:56:33  adam
-- * *** empty log message ***
-- *
-- * Revision 1.27  1994/12/14  12:18:11  adam
-- * messed w/timing
-- *
-- * Revision 1.26  1994/12/12  22:52:59  matt
-- * Fixed little bug
-- *
-- * Revision 1.25  1994/12/12  22:49:35  adam
-- * *** empty log message ***
-- *
-- * Revision 1.24  1994/12/09  23:16:50  john
-- * Make credits.txb load.
-- *
-- * Revision 1.23  1994/12/09  00:41:54  mike
-- * fix hang in automap print screen.
-- *
-- * Revision 1.22  1994/12/09  00:34:22  matt
-- * Added support for half-height lines
-- *
-- * Revision 1.21  1994/12/08  18:36:03  yuan
-- * More HOGfile support.
-- *
-- * Revision 1.20  1994/12/04  14:48:17  john
-- * Made credits restore playing descent.hmp.
-- *
-- * Revision 1.19  1994/12/04  14:30:20  john
-- * Added hooks for music..
-- *
-- * Revision 1.18  1994/12/04  12:06:46  matt
-- * Put in support for large font
-- *
-- * Revision 1.17  1994/12/01  10:47:27  john
-- * Took out code that allows keypresses to change scroll rate.
-- *
-- * Revision 1.16  1994/11/30  12:10:52  adam
-- * added support for PCX titles/brief screens
-- *
-- * Revision 1.15  1994/11/27  23:12:17  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.14  1994/11/27  19:51:46  matt
-- * Made screen shots work in a few more places
-- *
-- * Revision 1.13  1994/11/18  16:41:51  adam
-- * trimmed some more meat for shareware
-- *
-- * Revision 1.12  1994/11/10  20:38:29  john
-- * Made credits not loop.
-- *
-- * Revision 1.11  1994/11/05  15:04:06  john
-- * Added non-popup menu for the main menu, so that scores and credits don't have to save
-- * the background.
-- *
-- * Revision 1.10  1994/11/05  14:05:52  john
-- * Fixed fade transitions between all screens by making gr_palette_fade_in and out keep
-- * track of whether the palette is faded in or not.  Then, wherever the code needs to fade out,
-- * it just calls gr_palette_fade_out and it will fade out if it isn't already.  The same with fade_in.
-- * This eliminates the need for all the flags like Menu_fade_out, game_fade_in palette, etc.
-- *
-- * Revision 1.9  1994/11/04  12:02:32  john
-- * Fixed fading transitions a bit more.
-- *
-- * Revision 1.8  1994/11/04  11:30:44  john
-- * Fixed fade transitions between game/menu/credits.
-- *
-- * Revision 1.7  1994/11/04  11:06:32  john
-- * Added code to support credit fade table.
-- *
-- * Revision 1.6  1994/11/04  10:16:13  john
-- * Made the credits fade in/out smoothly on top of a bitmap background.
-- *
-- * Revision 1.5  1994/11/03  21:24:12  john
-- * Made credits exit the instant a key is pressed.
-- * Made it scroll a bit slower.
-- *
-- * Revision 1.4  1994/11/03  21:20:28  john
-- * Working.
-- *
-- * Revision 1.3  1994/11/03  21:01:24  john
-- * First version of credits that works.
-- *
-- * Revision 1.2  1994/11/03  20:17:39  john
-- * Added initial code for showing credits.
-- *
-- * Revision 1.1  1994/11/03  20:09:05  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/credits.h:
-
-- * Revision 1.1  1995/05/16  15:55:39  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:32:30  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.2  1994/11/03  20:17:40  john
-- * Added initial code for showing credits.
-- *
-- * Revision 1.1  1994/11/03  20:09:19  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/desc_id.h:
-
-- * Revision 1.1  1995/05/16  15:55:53  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:29:38  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.3  1994/10/19  09:52:57  allender
-- * Added variable for bogus error number return when game exits
-- *
-- * Revision 1.2  1994/10/18  16:43:52  allender
-- * Added constants for id and time stamping
-- *
-- * Revision 1.1  1994/10/17  09:56:47  allender
-- * Initial revision
-- * Header for checksum stuff - No idea what for.
-
-------------------------------------------------------------------------
-main/digi.h:
-
-- * Revision 2.0  1995/02/27  11:28:40  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.29  1995/02/11  12:42:00  john
-- * Added new song method, with FM bank switching..
-- *
-- * Revision 1.28  1995/02/03  17:08:26  john
-- * Changed sound stuff to allow low memory usage.
-- * Also, changed so that Sounds isn't an array of digi_sounds, it
-- * is a ubyte pointing into GameSounds, this way the digi.c code that
-- * locks sounds won't accidentally unlock a sound that is already playing, but
-- * since it's Sounds[soundno] is different, it would erroneously be unlocked.
-- *
-- * Revision 1.27  1995/02/01  22:20:31  john
-- * Added digi_is_sound_playing.
-- *
-- * Revision 1.26  1994/12/20  18:03:51  john
-- * Added loop midi flag.
-- *
-- * Revision 1.25  1994/12/13  00:46:14  john
-- * Split digi and midi volume into 2 seperate functions.
-- *
-- * Revision 1.24  1994/12/10  20:34:53  john
-- * Added digi_kill_sound_linked_to_object.
-- *
-- * Revision 1.23  1994/12/10  15:59:39  mike
-- * Fixed bug.
-- *
-- * Revision 1.22  1994/12/10  15:44:35  john
-- * Added max_distance passing for sound objects.
-- *
-- * Revision 1.21  1994/12/05  12:17:40  john
-- * Added code that locks/unlocks digital sounds on demand.
-- *
-- * Revision 1.20  1994/11/28  18:34:57  john
-- * Made the digi_max_channels cut of an old sound instead of
-- * not playing a new sound.
-- *
-- * Revision 1.19  1994/11/14  17:53:56  allender
-- * made some digi variables extern
-- *
-- * Revision 1.18  1994/10/28  14:42:58  john
-- * Added sound volumes to all sound calls.
-- *
-- * Revision 1.17  1994/10/11  15:25:37  john
-- * Added new function to play a sound once...
-- *
-- * Revision 1.16  1994/10/03  20:51:44  john
-- * Started added pause sound function; for the network I changed to
-- * packet structure a bit; never tested, though.
-- *
-- *
-- * Revision 1.15  1994/10/03  13:09:43  john
-- * Added Pause function, but never tested it yet.
-- *
-- * Revision 1.14  1994/09/30  10:09:24  john
-- * Changed sound stuff... made it so the reseting card doesn't hang,
-- * made volume change only if sound is installed.
-- *
-- * Revision 1.13  1994/09/29  21:13:43  john
-- * Added Master volumes for digi and midi. Also took out panning,
-- * because it doesn't work with MasterVolume stuff.
-- *
-- * Revision 1.12  1994/09/29  12:42:34  john
-- * Added sidenum to keep track of sound pos. Made sound functions
-- * not do anything if nosound. Made sounds_init delete currently
-- * playing sounds.
-- *
-- * Revision 1.11  1994/09/29  12:23:42  john
-- * Added digi_kill_sound_linked_to_segment function.
-- *
-- * Revision 1.10  1994/09/29  11:59:04  john
-- * Added digi_kill_sound
-- *
-- * Revision 1.9  1994/09/29  10:37:38  john
-- * Added sound objects that dynamicaly change volume,pan.
-- *
-- * Revision 1.8  1994/09/28  16:18:37  john
-- * Added capability to play midi song.
-- *
-- * Revision 1.7  1994/06/17  18:01:41  john
-- * A bunch of new stuff by John
-- *
-- * Revision 1.6  1994/06/15  19:00:58  john
-- * Added the capability to make 3d sounds play just once for the
-- * laser hit wall effects.
-- *
-- * Revision 1.5  1994/06/07  10:54:30  john
-- * Made key S reinit the sound system.
-- *
-- * Revision 1.4  1994/05/09  21:11:39  john
-- * Sound changes; pass index instead of pointer to digi routines.
-- * Made laser sound cut off the last laser sound.
-- *
-- * Revision 1.3  1994/04/27  11:44:25  john
-- * First version of sound! Yay!
-- *
-- * Revision 1.2  1994/04/20  21:58:50  john
-- * First version of sound stuff... hopefully everything
-- * is commented out because it hangs..
-- *
-- * Revision 1.1  1994/04/15  14:25:02  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/dumpmine.c:
-
-- * Revision 1.1  1995/05/16  15:24:16  allender
-- * Initial revision
-- *
-- * Revision 2.1  1995/04/06  12:21:50  mike
-- * Add texture map information to txm files.
-- *
-- * Revision 2.0  1995/02/27  11:26:41  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.24  1995/01/23  15:34:43  mike
-- * New diagnostic code, levels.all stuff.
-- *
-- * Revision 1.23  1994/12/20  17:56:36  yuan
-- * Multiplayer object capability.
-- *
-- * Revision 1.22  1994/11/27  23:12:19  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.21  1994/11/23  12:19:04  mike
-- * move out level names, stick in gamesave.
-- *
-- * Revision 1.20  1994/11/21  16:54:36  mike
-- * oops.
-- *
-- *
-- * Revision 1.19  1994/11/20  22:12:55  mike
-- * Lotsa new stuff in this fine debug file.
-- *
-- * Revision 1.18  1994/11/17  14:58:09  mike
-- * moved segment validation functions from editor to main.
-- *
-- * Revision 1.17  1994/11/15  21:43:02  mike
-- * texture usage system.
-- *
-- * Revision 1.16  1994/11/15  12:45:59  mike
-- * debug code for dumping texture info.
-- *
-- * Revision 1.15  1994/11/14  20:47:50  john
-- * Attempted to strip out all the code in the game
-- * directory that uses any ui code.
-- *
-- * Revision 1.14  1994/10/14  17:33:38  mike
-- * Fix error reporting for number of multiplayer objects in mine.
-- *
-- * Revision 1.13  1994/10/14  13:37:46  mike
-- * Forgot parameter in fprintf, was getting bogus number of excess keys.
-- *
-- * Revision 1.12  1994/10/12  08:05:33  mike
-- * Detect keys contained in objects for error checking (txm file).
-- *
-- * Revision 1.11  1994/10/10  17:02:08  mike
-- * fix fix.
-- *
-- * Revision 1.10  1994/10/10  17:00:37  mike
-- * Add checking for proper number of players.
-- *
-- * Revision 1.9  1994/10/03  23:37:19  mike
-- * Adapt to clear and rational understanding of matcens as related to fuelcens as related to something that might work.
-- *
-- * Revision 1.8  1994/09/30  17:15:29  mike
-- * Fix error message, was telling bogus filename.
-- *
-- * Revision 1.7  1994/09/30  11:50:55  mike
-- * More diagnostics.
-- *
-- * Revision 1.6  1994/09/28  17:31:19  mike
-- * More error checking.
-- *
-- * Revision 1.5  1994/09/28  11:14:05  mike
-- * Better checking on bogus walls.
-- *
-- * Revision 1.4  1994/09/28  09:23:50  mike
-- * Change some Error messages to Warnings.
-- *
-- * Revision 1.3  1994/09/27  17:08:31  mike
-- * More mine validation stuff.
-- *
-- * Revision 1.2  1994/09/27  15:43:22  mike
-- * The amazing code to tell you everything and more about our mines!
-- *
-- * Revision 1.1  1994/09/27  10:51:15  mike
-- * Initial revision
-
-------------------------------------------------------------------------
-main/editor/medwall.h:
-
-- * Revision 2.0  1995/02/27  11:35:10  john
-- * Version 2.0! No anonymous unions, Watcom 10.0, with no need
-- * for bitmaps.tbl.
-- * 
-- * Revision 1.9  1994/09/28  17:31:51  mike
-- * Prototype copy_group_walls().
-- * 
-- * Revision 1.8  1994/08/05  21:18:16  matt
-- * Allow two doors to be linked together
-- * 
-- * Revision 1.7  1994/06/20  22:30:10  yuan
-- * Fixed crazy runaway trigger bug that Adam found
-- * 
-- * Revision 1.6  1994/05/30  20:22:58  yuan
-- * New triggers.
-- * 
-- * Revision 1.5  1994/05/25  18:08:37  yuan
-- * Revamping walls and triggers interface.
-- * Wall interface complete, but triggers are still in progress.
-- * 
-- * Revision 1.4  1994/05/18  18:22:04  yuan
-- * Fixed delete segment and walls bug.
-- * 
-- * Revision 1.3  1994/03/17  18:08:41  yuan
-- * New wall stuff... Cut out switches....
-- * 
-- * Revision 1.2  1994/03/15  16:34:10  yuan
-- * Fixed bm loader (might have some changes in walls and switches)
-- * 
-- * Revision 1.1  1994/02/10  17:52:01  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/editor/seguvs.h:
-
-- * Revision 2.0  1995/02/27  11:34:58  john
-- * Version 2.0! No anonymous unions, Watcom 10.0, with no need
-- * for bitmaps.tbl.
-- * 
-- * Revision 1.3  1994/08/03  10:32:28  mike
-- * Add stretch_uvs_from_curedge.
-- * 
-- * Revision 1.2  1994/05/14  18:00:58  matt
-- * Got rid of externs in source (non-header) files
-- * 
-- * Revision 1.1  1994/05/14  17:27:26  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/effects.c:
-
-- * Revision 1.1  1995/05/16  15:24:25  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:32:49  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.21  1995/02/13  20:35:06  john
-- * Lintized
-- *
-- * Revision 1.20  1994/12/10  16:44:50  matt
-- * Added debugging code to track down door that turns into rock
-- *
-- * Revision 1.19  1994/12/06  16:27:14  matt
-- * Fixed horrible bug that was referencing segment -1
-- *
-- * Revision 1.18  1994/12/02  23:20:51  matt
-- * Reset bitmaps possibly changed by crit clips
-- *
-- * Revision 1.17  1994/11/14  14:00:19  matt
-- * Fixed stupid bug
-- *
-- * Revision 1.16  1994/11/14  12:42:43  matt
-- * Allow holes in effects list
-- *
-- * Revision 1.15  1994/11/08  21:11:52  matt
-- * Added functions to stop & start effects
-- *
-- * Revision 1.14  1994/10/04  18:59:08  matt
-- * Exploding eclips now play eclip while exploding, then switch to static bm
-- *
-- * Revision 1.13  1994/10/04  15:17:42  matt
-- * Took out references to unused constant
-- *
-- * Revision 1.12  1994/09/29  11:00:01  matt
-- * Made eclips (wall animations) not frame-rate dependent (for now)
-- *
-- * Revision 1.11  1994/09/25  00:40:24  matt
-- * Added the ability to make eclips (monitors, fans) which can be blown up
-- *
-- * Revision 1.10  1994/08/14  23:15:14  matt
-- * Added animating bitmap hostages, and cleaned up vclips a bit
-- *
-- * Revision 1.9  1994/08/05  15:56:04  matt
-- * Cleaned up effects system, and added alternate effects for after mine
-- * destruction.
-- *
-- * Revision 1.8  1994/08/01  23:17:21  matt
-- * Add support for animating textures on robots
-- *
-- * Revision 1.7  1994/05/23  15:10:46  yuan
-- * Make Eclips read directly...
-- * No more need for $EFFECTS list.
-- *
-- * Revision 1.6  1994/04/06  14:42:44  yuan
-- * Adding new powerups.
-- *
-- * Revision 1.5  1994/03/15  16:31:54  yuan
-- * Cleaned up bm-loading code.
-- * (And structures)
-- *
-- * Revision 1.4  1994/03/04  17:09:09  yuan
-- * New door stuff.
-- *
-- * Revision 1.3  1994/01/11  11:18:50  yuan
-- * Fixed frame_count
-- *
-- * Revision 1.2  1994/01/11  10:38:55  yuan
-- * Special effects new implementation
-- *
-- * Revision 1.1  1994/01/10  09:45:29  yuan
-- * Initial revision
-
-------------------------------------------------------------------------
-main/effects.h:
-
-- * Revision 1.1  1995/05/16  15:56:08  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:27:34  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.15  1994/11/08  21:12:07  matt
-- * Added functions to stop & start effects
-- *
-- * Revision 1.14  1994/10/13  17:14:11  adam
-- * MAX_EFFECTS to 60 (ugh)
-- *
-- * Revision 1.13  1994/10/05  10:14:34  adam
-- * MAX_EFFECTS to 50
-- *
-- * Revision 1.12  1994/10/04  18:59:09  matt
-- * Exploding eclips now play eclip while exploding, then switch to static bm
-- *
-- * Revision 1.11  1994/10/04  15:17:52  matt
-- * Took out references to unused constant
-- *
-- * Revision 1.10  1994/09/29  14:15:00  matt
-- * Added sounds for eclips (wall effects)
-- *
-- * Revision 1.9  1994/09/25  00:40:24  matt
-- * Added the ability to make eclips (monitors, fans) which can be blown up
-- *
-- * Revision 1.8  1994/08/05  15:55:25  matt
-- * Cleaned up effects system, and added alternate effects for after mine
-- * destruction.
-- *
-- * Revision 1.7  1994/08/01  23:17:20  matt
-- * Add support for animating textures on robots
-- *
-- * Revision 1.6  1994/05/19  18:13:18  yuan
-- * MAX_EFFECTS increased to 30
-- *
-- * Revision 1.5  1994/03/15  16:32:37  yuan
-- * Cleaned up bm-loading code.
-- * (Fixed structures too)
-- *
-- * Revision 1.4  1994/03/04  17:09:07  yuan
-- * New door stuff.
-- *
-- * Revision 1.3  1994/01/19  18:22:45  yuan
-- * Changed number of effects from 10-20
-- *
-- * Revision 1.2  1994/01/11  10:39:07  yuan
-- * Special effects new implementation
-- *
-- * Revision 1.1  1994/01/10  10:36:14  yuan
-- * Initial revision
-
-------------------------------------------------------------------------
-main/endlevel.c:
-
-- * Revision 1.5  1995/10/31  10:24:09  allender
-- * shareware stuff
-- *
-- * Revision 1.4  1995/09/14  16:33:54  allender
-- * fixed function return values for those that didn't
-- * have them...thanks matt!
-- *
-- * Revision 1.3  1995/07/28  15:36:26  allender
-- * reverse inverse sqrt change
-- *
-- * Revision 1.2  1995/07/28  15:17:40  allender
-- * inverse magnitude fixup
-- *
-- * Revision 1.1  1995/05/16  15:24:32  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/03/21  14:40:14  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.1  1995/03/20  18:15:50  john
-- * Added code to not store the normals in the segment structure.
-- *
-- * Revision 2.0  1995/02/27  11:30:42  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.80  1995/02/22  13:24:45  john
-- * Removed the vecmat anonymous unions.
-- *
-- * Revision 1.79  1995/02/11  12:41:54  john
-- * Added new song method, with FM bank switching..
-- *
-- * Revision 1.78  1995/02/08  11:37:41  mike
-- * Check for failures in call to obj_create.
-- *
-- * Revision 1.77  1995/02/05  22:09:49  matt
-- * Switch out of rear view when starting endlevel sequence
-- *
-- * Revision 1.76  1995/01/30  18:08:28  rob
-- * Add palette fade out before ending level on special missions.
-- *
-- * Revision 1.75  1995/01/29  16:19:19  rob
-- * Fixed endlevel for custom missions.
-- *
-- * Revision 1.74  1995/01/26  12:18:10  rob
-- * Changed calling convention of network_do_frame.
-- *
-- * Revision 1.73  1995/01/21  16:50:03  matt
-- * Made endlevel work with new mission stuff
-- *
-- * Revision 1.72  1994/12/20  18:22:51  john
-- * Added code to support non-looping songs, and put
-- * it in for endlevel and credits.
-- *
-- * Revision 1.71  1994/12/15  12:23:58  matt
-- * Added check for failure to create camera object
-- *
-- * Revision 1.70  1994/12/15  03:05:28  matt
-- * Added error checking for NULL return from object_create_explosion()
-- *
-- * Revision 1.69  1994/12/12  21:41:38  matt
-- * Don't start endlevel if OF_SHOULD_BE_DEAD is set for player
-- *
-- * Revision 1.68  1994/12/12  15:44:54  rob
-- * Rolled back a change to endlevel_start that caused more bugs than
-- * it fixed.
-- *
-- * Revision 1.67  1994/12/12  12:08:33  rob
-- * IF a player is dead upon entering the tunnel, make them not dead.  Not perfect solution
-- * but avoids some last-minute weirdness we want to fix.  This should be revisited in new
-- * versions if possible!
-- *
-- * Revision 1.66  1994/12/11  22:02:13  allender
-- * made endlevel data loading work with .txb encoded format (made with
-- * compbit -i level0?.end -o level0?.txb)
-- *
-- * Revision 1.65  1994/12/11  20:32:47  matt
-- * Made camera transition happen 1/3 of the way through exit tunnel
-- *
-- * Revision 1.64  1994/12/08  20:56:27  john
-- * More cfile stuff.
-- *
-- * Revision 1.63  1994/12/07  17:00:52  rob
-- * Trying to fix homing tone warning when in exit tunnel.
-- *
-- * Revision 1.62  1994/12/06  13:24:47  matt
-- * Made exit model come out of bitmaps.tbl
-- *
-- * Revision 1.61  1994/12/06  12:06:22  matt
-- * Fixed/cleaned up satellite (planet/sun) code
-- *
-- * Revision 1.60  1994/12/05  13:37:12  adam
-- * removed slew-mode
-- *
-- * Revision 1.59  1994/12/05  12:49:37  matt
-- * Made satellite a rod (instead of a plane old non-rotating bitmap), and
-- * made the size settable in the .end file
-- *
-- * Revision 1.58  1994/12/04  21:40:00  matt
-- * Added explosion sounds
-- *
-- * Revision 1.57  1994/12/04  18:31:41  matt
-- * Wasn't coding planet position, causing it to disappear sometimes
-- *
-- * Revision 1.56  1994/12/04  14:30:26  john
-- * Added hooks for music..
-- *
-- * Revision 1.55  1994/12/04  13:53:52  matt
-- * Added code to make camera off-centered during lookback
-- *
-- * Revision 1.54  1994/12/04  12:30:18  matt
-- * Fixed slew for short sequence
-- *
-- * Revision 1.53  1994/12/03  19:28:10  matt
-- * Added alternate model for exit model after mine destruction
-- *
-- * Revision 1.52  1994/12/03  00:17:23  matt
-- * Made endlevel sequence cut off early
-- * Made exit model and bit explosion always plot last (after all terrain)
-- *
-- * Revision 1.51  1994/12/01  20:15:43  yuan
-- * Localization.
-- *
-- * Revision 1.50  1994/11/30  23:27:35  adam
-- * mucked around carelessly
-- *
-- * Revision 1.49  1994/11/28  21:50:37  mike
-- * optimizations.
-- *
-- * Revision 1.48  1994/11/28  00:12:05  allender
-- * took out demo code that was in at one time to record endlevel sequence.
-- * We are _not_ recording endlevel sequence
-- *
-- * Revision 1.47  1994/11/27  23:35:54  allender
-- * pause demo recording when starting endlevel sequence.  on demo playback,
-- * don't do endlevel at all.
-- *
-- * Revision 1.46  1994/11/27  23:13:59  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.45  1994/11/26  23:17:29  matt
-- * When camera leaves mine, bank it so it's level with the ground
-- *
-- * Revision 1.44  1994/11/23  16:52:13  rob
-- * Ended netgame endlevel sequence a bit earlier.
-- *
-- * Revision 1.43  1994/11/22  19:20:46  rob
-- * Modem support for secret levels.
-- *
-- * Revision 1.42  1994/11/22  12:11:03  rob
-- * Fixed bug - file handle left open in load_endlevel_data.
-- *
-- * Revision 1.41  1994/11/21  17:29:22  matt
-- * Cleaned up sequencing & game saving for secret levels
-- *
-- * Revision 1.40  1994/11/19  15:14:54  mike
-- * remove unused code and data
-- *
-- * Revision 1.39  1994/11/19  12:41:32  matt
-- * Added system to read endlevel data from file, and to make it work
-- * with any exit tunnel.
-- *
-- * Revision 1.38  1994/11/17  15:02:24  mike
-- * support new segment validation functions.
-- *
-- * Revision 1.37  1994/11/17  13:04:45  allender
-- * backout out newdemo changes
-- *
-- * Revision 1.35  1994/11/16  14:52:33  rob
-- * Commented out SLEW_ON on Matt's direction.
-- * Changed something to fix demo recording.
-- *
-- * Revision 1.34  1994/11/16  11:49:29  matt
-- * Added code to rotate terrain to match mine
-- *
-- * Revision 1.33  1994/11/14  17:54:54  allender
-- * on exit sequence during demo recording, force player exited from mine
-- * packet to all other network players
-- *
-- * Revision 1.32  1994/11/10  21:27:42  matt
-- * Took out printf's
-- *
-- * Revision 1.31  1994/11/10  14:02:24  matt
-- * Hacked in support for player ships with different textures
-- *
-- * Revision 1.30  1994/11/09  10:31:33  matt
-- * Don't create explosions if can't find seg to create them in
-- *
-- * Revision 1.29  1994/11/05  17:22:37  john
-- * Fixed lots of sequencing problems with newdemo stuff.
-- *
-- * Revision 1.28  1994/11/03  11:10:39  matt
-- * Fixed chase angles code
-- * Maybe other things, too.
-- *
-- * Revision 1.27  1994/10/30  20:09:21  matt
-- * For endlevel: added big explosion at tunnel exit; made lights in tunnel
-- * go out; made more explosions on walls.
-- *
-- * Revision 1.26  1994/10/28  16:37:50  allender
-- * stop demo recording when endlevel sequence activated
-- *
-- * Revision 1.25  1994/10/27  21:15:21  matt
-- * Added explosions in mine chasing player
-- *
-- * Revision 1.24  1994/10/27  01:03:57  matt
-- * Fixed several small bugs in flythrough
-- *
-- * Revision 1.23  1994/10/22  01:32:30  matt
-- * Don't start endlevel sequence if player dead
-- *
-- * Revision 1.22  1994/10/22  00:08:06  matt
-- * Fixed up problems with bonus & game sequencing
-- * Player doesn't get credit for hostages unless he gets them out alive
-
-------------------------------------------------------------------------
-main/endlevel.h:
-
-- * Revision 1.2  1995/09/14  16:36:34  allender
-- * fixed function prototype for those functions that didn't
-- * have them...thanks matt
-- *
-- * Revision 1.1  1995/05/16  15:56:16  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:31:37  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.5  1994/12/06  13:24:55  matt
-- * Made exit model come out of bitmaps.tbl
-- *
-- * Revision 1.4  1994/11/19  12:41:35  matt
-- * Added system to read endlevel data from file, and to make it work
-- * with any exit tunnel.
-- *
-- * Revision 1.3  1994/10/30  20:09:20  matt
-- * For endlevel: added big explosion at tunnel exit; made lights in tunnel
-- * go out; made more explosions on walls.
-- *
-- * Revision 1.2  1994/08/19  20:09:38  matt
-- * Added end-of-level cut scene with external scene
-- *
-- * Revision 1.1  1994/08/15  19:18:47  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/escort.c:
-
-- * Revision 1.1  1995/05/06  23:32:19  mike
-- * Initial revision
-
-------------------------------------------------------------------------
-main/fireball.c:
-
-- * Revision 1.2  1995/10/31  10:23:56  allender
-- * shareware stuff
-- *
-- * Revision 1.1  1995/05/16  15:24:41  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/03/21  14:39:57  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.1  1995/03/20  18:15:47  john
-- * Added code to not store the normals in the segment structure.
-- *
-- * Revision 2.0  1995/02/27  11:30:34  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.200  1995/02/22  13:18:41  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.199  1995/02/14  19:58:32  mike
-- * comment out "something bad has happened" int3.
-- *
-- * Revision 1.198  1995/02/09  13:11:01  mike
-- * remove an annoying mprintf and Int3().
-- *
-- * Revision 1.197  1995/02/08  17:10:14  mike
-- * don't drop cloaks if one nearby.
-- *
-- * Revision 1.196  1995/02/08  13:27:14  rob
-- * Give keys dropped by robots 0 velocity in coop game.
-- *
-- * Revision 1.195  1995/02/08  11:57:40  mike
-- * determine whether debris object failed to create because buffer was
-- * exhausted or because limit was hit.
-- *
-- * Revision 1.194  1995/02/08  11:37:58  mike
-- * Check for failures in call to obj_create.
-- *
-- * Revision 1.193  1995/02/07  21:09:41  mike
-- * only replace weapon with energy 1/2 time.
-- *
-- * Revision 1.192  1995/01/30  18:21:52  rob
-- * Replace extra life powerups in multiplayer to invul when
-- * dropped by robots.
-- *
-- * Revision 1.191  1995/01/28  17:40:59  mike
-- * fix stupidity in converting quad lasers to energy.
-- *
-- * Revision 1.190  1995/01/27  15:05:59  rob
-- * Trying to fix a bug with damaging robots with player badass explosions.
-- *
-- * Revision 1.189  1995/01/26  18:59:04  rob
-- * Powerups were flying too far in robot-cooperative games.
-- *
-- * Revision 1.188  1995/01/25  10:53:35  mike
-- * make badass damage go through grates.
-- *
-- * Revision 1.187  1995/01/25  09:37:23  mike
-- * fix objects containing robots, worked for powerups, bad {} placement.
-- *
-- * Revision 1.186  1995/01/23  22:51:20  mike
-- * drop energy instead of primary weapon if you already have primary weapon.
-- *
-- * Revision 1.185  1995/01/20  16:56:37  mike
-- * Cut damage done by badass weapons.
-- *
-- * Revision 1.184  1995/01/19  17:44:57  mike
-- * damage_force removed, that information coming from strength field.
-- *
-- * Revision 1.183  1995/01/16  21:06:54  mike
-- * Move function pick_random_point_in_segment from fireball.c to gameseg.c.
-- *
-- * Revision 1.182  1995/01/16  19:24:04  mike
-- * If a gated-in robot and going to drop energy powerup, don't!
-- *
-- * Revision 1.181  1995/01/15  20:48:03  mike
-- * drop energy in place of quad lasers if player already has quad lasers.
-- *
-- * Revision 1.180  1995/01/14  19:32:19  rob
-- * Fixed an error.
-- *
-- * Revision 1.179  1995/01/14  18:50:55  rob
-- * Make robot egg creation suitable for mutliplayer situations.
-- *
-- * Revision 1.178  1995/01/14  14:55:07  rob
-- * Make weapons/keys/etc never disappear in network mode.
-
-------------------------------------------------------------------------
-main/fireball.h:
-
-- * Revision 1.1  1995/05/16  15:56:23  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:27:03  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.13  1995/01/17  12:14:38  john
-- * Made walls, object explosion vclips load at level start.
-- *
-- * Revision 1.12  1995/01/13  15:41:52  rob
-- * Added prototype for maybe_replace_powerup_with_energy
-- *
-- * Revision 1.11  1994/11/17  16:28:36  rob
-- * Changed maybe_drop_cloak_powerup to maybe_drop_net_powerup (more
-- * generic and useful)
-- *
-- * Revision 1.10  1994/10/12  08:03:42  mike
-- * Prototype maybe_drop_cloak_powerup.
-- *
-- * Revision 1.9  1994/10/11  12:24:39  matt
-- * Cleaned up/change badass explosion calls
-- *
-- * Revision 1.8  1994/09/07  16:00:34  mike
-- * Add object pointer to parameter list of object_create_badass_explosion.
-- *
-- * Revision 1.7  1994/09/02  14:00:39  matt
-- * Simplified explode_object() & mutliple-stage explosions
-- *
-- * Revision 1.6  1994/08/17  16:49:58  john
-- * Added damaging fireballs, missiles.
-- *
-- * Revision 1.5  1994/07/14  22:39:19  matt
-- * Added exploding doors
-- *
-- * Revision 1.4  1994/06/08  10:56:36  matt
-- * Improved debris: now get submodel size from new POF files; debris now has
-- * limited life; debris can now be blown up.
-- *
-- * Revision 1.3  1994/04/01  13:35:44  matt
-- * Added multiple-stage explosions
-- *
-- * Revision 1.2  1994/02/17  11:33:32  matt
-- * Changes in object system
-- *
-- * Revision 1.1  1994/02/16  22:41:15  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/fuelcen.c:
-
-- * Revision 1.2  1995/10/31  10:23:40  allender
-- * shareware stuff
-- *
-- * Revision 1.1  1995/05/16  15:24:50  allender
-- * Initial revision
-- *
-- * Revision 2.3  1995/03/21  14:38:40  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.2  1995/03/06  15:23:09  john
-- * New screen techniques.
-- *
-- * Revision 2.1  1995/02/27  13:13:26  john
-- * Removed floating point.
-- *
-- * Revision 2.0  1995/02/27  11:27:20  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.159  1995/02/22  13:48:10  allender
-- * remove anonymous unions in object structure
-- *
-- * Revision 1.158  1995/02/08  11:37:48  mike
-- * Check for failures in call to obj_create.
-- *
-- * Revision 1.157  1995/02/07  20:39:39  mike
-- * fix toasters in multiplayer
-- *
-- *
-- * Revision 1.156  1995/02/02  18:40:10  john
-- * Fixed bug with full screen cockpit flashing non-white.
-- *
-- * Revision 1.155  1995/01/28  15:27:22  yuan
-- * Make sure fuelcen nums are valid.
-- *
-- * Revision 1.154  1995/01/03  14:26:23  rob
-- * Better ifdef for robot centers.
-- *
-- * Revision 1.153  1995/01/03  11:27:49  rob
-- * Added include of fuelcen.c
-- *
-- * Revision 1.152  1995/01/03  09:47:22  john
-- * Some ifdef SHAREWARE lines.
-- *
-- * Revision 1.151  1995/01/02  21:02:07  rob
-- * added matcen support for coop/multirobot.
-- *
-- * Revision 1.150  1994/12/15  18:31:22  mike
-- * fix confusing precedence problems.
-- *
-- * Revision 1.149  1994/12/15  13:04:22  mike
-- * Replace Players[Player_num].time_total references with GameTime.
-- *
-- * Revision 1.148  1994/12/15  03:05:18  matt
-- * Added error checking for NULL return from object_create_explosion()
-- *
-- * Revision 1.147  1994/12/13  19:49:12  rob
-- * Made the fuelcen noise quieter.
-- *
-- * Revision 1.146  1994/12/13  12:03:18  john
-- * Made the warning sirens not start until after "desccruction
-- * secquence activated voice".
-- *
-- * Revision 1.145  1994/12/12  17:18:30  mike
-- * make warning siren louder.
-- *
-- * Revision 1.144  1994/12/11  23:18:04  john
-- * Added -nomusic.
-- * Added RealFrameTime.
-- * Put in a pause when sound initialization error.
-- * Made controlcen countdown and framerate use RealFrameTime.
-- *
-- * Revision 1.143  1994/12/11  14:10:16  mike
-- * louder sounds.
-- *
-- * Revision 1.142  1994/12/06  11:33:19  yuan
-- * Fixed bug with fueling when above 100.
-- *
-- * Revision 1.141  1994/12/05  23:37:14  matt
-- * Took out calls to warning() function
-- *
-- * Revision 1.140  1994/12/05  23:19:18  yuan
-- * Fixed fuel center refuelers..
-- *
-- * Revision 1.139  1994/12/03  12:48:12  mike
-- * diminish rocking due to control center destruction.
-- *
-- * Revision 1.138  1994/12/02  23:30:32  mike
-- * fix bumpiness after toasting control center.
-- *
-- * Revision 1.137  1994/12/02  22:48:14  mike
-- * rock the ship after toasting the control center!
-- *
-- * Revision 1.136  1994/12/02  17:12:11  rob
-- * Fixed countdown sounds.
-- *
-- * Revision 1.135  1994/11/29  20:59:43  rob
-- * Don't run out of fuel in net games (don't want to sync it between machines)
-- *
-- * Revision 1.134  1994/11/29  19:10:57  john
-- * Took out debugging mprintf.
-- *
-- * Revision 1.133  1994/11/29  13:19:40  john
-- * Made voice for "destruction actived in t-"
-- * be at 12.75 secs.
-- *
-- * Revision 1.132  1994/11/29  12:19:46  john
-- * MAde the "Mine desctruction will commence"
-- * voice play at 12.5 secs.
-- *
-- * Revision 1.131  1994/11/29  12:12:54  adam
-- * *** empty log message ***
-- *
-- * Revision 1.130  1994/11/28  21:04:26  rob
-- * Added code to cast noise when player refuels.
-- *
-- * Revision 1.129  1994/11/27  23:15:04  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.128  1994/11/21  16:27:51  mike
-- * debug code for morphing.
-- *
-- * Revision 1.127  1994/11/21  12:33:50  matt
-- * For control center explosions, use small fireball, not pseudo-random vclip
-- *
-- * Revision 1.126  1994/11/20  22:12:15  mike
-- * Fix bug in initializing materialization centers.
-- *
-- * Revision 1.125  1994/11/19  15:18:22  mike
-- * rip out unused code and data.
-- *
-- * Revision 1.124  1994/11/08  12:18:59  mike
-- * Initialize Fuelcen_seconds_left.
-- *
-- * Revision 1.123  1994/10/30  14:12:33  mike
-- * rip out repair center stuff
-- *
-- * Revision 1.122  1994/10/28  14:42:45  john
-- * Added sound volumes to all sound calls.
-- *
-- * Revision 1.121  1994/10/16  12:44:02  mike
-- * Make time to exit mine after control center destruction diff level dependent.
-- *
-- * Revision 1.120  1994/10/09  22:03:26  mike
-- * Adapt to new create_n_segment_path parameters.
-- *
-- * Revision 1.119  1994/10/06  14:52:42  mike
-- * Remove last of ability to damage fuel centers.
-- *
-- * Revision 1.118  1994/10/06  14:08:45  matt
-- * Made morph flash effect get orientation from segment
-- *
-- * Revision 1.117  1994/10/05  16:09:03  mike
-- * Put debugging code into matcen/fuelcen synchronization problem.
-- *
-- * Revision 1.116  1994/10/04  15:32:41  john
-- * Took out the old PLAY_SOUND??? code and replaced it
-- * with direct calls into digi_link_??? so that all sounds
-- * can be made 3d.
-- *
-- * Revision 1.115  1994/10/03  23:37:57  mike
-- * Clean up this mess of confusion to the point where maybe matcens actually work.
-- *
-- * Revision 1.114  1994/10/03  13:34:40  matt
-- * Added new (and hopefully better) game sequencing functions
-- *
-- * Revision 1.113  1994/09/30  14:41:57  matt
-- * Fixed bug as per Mike's instructions
-- *
-- * Revision 1.112  1994/09/30  00:37:33  mike
-- * Balance materialization centers.
-- *
-- * Revision 1.111  1994/09/28  23:12:52  matt
-- * Macroized palette flash system
-- *
-- * Revision 1.110  1994/09/27  15:42:31  mike
-- * Add names of Specials.
-- *
-- * Revision 1.109  1994/09/27  00:02:23  mike
-- * Yet more materialization center stuff.
-- *
-- * Revision 1.108  1994/09/26  11:26:23  mike
-- * Balance materialization centers.
-- *
-- * Revision 1.107  1994/09/25  23:40:47  matt
-- * Changed the object load & save code to read/write the structure fields one
-- * at a time (rather than the whole structure at once).  This mean that the
-- * object structure can be changed without breaking the load/save functions.
-- * As a result of this change, the local_object data can be and has been
-- * incorporated into the object array.  Also, timeleft is now a property
-- * of all objects, and the object structure has been otherwise cleaned up.
-- *
-- * Revision 1.106  1994/09/25  15:55:58  mike
-- * Balance materialization centers, make them emit light, make them re-triggerable after awhile.
-- *
-- * Revision 1.105  1994/09/24  17:42:33  mike
-- * Making materialization centers be activated by triggers and balancing them.
-- *
-- * Revision 1.104  1994/09/24  14:16:06  mike
-- * Support new network constants.
-- *
-- * Revision 1.103  1994/09/20  19:14:40  john
-- * Massaged the sound system; used a better formula for determining
-- * which l/r balance, also, put in Mike's stuff that searches for a connection
-- * between the 2 sounds' segments, stopping for closed doors, etc.
-- *
-- * Revision 1.102  1994/09/17  01:40:51  matt
-- * Added status bar/sizable window mode, and in the process revamped the
-- * whole cockpit mode system.
-- *
-- * Revision 1.101  1994/08/31  20:57:25  matt
-- * Cleaned up endlevel/death code
-- *
-- * Revision 1.100  1994/08/30  17:54:20  mike
-- * Slow down rate of creation of objects by materialization centers.
-- *
-- * Revision 1.99  1994/08/29  11:47:01  john
-- * Added warning if no control centers in mine.
-
-------------------------------------------------------------------------
-main/fuelcen.h:
-
-- * Revision 1.1  1995/05/16  15:56:31  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:28:43  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.26  1995/01/26  12:19:16  rob
-- * Added externs of things needed for multiplayer.
-- *
-- * Revision 1.25  1994/10/30  14:11:10  mike
-- * rip out repair center stuff.
-- *
-- * Revision 1.24  1994/10/03  23:36:36  mike
-- * Add segnum and fuelcen_num (renaming dest_seg and *path) in matcen_info struct.
-- *
-- * Revision 1.23  1994/09/30  00:37:44  mike
-- * Change FuelCenter struct.
-- *
-- * Revision 1.22  1994/09/27  15:42:49  mike
-- * Kill some obsolete matcen constants, Prototype Special_names.
-- *
-- * Revision 1.21  1994/09/27  00:04:30  mike
-- * Moved FuelCenter struct here from fuelcen.c
-- *
-- * Revision 1.20  1994/09/25  15:55:37  mike
-- * Prototype function disable_matcens.
-- *
-- * Revision 1.19  1994/09/24  17:41:34  mike
-- * Prototype trigger_matcen.
-- *
-- * Revision 1.18  1994/08/03  17:52:19  matt
-- * Tidied up repair centers a bit
-- *
-- * Revision 1.17  1994/08/02  12:16:01  mike
-- * *** empty log message ***
-- *
-- * Revision 1.16  1994/08/01  11:04:03  yuan
-- * New materialization centers.
-- *
-- * Revision 1.15  1994/07/21  19:02:15  mike
-- * break repair centers.
-- *
-- * Revision 1.14  1994/07/14  11:25:22  john
-- * Made control centers destroy better; made automap use Tab key.
-- *
-- * Revision 1.13  1994/07/13  10:45:33  john
-- * Made control center object switch when dead.
-- *
-- * Revision 1.12  1994/07/09  17:36:44  mike
-- * Add extern for find_connected_repair_seg.
-- *
-- * Revision 1.11  1994/06/15  19:00:32  john
-- * Show timer in on top of 3d with mine destroyed...
-- *
-- * Revision 1.10  1994/05/31  16:49:46  john
-- * Begin to add robot materialization centers.
-- *
-- * Revision 1.9  1994/05/30  20:22:03  yuan
-- * New triggers.
-- *
-- * Revision 1.8  1994/05/05  16:41:14  matt
-- * Cleaned up repair center code, and moved some from object.c to fuelcen.c
-- *
-- * Revision 1.7  1994/04/21  20:41:21  yuan
-- * Added extern.
-- *
-- * Revision 1.6  1994/04/21  20:28:32  john
-- * Added flag for Yuan to tell when a fuel center is destroyed.
-- *
-- * Revision 1.5  1994/04/14  17:00:59  john
-- * Made repair cen's work properly; added reset_all_fuelcens.
-- *
-- * Revision 1.4  1994/04/12  20:28:04  john
-- * Added control center.
-- *
-- * Revision 1.3  1994/04/08  15:37:10  john
-- * Added repair centers.
-- *
-- * Revision 1.2  1994/04/06  19:10:38  john
-- * NEw version.
-- *
-- *
-- * Revision 1.1  1994/04/06  12:39:02  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/fvi.c:
-
-- * Revision 1.7  1995/10/21  23:52:18  allender
-- * #ifdef'ed out stack debug stuff
-- *
-- * Revision 1.6  1995/10/10  12:07:42  allender
-- * add forgotten ;
-- *
-- * Revision 1.5  1995/10/10  11:47:27  allender
-- * put in stack space check
-- *
-- * Revision 1.4  1995/08/23  21:34:08  allender
-- * fix mcc compiler warning
-- *
-- * Revision 1.3  1995/08/14  14:35:18  allender
-- * changed transparency to 0
-- *
-- * Revision 1.2  1995/07/05  16:50:51  allender
-- * transparency/kitchen change
-- *
-- * Revision 1.1  1995/05/16  15:24:59  allender
-- * Initial revision
-- *
-- * Revision 2.3  1995/03/24  14:49:04  john
-- * Added cheat for player to go thru walls.
-- *
-- * Revision 2.2  1995/03/21  17:58:32  john
-- * Fixed bug with normals..
-- *
-- *
-- * Revision 2.1  1995/03/20  18:15:37  john
-- * Added code to not store the normals in the segment structure.
-- *
-- * Revision 2.0  1995/02/27  11:27:41  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.49  1995/02/22  14:45:47  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.48  1995/02/22  13:24:50  john
-- * Removed the vecmat anonymous unions.
-- *
-- * Revision 1.47  1995/02/07  16:17:26  matt
-- * Disabled all robot-robot collisions except those involving two green
-- * guys.  Used to do collisions if either robot was green guy.
-- *
-- * Revision 1.46  1995/02/02  14:07:53  matt
-- * Fixed confusion about which segment you are touching when you're
-- * touching a wall.  This manifested itself in spurious lava burns.
-- *
-- * Revision 1.45  1995/02/02  13:45:53  matt
-- * Made a bunch of lint-inspired changes
-- *
-- * Revision 1.44  1995/01/24  12:10:17  matt
-- * Fudged collisions for player/player, and player weapon/other player in
-- * coop games.
-- *
-- * Revision 1.43  1995/01/14  19:16:45  john
-- * First version of new bitmap paging code.
-- *
-- * Revision 1.42  1994/12/15  12:22:40  matt
-- * Small change which may or may not help
-- *
-- * Revision 1.41  1994/12/14  11:45:51  matt
-- * Fixed (hopefully) little bug with invalid segnum
-- *
-- * Revision 1.40  1994/12/13  17:12:01  matt
-- * Increased edge tolerance a bunch more
-- *
-- * Revision 1.39  1994/12/13  14:37:59  matt
-- * Fixed another stupid little bug
-- *
-- * Revision 1.38  1994/12/13  13:25:44  matt
-- * Increased tolerance massively to avoid catching on corners
-- *
-- * Revision 1.37  1994/12/13  12:02:20  matt
-- * Fixed small bug
-- *
-- * Revision 1.36  1994/12/13  11:17:35  matt
-- * Lots of changes to hopefully fix objects leaving the mine.  Note that
-- * this code should be considered somewhat experimental - one problem I
-- * know about is that you can get stuck on edges more easily than before.
-- * There may be other problems I don't know about yet.
-- *
-- * Revision 1.35  1994/12/12  01:20:57  matt
-- * Added hack in object-object collisions that treats claw guys as
-- * if they have 3/4 of their actual radius.
-- *
-- * Revision 1.34  1994/12/04  22:48:39  matt
-- * Physics & FVI now only build seglist for player objects, and they
-- * responsilby deal with buffer full conditions
-- *
-- * Revision 1.33  1994/12/04  22:07:05  matt
-- * Added better handing of buffer full condition
-- *
-- * Revision 1.32  1994/12/01  21:06:33  matt
-- * Several important changes:
-- *  (1) Checking against triangulated sides has been standardized a bit
-- *  (2) Code has been added to de-triangulate some sides
-- *  (3) BIG ONE: the tolerance for checking a point against a plane has
-- *      been drastically relaxed
-- *
-- *
-- * Revision 1.31  1994/11/27  23:15:03  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.30  1994/11/19  15:20:30  mike
-- * rip out unused code and data
-- *
-- * Revision 1.29  1994/11/16  12:18:17  mike
-- * hack for green_guy:green_guy collision detection.
-- *
-- * Revision 1.28  1994/11/10  13:08:54  matt
-- * Added support for new run-length-encoded bitmaps
-- *
-- * Revision 1.27  1994/10/31  12:27:51  matt
-- * Added new function object_intersects_wall()
-- *
-- * Revision 1.26  1994/10/20  13:59:27  matt
-- * Added assert
-- *
-- * Revision 1.25  1994/10/09  23:51:09  matt
-- * Made find_hitpoint_uv() work with triangulated sides
-- *
-- * Revision 1.24  1994/09/25  00:39:29  matt
-- * Took out mprintf's
-- *
-- * Revision 1.23  1994/09/25  00:37:53  matt
-- * Made the 'find the point in the bitmap where something hit' system
-- * publicly accessible.
-- *
-- * Revision 1.22  1994/09/21  16:58:22  matt
-- * Fixed bug in trans wall check that was checking against verically
-- * flipped bitmap (i.e., the y coord was negative when checking).
-- *
-- * Revision 1.21  1994/09/02  11:31:40  matt
-- * Fixed object/object collisions, so you can't fly through robots anymore.
-- * Cleaned up object damage system.
-- *
-- * Revision 1.20  1994/08/26  09:42:03  matt
-- * Increased the size of a buffer
-- *
-- * Revision 1.19  1994/08/11  18:57:53  mike
-- * Convert shorts to ints for optimization.
-- *
-- * Revision 1.18  1994/08/08  21:38:24  matt
-- * Put in small optimization
-- *
-- * Revision 1.17  1994/08/08  12:21:52  yuan
-- * Fixed assert
-- *
-- * Revision 1.16  1994/08/08  11:47:04  matt
-- * Cleaned up fvi and physics a little
-- *
-- * Revision 1.15  1994/08/04  00:21:04  matt
-- * Cleaned up fvi & physics error handling; put in code to make sure objects
-- * are in correct segment; simplified segment finding for objects and points
-- *
-- * Revision 1.14  1994/08/02  19:04:26  matt
-- * Cleaned up vertex list functions
-- *
-- * Revision 1.13  1994/08/02  09:56:28  matt
-- * Put in check for bad value find_plane_line_intersection()
-- *
-- * Revision 1.12  1994/08/01  17:27:26  matt
-- * Added support for triangulated walls in trans point check
-- *
-- * Revision 1.11  1994/08/01  13:30:40  matt
-- * Made fvi() check holes in transparent walls, and changed fvi() calling
-- * parms to take all input data in query structure.
-- *
-- * Revision 1.10  1994/07/13  21:47:17  matt
-- * FVI() and physics now keep lists of segments passed through which the
-- * trigger code uses.
-- *
-- * Revision 1.9  1994/07/09  21:21:40  matt
-- * Fixed, hopefull, bugs in sphere-to-vector intersection code
-- *
-- * Revision 1.8  1994/07/08  14:26:42  matt
-- * Non-needed powerups don't get picked up now; this required changing FVI to
-- * take a list of ingore objects rather than just one ignore object.
-- *
-- * Revision 1.7  1994/07/06  20:02:37  matt
-- * Made change to match gameseg that uses lowest point number as reference
-- * point when checking against a plane
-- *
-- * Revision 1.6  1994/06/29  15:43:58  matt
-- * When computing intersection of vector and sphere, use the radii of both
-- * objects.
-- *
-- * Revision 1.5  1994/06/14  15:57:58  matt
-- * Took out asserts, and added other hacks, pending real bug fixes
-- *
-- * Revision 1.4  1994/06/13  23:10:08  matt
-- * Fixed problems with triangulated sides
-- *
-- * Revision 1.3  1994/06/09  12:11:14  matt
-- * Fixed confusing use of two variables, hit_objnum & fvi_hit_object, to
-- * keep the same information in different ways.
-- *
-- * Revision 1.2  1994/06/09  09:58:38  matt
-- * Moved find_vector_intersection() from physics.c to new file fvi.c
-- *
-- * Revision 1.1  1994/06/09  09:25:57  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/fvi.h:
-
-- * Revision 1.2  1995/08/23  21:34:29  allender
-- * fix mcc compiler warning
-- *
-- * Revision 1.1  1995/05/16  15:56:38  allender
-- * Initial revision
-- *
-- * Revision 2.1  1995/03/20  18:15:58  john
-- * Added code to not store the normals in the segment structure.
-- *
-- * Revision 2.0  1995/02/27  11:32:02  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.10  1995/02/02  14:07:58  matt
-- * Fixed confusion about which segment you are touching when you're
-- * touching a wall.  This manifested itself in spurious lava burns.
-- *
-- * Revision 1.9  1994/12/04  22:48:04  matt
-- * Physics & FVI now only build seglist for player objects, and they
-- * responsilby deal with buffer full conditions
-- *
-- * Revision 1.8  1994/10/31  12:28:01  matt
-- * Added new function object_intersects_wall()
-- *
-- * Revision 1.7  1994/10/10  13:10:00  matt
-- * Increased max_fvi_segs
-- *
-- * Revision 1.6  1994/09/25  00:38:29  matt
-- * Made the 'find the point in the bitmap where something hit' system
-- * publicly accessible.
-- *
-- * Revision 1.5  1994/08/01  13:30:35  matt
-- * Made fvi() check holes in transparent walls, and changed fvi() calling
-- * parms to take all input data in query structure.
-- *
-- * Revision 1.4  1994/07/13  21:47:59  matt
-- * FVI() and physics now keep lists of segments passed through which the
-- * trigger code uses.
-- *
-- * Revision 1.3  1994/07/08  14:27:26  matt
-- * Non-needed powerups don't get picked up now; this required changing FVI to
-- * take a list of ingore objects rather than just one ignore object.
-- *
-- * Revision 1.2  1994/06/09  09:58:39  matt
-- * Moved find_vector_intersection() from physics.c to new file fvi.c
-- *
-- * Revision 1.1  1994/06/09  09:26:14  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/game.c:
-
-- * Revision 1.1  1995/12/05  16:01:09  allender
-- * Initial revision
-- *
-- * Revision 1.38  1995/11/13  13:02:35  allender
-- * put up HUD message when player starts tournament
-- *
-- * Revision 1.37  1995/11/13  09:21:05  allender
-- * ved and shorted tournament mode messages
-- *
-- * Revision 1.36  1995/11/09  17:27:00  allender
-- * took out cheats during demo playback
-- *
-- * Revision 1.35  1995/11/07  17:05:41  allender
-- * move registered cheats
-- *
-- * Revision 1.34  1995/11/03  12:55:45  allender
-- * shareware changes
-- *
-- * Revision 1.33  1995/10/29  20:15:00  allender
-- * took out frame rate cheat.  Pause for at least a second because
-- * of cmd-P problem
-- *
-- * Revision 1.32  1995/10/26  14:11:26  allender
-- * fix up message box stuff to align correctly
-- *
-- * Revision 1.31  1995/10/24  18:09:41  allender
-- * ixed cockpit weirdness -- don't update cockpit when do_appl_quit
-- * is called -- screen saved in mevent.c
-- *
-- * Revision 1.30  1995/10/21  23:39:10  allender
-- * ruise marking indicator
-- *
-- * Revision 1.29  1995/10/21  22:52:27  allender
-- * bald guy cheat -- print screen stuff
-- *
-- * Revision 1.28  1995/10/20  00:54:28  allender
-- * new help menus and redbook checking in outer game loop
-- *
-- * Revision 1.27  1995/10/17  15:34:19  allender
-- * pixel double is now default mode
-- *
-- * Revision 1.26  1995/10/12  17:34:44  allender
-- * bigger message box -- command key equivs for function keys
-- *
-- * Revision 1.25  1995/10/11  12:17:14  allender
-- * removed event loop processing
-- *
-- * Revision 1.24  1995/10/11  00:58:47  allender
-- * removed debugging code
-- *
-- * Revision 1.23  1995/10/10  11:50:32  allender
-- * fixed boxed message to align on 8 byte boundry,
-- * and some debug code
-- *
-- * Revision 1.22  1995/09/24  10:51:26  allender
-- * cannot go to finder in network..added cmd-q for quit
-- *
-- * Revision 1.21  1995/09/22  15:05:18  allender
-- * *more* hud and font type stuff (messages)
-- *
-- * Revision 1.20  1995/09/22  14:39:57  allender
-- * ved framerate counter up
-- *
-- * Revision 1.19  1995/09/18  17:01:28  allender
-- * start of compatibility stuff
-- *
-- * Revision 1.18  1995/09/15  15:53:13  allender
-- * better handling of PICT screen shots
-- *
-- * Revision 1.17  1995/09/14  15:27:41  allender
-- * fixed function type on message_box routiens
-- *
-- * Revision 1.16  1995/09/13  11:37:47  allender
-- * put in call to dump PICT file instead of PCX
-- *
-- * Revision 1.15  1995/09/08  17:13:28  allender
-- * put back in ibitblt.h and start of PICT picture dump
-- *
-- * Revision 1.14  1995/09/07  10:20:58  allender
-- * make cockpit mode default
-- *
-- * Revision 1.13  1995/09/07  10:17:34  allender
-- * added command key equivalents for function keys
-- *
-- * Revision 1.12  1995/09/04  11:36:47  allender
-- * fixed pixel double mode to have correct number of rendered
-- * lines
-- *
-- * Revision 1.11  1995/09/01  15:47:07  allender
-- * cap frame rate at 60 fps
-- *
-- * Revision 1.10  1995/08/26  16:25:59  allender
-- * whole buncha' stuff!!!!
-- *
-- * Revision 1.9  1995/08/01  16:04:47  allender
-- * put in ctrl_esc sequence to go to menubar
-- *
-- * Revision 1.8  1995/07/28  14:15:11  allender
-- * added FRAME cheat to display frame rate
-- *
-- * Revision 1.7  1995/07/17  08:54:19  allender
-- * *** empty log message ***
-- *
-- * Revision 1.6  1995/07/12  12:54:06  allender
-- * removed some debug keys
-- *
-- * Revision 1.5  1995/07/05  16:44:35  allender
-- * changed some debug keys
-- *
-- * Revision 1.4  1995/06/23  10:24:57  allender
-- * added scanline doubling routine
-- *
-- * Revision 1.3  1995/06/13  13:08:26  allender
-- * added special debug key to move window into upper left corner.
-- * also added debug key to put game in 640x480 mode
-- *
-- * Revision 1.2  1995/06/12  11:10:31  allender
-- * added DEL_SHIFT_M to move window to corner of screen
-- *
-- * Revision 1.1  1995/05/16  15:25:08  allender
-- * Initial revision
-- *
-- * Revision 2.36  1996/01/05  16:52:05  john
-- * Improved 3d stuff.
-- *
-- * Revision 2.35  1995/10/09  22:17:10  john
-- * Took out the page flipping in set_screen_mode, which shouldn't
-- * be there.  This was hosing the modex stuff.
-- *
-- * Revision 2.34  1995/10/09  19:46:34  john
-- * Fixed bug with modex paging with lcdbios.
-- *
-- * Revision 2.33  1995/10/08  11:46:09  john
-- * Fixed bug with 2d offset in interlaced mode in low res.
-- * Made LCDBIOS with pageflipping using VESA set start
-- * Address function.  X=CRTC offset, Y=0.
-- *
-- * Revision 2.32  1995/10/07  13:20:51  john
-- * Added new modes for LCDBIOS, also added support for -JoyNice,
-- * and added Shift+F1-F4 to controls various stereoscopic params.
-- *
-- * Revision 2.31  1995/05/31  14:34:43  unknown
-- * fixed warnings.
-- *
-- * Revision 2.30  1995/05/08  11:23:45  john
-- * Made 3dmax work like Kasan wants it to.
-- *
-- * Revision 2.29  1995/04/06  13:47:39  yuan
-- * Restored rear view to original.
-- *
-- * Revision 2.28  1995/04/06  12:13:07  john
-- * Fixed some bugs with 3dmax.
-- *
-- * Revision 2.27  1995/04/05  13:18:18  mike
-- * decrease energy usage on fusion cannon
-- *
-- * Revision 2.26  1995/03/30  16:36:32  mike
-- * text localization.
-- *
-- * Revision 2.25  1995/03/27  16:45:26  john
-- * Fixed some cheat bugs.  Added astral cheat.
-- *
-- * Revision 2.24  1995/03/27  15:37:11  mike
-- * boost fusion cannon for non-multiplayer modes.
-- *
-- * Revision 2.23  1995/03/24  17:48:04  john
-- * Fixed bug with menus and 320x100.
-- *
-- * Revision 2.22  1995/03/24  15:34:02  mike
-- * cheats.
-- *
-- * Revision 2.21  1995/03/24  13:11:39  john
-- * Added save game during briefing screens.
-- *
-- * Revision 2.20  1995/03/21  14:40:50  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.19  1995/03/16  22:07:16  john
-- * Made so only for screen can be used for anything other
-- * than mode 13.
-- *
-- * Revision 2.18  1995/03/16  21:45:35  john
-- * Made all paged modes have incompatible menus!
-- *
-- * Revision 2.17  1995/03/16  18:30:35  john
-- * Made wider than 320 screens not have
-- * a status bar mode.
-- *
-- * Revision 2.16  1995/03/16  10:53:34  john
-- * Move VFX center to Shift+Z instead of Enter because
-- * it conflicted with toggling HUD on/off.
-- *
-- * Revision 2.15  1995/03/16  10:18:33  john
-- * Fixed bug with VFX mode not working. also made warning
-- * when it can't set VESA mode.
-- *
-- * Revision 2.14  1995/03/14  16:22:39  john
-- * Added cdrom alternate directory stuff.
-- *
-- * Revision 2.13  1995/03/14  12:14:17  john
-- * Made VR helmets have 4 resolutions to choose from.
-- *
-- * Revision 2.12  1995/03/10  13:47:33  john
-- * Added head tracking sensitivity.
-- *
-- * Revision 2.11  1995/03/10  13:13:47  john
-- * Added code to show T-xx on iglasses.
-- *
-- * Revision 2.10  1995/03/09  18:07:29  john
-- * Fixed bug with iglasses tracking not "centering" right.
-- * Made VFX have bright headlight lighting.
-- *
-- * Revision 2.9  1995/03/09  11:48:02  john
-- * Added HUD for VR helmets.
-- *
-- * Revision 2.8  1995/03/07  15:12:53  john
-- * Fixed VFX,3dmax support.
-- *
-- * Revision 2.7  1995/03/07  11:35:03  john
-- * Fixed bug with cockpit in rear view.
-- *
-- * Revision 2.6  1995/03/06  18:40:17  john
-- * Added some ifdef EDITOR stuff.
-- *
-- * Revision 2.5  1995/03/06  18:31:21  john
-- * Fixed bug with nmenu popping up on editor screen.
-- *
-- * Revision 2.4  1995/03/06  17:28:33  john
-- * Fixed but with cockpit toggling wrong.
-- *
-- * Revision 2.3  1995/03/06  16:08:10  mike
-- * Fix compile errors if building without editor.
-- *
-- * Revision 2.2  1995/03/06  15:24:10  john
-- * New screen techniques.
-- *
-- * Revision 2.1  1995/02/27  13:41:03  john
-- * Removed floating point from frame rate calculations.
-- *
-- * Revision 2.0  1995/02/27  11:31:54  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.770  1995/02/22  12:45:15  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.769  1995/02/15  10:06:25  allender
-- * make pause pause game during demo playback
-- *
-- * Revision 1.768  1995/02/13  20:35:11  john
-- * Lintized
-- *
-- * Revision 1.767  1995/02/13  19:40:29  allender
-- * added place to demo record restoration from rear view in place that
-- * I forgot before
-- *
-- * Revision 1.766  1995/02/13  10:29:27  john
-- * Fixed bug with cheats not restoreing across save games.
-- *
-- * Revision 1.765  1995/02/11  22:54:33  john
-- * Made loading for pig not show up for demos.
-- *
-- * Revision 1.764  1995/02/11  17:30:08  allender
-- * ifndef NDEBUG around strip frame stuff
-- *
-- * Revision 1.763  1995/02/11  17:13:01  rob
-- * Took out modem.c code fille stuff.
-- *
-- * Revision 1.762  1995/02/11  16:36:47  allender
-- * debug key to strip frames from end of demo
-- *
-- * Revision 1.761  1995/02/11  14:29:16  john
-- * Turned off cheats when going into game.
-- *
-- * Revision 1.760  1995/02/11  13:46:54  mike
-- * fix cheats.
-- *
-- * Revision 1.759  1995/02/11  12:36:09  matt
-- * Cleaned up cheats
-- *
-- * Revision 1.758  1995/02/11  12:27:04  mike
-- * fix path-to-exit cheat.
-- *
-- * Revision 1.757  1995/02/11  01:56:24  mike
-- * robots don't fire cheat.
-- *
-- * Revision 1.756  1995/02/10  16:38:40  mike
-- * illuminate path to exit cheat.
-- *
-- * Revision 1.755  1995/02/10  16:19:40  mike
-- * new show-path-to-exit system, still buggy, compiled out.
-- *
-- * Revision 1.754  1995/02/10  15:54:46  matt
-- * Added new cheats
-- *
-- * Revision 1.753  1995/02/09  12:25:42  matt
-- * Made mem_fill() test routines not be called if RELEASE
-- *
-- * Revision 1.752  1995/02/09  08:49:32  mike
-- * change fill opcode value to 0xcc, int 3 value.
-- *
-- *
-- * Revision 1.751  1995/02/09  02:59:26  mike
-- * check code for 00066xxx bugs.
-- *
-- * Revision 1.750  1995/02/08  17:10:02  mike
-- * add, but don't call, debug code.
-- *
-- * Revision 1.749  1995/02/07  11:07:27  john
-- * Added hooks for confirm on game state restore.
-- *
-- * Revision 1.748  1995/02/06  15:52:45  mike
-- * add mini megawow powerup for giving reasonable weapons.
-- *
-- * Revision 1.747  1995/02/06  12:53:35  allender
-- * force endlevel_sequence to 0 to fix weird bug
-- *
-- * Revision 1.746  1995/02/04  10:03:30  mike
-- * Fly to exit cheat.
-- *
-- * Revision 1.745  1995/02/02  15:57:52  john
-- * Added turbo mode cheat.
-- *
-- * Revision 1.744  1995/02/02  14:43:39  john
-- * Uppped frametime limit to 150 Hz.
-- *
-- * Revision 1.743  1995/02/02  13:37:16  mike
-- * move T-?? message down in certain modes.
-- *
-- * Revision 1.742  1995/02/02  01:26:59  john
-- * Took out no key repeating.
-- *
-- * Revision 1.741  1995/01/29  21:36:44  mike
-- * make fusion cannon not make pitching slow.
-- *
-- * Revision 1.740  1995/01/28  15:57:57  john
-- * Made joystick calibration be only when wrong detected in
-- * menu or joystick axis changed.
-- *
-- * Revision 1.739  1995/01/28  15:21:03  yuan
-- * Added X-tra life cheat.
-- *
-- * Revision 1.738  1995/01/27  14:08:31  rob
-- * Fixed a bug.
-- *
-- * Revision 1.737  1995/01/27  14:04:59  rob
-- * Its not my fault, Mark told me to do it!
-- *
-- * Revision 1.736  1995/01/27  13:12:18  rob
-- * Added charging noises to play across net.
-- *
-- * Revision 1.735  1995/01/27  11:48:28  allender
-- * check for newdemo_state to be paused and stop recording.  We might be
-- * in between levels
-- *
-- * Revision 1.734  1995/01/26  22:11:41  mike
-- * Purple chromo-blaster (ie, fusion cannon) spruce up (chromification)
-- *
-- * Revision 1.733  1995/01/26  17:03:04  mike
-- * make fusion cannon have more chrome, make fusion, mega rock you!
-- *
-- * Revision 1.732  1995/01/25  14:37:25  john
-- * Made joystick only prompt for calibration once...
-- *
-- * Revision 1.731  1995/01/24  15:49:14  john
-- * Made typeing in long net messages wrap on
-- * small screen sizes.
-- *
-- * Revision 1.730  1995/01/24  15:23:42  mike
-- * network message tweaking.
-- *
-- * Revision 1.729  1995/01/24  12:00:47  john
-- * Fixed bug with defing macro passing keys to controls.
-- *
-- * Revision 1.728  1995/01/24  11:53:35  john
-- * Added better macro defining code.
-- *
-- * Revision 1.727  1995/01/23  22:17:15  john
-- * Fixed bug with not clearing key buffer when leaving f8.
-- *
-- * Revision 1.726  1995/01/23  22:07:09  john
-- * Added flush to game inputs during F8.
-
-------------------------------------------------------------------------
-main/game.h:
-
-- * Revision 1.3  1995/09/14  13:44:34  allender
-- * fixed function prototypes to have void return value to satify
-- * moto compiler
-- *
-- * Revision 1.2  1995/08/17  09:25:05  allender
-- * externed Scanline_double variable
-- *
-- * Revision 1.1  1995/05/16  15:56:46  allender
-- * Initial revision
-- *
-- * Revision 2.1  1995/03/06  15:23:22  john
-- * New screen techniques.
-- *
-- * Revision 2.0  1995/02/27  11:28:21  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.79  1995/02/13  10:37:17  john
-- * Saved Buggin' cheat mode to save file.
-- *
-- * Revision 1.78  1995/02/01  16:34:12  john
-- * Linted.
-- *
-- * Revision 1.77  1995/01/29  21:37:14  mike
-- * initialize variables on game load so you don't drain your energy when you fire.
-- *
-- * Revision 1.76  1995/01/26  22:11:36  mike
-- * Purple chromo-blaster (ie, fusion cannon) spruce up (chromification)
-- *
-- * Revision 1.75  1995/01/26  16:45:31  mike
-- * Add autofire fusion cannon stuff.
-- *
-- * Revision 1.74  1994/12/11  23:18:06  john
-- * Added -nomusic.
-- * Added RealFrameTime.
-- * Put in a pause when sound initialization error.
-- * Made controlcen countdown and framerate use RealFrameTime.
-- *
-- * Revision 1.73  1994/12/09  00:41:24  mike
-- * fix hang in automap print screen
-- *
-- * Revision 1.72  1994/12/04  13:47:00  mike
-- * enhance custom detail level support.
-- *
-- * Revision 1.71  1994/12/02  15:05:44  matt
-- * Added new "official" cheats
-- *
-- * Revision 1.70  1994/11/28  18:14:09  rob
-- * Added game_mode flag for team games.
-- *
-- * Revision 1.69  1994/11/15  16:51:13  matt
-- * Made rear view only switch to rear cockpit if cockpit on in front view
-- *
-- * Revision 1.68  1994/11/04  16:26:10  john
-- * Fixed bug with letterbox mode game after you finish a game.
-- *
-- * Revision 1.67  1994/11/02  11:59:48  john
-- * Moved menu out of game into inferno main loop.
-- *
-- * Revision 1.66  1994/10/26  23:02:19  matt
-- * Made palette flash saturate negative values
-- *
-- * Revision 1.65  1994/10/26  15:21:05  mike
-- * Detail level stuff.  Make Render_depth public.
-- *
-- * Revision 1.64  1994/10/19  00:13:01  matt
-- * Added prototypes
-- *
-- * Revision 1.63  1994/10/09  14:54:39  matt
-- * Made player cockpit state & window size save/restore with saved games & automap
-- *
-- * Revision 1.62  1994/10/08  19:56:32  matt
-- * Added prototype
-- *
-- * Revision 1.61  1994/10/07  22:19:32  mike
-- * Increase number of difficulty levels from 4 to 5.
-- *
-- * Revision 1.60  1994/10/06  14:14:11  matt
-- * Added new function to reset time (to prevent big FrameTime) at start of level
-- *
-- * Revision 1.59  1994/10/05  17:08:43  matt
-- * Changed order of cockpit bitmaps, since there's no longer a full-screen cockpit
-- *
-- * Revision 1.58  1994/10/03  23:44:13  matt
-- * Save & restore palette effect around menus & pause message
-- *
-- * Revision 1.57  1994/09/29  17:42:12  matt
-- * Cleaned up game_mode a little
-- *
-- * Revision 1.56  1994/09/28  23:12:01  matt
-- * Macroized palette flash system
-- *
-- * Revision 1.55  1994/09/24  16:56:13  rob
-- * Added new fields for the Game_mode bitvector for modem play.
-- *
-- * Revision 1.54  1994/09/24  14:16:20  mike
-- * Added new game mode constants.
-- *
-- * Revision 1.53  1994/09/22  19:00:57  mike
-- * Move NDL from robot.h to here.
-- *
-- * Revision 1.52  1994/09/22  10:46:51  mike
-- * Add difficulty levels.
-- *
-- * Revision 1.51  1994/09/17  01:39:52  matt
-- * Added status bar/sizable window mode, and in the process revamped the
-- * whole cockpit mode system.
-- *
-- * Revision 1.50  1994/09/15  21:23:10  matt
-- * Changed system to keep track of whether & what cockpit is up
-- *
-- * Revision 1.49  1994/09/15  16:11:33  john
-- * Added support for VFX1 head tracking. Fixed bug with memory over-
-- * write when using stereo mode.
-- *
-- * Revision 1.48  1994/09/13  16:40:10  mike
-- * Prototype Global_missile_firing_count.
-- *
-- * Revision 1.47  1994/09/13  11:19:05  mike
-- * Add Next_missile_fire_time.
-- *
-- * Revision 1.46  1994/09/12  09:52:50  john
-- * Made global flush function that flushes keyboard,mouse, and joystick.
-- *
-- * Revision 1.45  1994/09/03  15:24:14  mike
-- * Make global Global_laser_firing_count.
-- *
-- * Revision 1.44  1994/08/31  19:26:57  mike
-- * Prototypes for Next_laser_fire_time, Laser_delay_time.
-- *
-- * Revision 1.43  1994/08/18  10:47:22  john
-- * Cleaned up game sequencing and player death stuff
-- * in preparation for making the player explode into
-- * pieces when dead.
-- *
-- * Revision 1.42  1994/08/11  18:03:53  matt
-- * Added prototype
-- *
-- * Revision 1.41  1994/06/29  20:41:38  matt
-- * Added new pause mode; cleaned up countdown & game startup code
-- *
-- * Revision 1.40  1994/06/24  17:03:49  john
-- * Added VFX support. Also took all game sequencing stuff like
-- * EndGame out and put it into gameseq.c
-- *
-- * Revision 1.39  1994/06/20  15:01:08  yuan
-- * Added death when mine blows up...
-- * Continues onto next level.
-- *
-- * Revision 1.38  1994/06/17  18:07:20  matt
-- * Moved some vars out of ifdef
-- *
-- * Revision 1.37  1994/06/15  11:09:22  yuan
-- * Moved gauge_message to mono screen for now.
-- *
-- * Revision 1.36  1994/05/30  20:22:11  yuan
-- * New triggers.
-- *
-- * Revision 1.35  1994/05/27  10:32:48  yuan
-- * New dialog boxes (Walls and Triggers) added.
-- *
-- *
-- * Revision 1.34  1994/05/20  11:56:45  matt
-- * Cleaned up find_vector_intersection() interface
-- * Killed check_point_in_seg(), check_player_seg(), check_object_seg()
-- *
-- * Revision 1.33  1994/05/19  21:45:21  matt
-- * Removed unused prototypes
-- *
-- * Revision 1.32  1994/05/19  18:53:17  yuan
-- * Changing player structure...
-- *
-- * Revision 1.31  1994/05/16  16:38:35  yuan
-- * Fixed palette add so it doesn't show up in the menu.
-- *
-- * Revision 1.30  1994/05/16  09:28:17  matt
-- * Renamed init_player() to be init_player_stats(), added new funtion
-- * init_player_object()
-- *
-- * Revision 1.29  1994/05/14  17:14:57  matt
-- * Got rid of externs in source (non-header) files
-
-------------------------------------------------------------------------
-main/gamefont.c:
-
-- * Revision 1.2  1995/08/18  10:23:25  allender
-- * remove refernce to big font -- add PC small font for pixel
-- * doubling display
-- *
-- * Revision 1.1  1995/05/16  15:25:22  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:30:14  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.8  1994/11/18  16:41:39  adam
-- * trimmed some meat
-- *
-- * Revision 1.7  1994/11/17  13:07:11  adam
-- * removed unused font
-- *
-- * Revision 1.6  1994/11/03  21:36:12  john
-- * Added code for credit fonts.
-- *
-- * Revision 1.5  1994/08/17  20:20:02  matt
-- * Took out alternate-color versions of font3, since this is a mono font
-- *
-- * Revision 1.4  1994/08/12  12:03:44  adam
-- * tweaked fonts.
-- *
-- * Revision 1.3  1994/08/11  12:43:40  adam
-- * changed font filenames
-- *
-- * Revision 1.2  1994/08/10  19:57:15  john
-- * Changed font stuff; Took out old menu; messed up lots of
-- * other stuff like game sequencing messages, etc.
-- *
-- * Revision 1.1  1994/08/10  17:20:09  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/gamefont.h:
-
-- * Revision 1.2  1995/08/18  10:23:54  allender
-- * removed large font -- added PC small font
-- *
-- * Revision 1.1  1995/05/16  15:56:55  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:31:09  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.7  1994/11/18  16:41:28  adam
-- * trimmed meat
-- *
-- * Revision 1.6  1994/11/17  13:07:00  adam
-- * removed unused font
-- *
-- * Revision 1.5  1994/11/03  21:36:02  john
-- * Added code for credit fonts.
-- *
-- * Revision 1.4  1994/08/17  20:20:25  matt
-- * Took out alternate-color versions of font3, since this is a mono font
-- *
-- * Revision 1.3  1994/08/11  12:44:32  adam
-- * killed a #define
-- *
-- * Revision 1.2  1994/08/10  19:57:16  john
-- * Changed font stuff; Took out old menu; messed up lots of
-- * other stuff like game sequencing messages, etc.
-- *
-- * Revision 1.1  1994/08/10  17:20:22  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/gamemine.c:
-
-- * Revision 1.2  1995/10/31  10:15:58  allender
-- * code for shareware levels
-- *
-- * Revision 1.1  1995/05/16  15:25:29  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/03/06  15:23:14  john
-- * New screen techniques.
-- *
-- * Revision 2.1  1995/02/27  13:13:37  john
-- * Removed floating point.
-- *
-- * Revision 2.0  1995/02/27  11:27:45  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.70  1995/02/13  20:35:09  john
-- * Lintized
-- *
-- * Revision 1.69  1995/02/07  17:12:03  rob
-- * Added ifdef's for Editor.
-- *
-- * Revision 1.68  1995/02/07  16:51:48  mike
-- * fix gray rock josh problem.
-- *
-- * Revision 1.67  1995/02/01  15:46:26  yuan
-- * Fixed matcen_nums.
-- *
-- * Revision 1.66  1995/01/19  15:19:28  mike
-- * new super-compressed registered file format.
-- *
-- * Revision 1.65  1994/12/10  16:44:59  matt
-- * Added debugging code to track down door that turns into rock
-- *
-- * Revision 1.64  1994/12/10  14:58:24  yuan
-- * *** empty log message ***
-- *
-- * Revision 1.63  1994/12/08  17:19:10  yuan
-- * Cfiling stuff.
-- *
-- * Revision 1.62  1994/12/07  14:05:33  yuan
-- * Fixed wall assert problem... Bashed highest_segment
-- * _index before WALL_IS_DOORWAY check.
-- *
-- * Revision 1.61  1994/11/27  23:14:52  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.60  1994/11/27  18:05:20  matt
-- * Compile out LVL reader when editor compiled out
-- *
-- * Revision 1.59  1994/11/26  22:51:45  matt
-- * Removed editor-only fields from segment structure when editor is compiled
-- * out, and padded segment structure to even multiple of 4 bytes.
-- *
-- * Revision 1.58  1994/11/26  21:48:02  matt
-- * Fixed saturation in short light value
-- *
-- * Revision 1.57  1994/11/20  22:11:49  mike
-- * comment out an apparently unnecessary call to fuelcen_reset().
-- *
-- * Revision 1.56  1994/11/18  21:56:42  john
-- * Added a better, leaner pig format.
-- *
-- * Revision 1.55  1994/11/17  20:09:18  john
-- * Added new compiled level format.
-- *
-- * Revision 1.54  1994/11/17  15:40:17  mike
-- * Comment out mprintf which was causing important information to scroll away.
-- *
-- * Revision 1.53  1994/11/17  14:56:37  mike
-- * moved segment validation functions from editor to main.
-- *
-- * Revision 1.52  1994/11/17  11:39:35  matt
-- * Ripped out code to load old mines
-- *
-- * Revision 1.51  1994/11/14  20:47:53  john
-- * Attempted to strip out all the code in the game
-- * directory that uses any ui code.
-- *
-- * Revision 1.50  1994/11/14  16:05:38  matt
-- * Fixed, maybe, again, errors when can't find texture during remap
-- *
-- * Revision 1.49  1994/11/14  14:34:03  matt
-- * Fixed up handling when textures can't be found during remap
-- *
-- * Revision 1.48  1994/11/14  13:01:55  matt
-- * Added Int3() when can't find texture
-- *
-- * Revision 1.47  1994/10/30  14:12:21  mike
-- * rip out local segments stuff.
-- *
-- * Revision 1.46  1994/10/27  19:43:07  john
-- * Disable the piglet option.
-- *
-- * Revision 1.45  1994/10/27  18:51:42  john
-- * Added -piglet option that only loads needed textures for a
-- * mine.  Only saved ~1MB, and code still doesn't free textures
-- * before you load a new mine.
-- *
-- * Revision 1.44  1994/10/20  12:47:22  matt
-- * Replace old save files (MIN/SAV/HOT) with new LVL files
-- *
-- * Revision 1.43  1994/10/19  16:46:40  matt
-- * Made tmap overrides for robots remap texture numbers
-- *
-- * Revision 1.42  1994/10/03  23:37:01  mike
-- * Adapt to changed fuelcen_activate parameters.
-- *
-- * Revision 1.41  1994/09/23  22:14:49  matt
-- * Took out obsolete structure fields
-- *
-- * Revision 1.40  1994/08/01  11:04:11  yuan
-- * New materialization centers.
-- *
-- * Revision 1.39  1994/07/21  19:01:47  mike
-- * Call Lsegment stuff.
-
-------------------------------------------------------------------------
-main/gamemine.h:
-
-- * Revision 1.1  1995/05/16  15:57:02  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:28:50  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.15  1994/11/17  11:39:34  matt
-- * Ripped out code to load old mines
-- *
-- * Revision 1.14  1994/10/19  16:46:40  matt
-- * Made tmap overrides for robots remap texture numbers
-- *
-- * Revision 1.13  1994/09/23  22:14:37  matt
-- * Took out obsolete structure fields
-- *
-- * Revision 1.12  1994/07/22  12:36:32  matt
-- * Cleaned up editor/game interactions some more.
-- *
-- * Revision 1.11  1994/06/01  11:21:37  yuan
-- * Added controlcentertriggers to the gamesave.
-- *
-- * Revision 1.10  1994/05/10  12:14:26  yuan
-- * Game save/load... Demo levels 1-5 added...
-- * High scores fixed...
-- *
-- * Revision 1.9  1994/05/04  18:25:05  yuan
-- * Working on gamesave.
-- *
-- * Revision 1.8  1994/05/03  15:53:27  yuan
-- * Readded structure field groups for backward compatibility...
-- *
-- * Revision 1.7  1994/05/03  11:36:26  yuan
-- * Stabilizing gamesave stuff.
-- *
-- * Revision 1.6  1994/04/28  11:01:32  yuan
-- * Added objects in structure.
-- *
-- * Revision 1.5  1994/04/06  18:30:03  john
-- * Added Refueling segments.
-- *
-- * Revision 1.4  1994/03/17  18:06:53  yuan
-- * Removed switch code... Now we just have Walls, Triggers, and Links...
-- *
-- * Revision 1.3  1994/03/01  18:12:24  yuan
-- * Wallswitches, triggers, and more!
-- *
-- * Revision 1.2  1994/02/10  15:36:01  matt
-- * Various changes to make editor compile out.
-- *
-- * Revision 1.1  1994/02/09  17:11:45  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/gamesave.c:
-
-- * Revision 1.3  1996/02/21  13:59:17  allender
-- * check Data folder when can't open a level file from a hog
-- *
-- * Revision 1.2  1995/10/31  10:23:23  allender
-- * shareware stuff
-- *
-- * Revision 1.1  1995/05/16  15:25:37  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/04/23  14:53:12  john
-- * Made some mine structures read in with no structure packing problems.
-- *
-- * Revision 2.1  1995/03/20  18:15:43  john
-- * Added code to not store the normals in the segment structure.
-- *
-- * Revision 2.0  1995/02/27  11:29:50  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.207  1995/02/23  10:17:36  allender
-- * fixed parameter mismatch with compute_segment_center
-- *
-- * Revision 1.206  1995/02/22  14:51:17  allender
-- * fixed some things that I missed
-- *
-- * Revision 1.205  1995/02/22  13:31:38  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.204  1995/02/01  20:58:08  john
-- * Made editor check hog.
-- *
-- * Revision 1.203  1995/01/28  17:40:34  mike
-- * correct level names (use rdl, sdl) for dumpmine stuff.
-- *
-- * Revision 1.202  1995/01/25  20:03:46  matt
-- * Moved matrix check to avoid orthogonalizing an uninitialize matrix
-- *
-- * Revision 1.201  1995/01/20  16:56:53  mike
-- * remove some mprintfs.
-- *
-- * Revision 1.200  1995/01/15  19:42:13  matt
-- * Ripped out hostage faces for registered version
-- *
-- * Revision 1.199  1995/01/05  16:59:09  yuan
-- * Make it so if editor is loaded, don't get error from typo
-- * in filename.
-- *
-- * Revision 1.198  1994/12/19  12:49:46  mike
-- * Change fgets to cfgets.  fgets was getting a pointer mismatch warning.
-- *
-- * Revision 1.197  1994/12/12  01:20:03  matt
-- * Took out object size hack for green claw guys
-- *
-- * Revision 1.196  1994/12/11  13:19:37  matt
-- * Restored calls to fix_object_segs() when debugging is turned off, since
-- * it's not a big routine, and could fix some possibly bad problems.
-- *
-- * Revision 1.195  1994/12/10  16:17:24  mike
-- * fix editor bug that was converting transparent walls into rock.
-- *
-- * Revision 1.194  1994/12/09  14:59:27  matt
-- * Added system to attach a fireball to another object for rendering purposes,
-- * so the fireball always renders on top of (after) the object.
-- *
-- * Revision 1.193  1994/12/08  17:19:02  yuan
-- * Cfiling stuff.
-- *
-- * Revision 1.192  1994/12/02  20:01:05  matt
-- * Always give vulcan cannon powerup same amount of ammo, regardless of
-- * how much it was saved with
-- *
-- * Revision 1.191  1994/11/30  17:45:57  yuan
-- * Saving files now creates RDL/SDLs instead of CDLs.
-- *
-- * Revision 1.190  1994/11/30  17:22:14  matt
-- * Ripped out hostage faces in shareware version
-- *
-- * Revision 1.189  1994/11/28  00:09:30  allender
-- * commented out call to newdemo_record_start_demo in load_level...what is
-- * this doing here anyway?????
-- *
-- * Revision 1.188  1994/11/27  23:13:48  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.187  1994/11/27  18:06:20  matt
-- * Cleaned up LVL/CDL file loading
-- *
-- * Revision 1.186  1994/11/25  22:46:29  matt
-- * Allow ESC out of compiled/normal menu (esc=compiled).
-- *
-- * Revision 1.185  1994/11/23  12:18:35  mike
-- * move level names here...a more logical place than dumpmine.
-- *
-- * Revision 1.184  1994/11/21  20:29:19  matt
-- * If hostage info is bad, fix it.
-- *
-- * Revision 1.183  1994/11/21  20:26:07  matt
-- * Fixed bug, I hope
-- *
-- * Revision 1.182  1994/11/21  20:20:37  matt
-- * Fixed stupid mistake
-- *
-- * Revision 1.181  1994/11/21  20:18:40  matt
-- * Fixed (hopefully) totally bogus writing of hostage data
-- *
-- * Revision 1.180  1994/11/20  14:11:56  matt
-- * Gracefully handle two hostages having same id
-- *
-- * Revision 1.179  1994/11/19  23:55:05  mike
-- * remove Assert, put in comment for Matt.
-- *
-- * Revision 1.178  1994/11/19  19:53:24  matt
-- * Added code to full support different hostage head clip & message for
-- * each hostage.
-- *
-- * Revision 1.177  1994/11/19  15:15:21  mike
-- * remove unused code and data
-- *
-- * Revision 1.176  1994/11/19  10:28:28  matt
-- * Took out write routines when editor compiled out
-- *
-- * Revision 1.175  1994/11/17  20:38:25  john
-- * Took out warning.
-- *
-- * Revision 1.174  1994/11/17  20:36:34  john
-- * Made it so that saving a mine will write the .cdl even
-- * if .lvl gets error.
-- *
-- * Revision 1.173  1994/11/17  20:26:19  john
-- * Made the game load whichever of .cdl or .lvl exists,
-- * and if they both exist, prompt the user for which one.
-- *
-- * Revision 1.172  1994/11/17  20:11:20  john
-- * Fixed warning.
-- *
-- * Revision 1.171  1994/11/17  20:09:26  john
-- * Added new compiled level format.
-- *
-- * Revision 1.170  1994/11/17  14:57:21  mike
-- * moved segment validation functions from editor to main.
-- *
-- * Revision 1.169  1994/11/17  11:39:21  matt
-- * Ripped out code to load old mines
-- *
-- * Revision 1.168  1994/11/16  11:24:53  matt
-- * Made attack-type robots have smaller radius, so they get closer to player
-- *
-- * Revision 1.167  1994/11/15  21:42:47  mike
-- * better error messages.
-- *
-- * Revision 1.166  1994/11/15  15:30:41  matt
-- * Save ptr to name of level being loaded
-- *
-- * Revision 1.165  1994/11/14  20:47:46  john
-- * Attempted to strip out all the code in the game
-- * directory that uses any ui code.
-- *
-- * Revision 1.164  1994/11/14  14:34:23  matt
-- * Fixed up handling when textures can't be found during remap
-- *
-- * Revision 1.163  1994/11/10  14:02:49  matt
-- * Hacked in support for player ships with different textures
-- *
-- * Revision 1.162  1994/11/06  14:38:17  mike
-- * Remove an apparently unnecessary mprintf.
-- *
-- * Revision 1.161  1994/10/30  14:11:28  mike
-- * ripout local segments stuff.
-- *
-- * Revision 1.160  1994/10/28  12:10:41  matt
-- * Check that was supposed to happen only when editor was in was happening
-- * only when editor was out.
-- *
-- * Revision 1.159  1994/10/27  11:25:32  matt
-- * Only do connectivity error check when editor in
-- *
-- * Revision 1.158  1994/10/27  10:54:00  matt
-- * Made connectivity error checking put up warning if errors found
-- *
-- * Revision 1.157  1994/10/25  10:50:54  matt
-- * Vulcan cannon powerups now contain ammo count
-- *
-- * Revision 1.156  1994/10/23  02:10:43  matt
-- * Got rid of obsolete hostage_info stuff
-- *
-- * Revision 1.155  1994/10/22  18:57:26  matt
-- * Added call to check_segment_connections()
-- *
-- * Revision 1.154  1994/10/21  12:19:23  matt
-- * Clear transient objects when saving (& loading) games
-- *
-- * Revision 1.153  1994/10/21  11:25:10  mike
-- * Use new constant IMMORTAL_TIME.
-- *
-- * Revision 1.152  1994/10/20  12:46:59  matt
-- * Replace old save files (MIN/SAV/HOT) with new LVL files
-- *
-- * Revision 1.151  1994/10/19  19:26:32  matt
-- * Fixed stupid bug
-- *
-- * Revision 1.150  1994/10/19  16:46:21  matt
-- * Made tmap overrides for robots remap texture numbers
-- *
-- * Revision 1.149  1994/10/18  08:50:27  yuan
-- * Fixed correct variable this time.
-- *
-- * Revision 1.148  1994/10/18  08:45:02  yuan
-- * Oops. forgot load function.
-- *
-- * Revision 1.147  1994/10/18  08:42:10  yuan
-- * Avoid the int3.
-- *
-- * Revision 1.146  1994/10/17  21:34:57  matt
-- * Added support for new Control Center/Main Reactor
-- *
-- * Revision 1.145  1994/10/15  19:06:34  mike
-- * Fix bug, maybe, having to do with something or other, ...
-- *
-- * Revision 1.144  1994/10/12  21:07:33  matt
-- * Killed unused field in object structure
-- *
-- * Revision 1.143  1994/10/06  14:52:55  mike
-- * Put check in to detect possibly bogus walls in last segment which leaked through an earlier check
-- * due to misuse of Highest_segment_index.
-- *
-- * Revision 1.142  1994/10/05  22:12:44  mike
-- * Put in cleanup for matcen/fuelcen links.
-- *
-- * Revision 1.141  1994/10/03  11:30:05  matt
-- * Make sure player in a valid segment before saving
-- *
-- * Revision 1.140  1994/09/28  11:14:41  mike
-- * Better error messaging on bogus mines: Only bring up dialog box if a "real" (level??.*) level.
-- *
-- * Revision 1.139  1994/09/28  09:22:58  mike
-- * Comment out a mprintf.
-- *
-- * Revision 1.138  1994/09/27  17:08:36  mike
-- * Message boxes when you load bogus mines.
-- *
-- * Revision 1.137  1994/09/27  15:43:45  mike
-- * Move the dump stuff to dumpmine.
-- *
-- * Revision 1.136  1994/09/27  00:02:31  mike
-- * Dump text files (".txm") when loading a mine, showing all kinds of useful mine info.
-- *
-- * Revision 1.135  1994/09/26  11:30:41  matt
-- * Took out code which loaded bogus player structure
-- *
-- * Revision 1.134  1994/09/26  11:18:44  john
-- * Fixed some conflicts with newseg.
-- *
-- * Revision 1.133  1994/09/26  10:56:58  matt
-- * Fixed inconsistancies in lifeleft for immortal objects
-- *
-- * Revision 1.132  1994/09/25  23:41:10  matt
-- * Changed the object load & save code to read/write the structure fields one
-- * at a time (rather than the whole structure at once).  This mean that the
-- * object structure can be changed without breaking the load/save functions.
-- * As a result of this change, the local_object data can be and has been
-- * incorporated into the object array.  Also, timeleft is now a property
-- * of all objects, and the object structure has been otherwise cleaned up.
-
-------------------------------------------------------------------------
-main/gamesave.h:
-
-- * Revision 1.1  1995/05/16  15:57:10  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:30:25  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.11  1994/11/23  12:19:32  mike
-- * detail level menu.
-- *
-- * Revision 1.10  1994/10/20  12:47:30  matt
-- * Replace old save files (MIN/SAV/HOT) with new LVL files
-- *
-- * Revision 1.9  1994/09/27  17:08:47  mike
-- * Message boxes when you load bogus mines.
-- *
-- * Revision 1.8  1994/09/27  15:43:05  mike
-- * Prototype write_game_text.
-- *
-- * Revision 1.7  1994/09/14  15:46:39  matt
-- * Added function load_mine_only()
-- *
-- * Revision 1.6  1994/07/22  12:36:28  matt
-- * Cleaned up editor/game interactions some more.
-- *
-- * Revision 1.5  1994/07/20  13:38:14  matt
-- * Added get_level_name() prototype
-- *
-- * Revision 1.4  1994/06/20  22:19:41  john
-- * Added Gamesave_num_org_robots.
-- *
-- * Revision 1.3  1994/06/14  11:32:49  john
-- * Made Newdemo record & restore the current mine.
-- *
-- * Revision 1.2  1994/05/14  17:16:25  matt
-- * Got rid of externs in source (non-header) files
-- *
-- * Revision 1.1  1994/05/14  16:01:26  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/gameseg.c:
-
-- * Revision 1.9  1995/11/08  16:26:04  allender
-- * minor bug fix in find_connected_distance
-- *
-- * Revision 1.8  1995/10/12  17:36:55  allender
-- * made trace_segs only recurse 100 times max
-- *
-- * Revision 1.7  1995/10/11  18:29:01  allender
-- * removed Int3 from trace_segs
-- *
-- * Revision 1.6  1995/10/11  14:13:54  allender
-- * put in stack check code into trace-segs
-- *
-- * Revision 1.5  1995/09/23  09:40:25  allender
-- * put in casts in extract_shortpos to try and solve shortpos problem
-- * with appletalk
-- *
-- * Revision 1.4  1995/09/20  14:26:50  allender
-- * added flag to swap bytes on extract shortpot
-- *
-- * Revision 1.3  1995/08/12  12:01:27  allender
-- * added flag to create_shortpos to swap bytes
-- *
-- * Revision 1.2  1995/06/06  10:42:07  allender
-- * made shortpos routines swap bytes when extracting and making shortpos structures
-- *
-- * Revision 1.1  1995/05/16  15:25:46  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/03/20  18:15:39  john
-- * Added code to not store the normals in the segment structure.
-- *
-- * Revision 2.1  1995/03/08  12:11:39  allender
-- * fix shortpos reading/writing
-- *
-- * Revision 2.0  1995/02/27  11:29:21  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.78  1995/02/22  13:52:22  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.77  1995/02/22  13:24:47  john
-- * Removed the vecmat anonymous unions.
-- *
-- * Revision 1.76  1995/02/13  20:35:01  john
-- * Lintized
-- *
-- * Revision 1.75  1995/02/09  13:10:51  mike
-- * remove an annoying mprintf.
-- *
-- * Revision 1.74  1995/02/05  17:49:28  rob
-- * Added assert to gameseg.c.
-- *
-- * Revision 1.73  1995/02/02  00:49:26  mike
-- * new automap segment-depth functionality.
-- *
-- * Revision 1.72  1995/01/16  21:06:51  mike
-- * Move function pick_random_point_in_segment from fireball.c to gameseg.c.
-- *
-- * Revision 1.71  1994/12/21  19:54:32  matt
-- * Added error checking
-- *
-- * Revision 1.70  1994/12/11  21:34:09  matt
-- * Changed assert() to int3()
-- *
-- * Revision 1.69  1994/12/01  21:04:37  matt
-- * Several important changes:
-- *  (1) Checking against triangulated sides has been standardized a bit
-- *  (2) Code has been added to de-triangulate some sides
-- *  (3) BIG ONE: the tolerance for checking a point against a plane has
-- *      been drastically relaxed
-- *
-- *
-- * Revision 1.67  1994/11/27  23:12:21  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.66  1994/11/26  22:51:40  matt
-- * Removed editor-only fields from segment structure when editor is compiled
-- * out, and padded segment structure to even multiple of 4 bytes.
-- *
-- * Revision 1.65  1994/11/22  16:55:38  mike
-- * use memset in place of loop to clear array.
-- *
-- * Revision 1.64  1994/11/19  15:20:37  mike
-- * rip out unused code and data
-- *
-- * Revision 1.63  1994/11/18  18:31:48  matt
-- * Fixed code again (and maybe for real)
-- *
-- * Revision 1.62  1994/11/18  16:54:24  matt
-- * Fixed extract_orient_from_segment()
-- *
-- * Revision 1.61  1994/11/17  14:56:50  mike
-- * moved segment validation functions from editor to main.
-- *
-- * Revision 1.60  1994/11/16  23:38:53  mike
-- * new improved boss teleportation behavior.
-- *
-- * Revision 1.59  1994/10/30  14:12:46  mike
-- * rip out local segments stuff.
-- *
-- * Revision 1.58  1994/10/27  10:53:39  matt
-- * Made connectivity error checking put up warning if errors found
-- *
-- * Revision 1.57  1994/10/25  21:19:26  mike
-- * debugging code.
-- *
-- * Revision 1.56  1994/10/25  11:26:09  mike
-- * *** empty log message ***
-- *
-- * Revision 1.55  1994/10/22  22:36:08  matt
-- * Improved error finding routine
-- *
-- * Revision 1.54  1994/10/22  18:56:51  matt
-- * Fixed obscure bug in segment trace code
-- * Added error find routine, check_segment_connections()
-- *
-- * Revision 1.53  1994/10/17  14:05:19  matt
-- * Don't give recursion assert if doing lighting
-- *
-- * Revision 1.52  1994/10/15  19:03:48  mike
-- * Don't do exhaustive search in smooth lighting.
-- *
-- * Revision 1.51  1994/10/12  09:46:44  mike
-- * Add debug code for trapping exhaustive searches.
-- *
-- * Revision 1.50  1994/10/11  20:50:41  matt
-- * Made find_point_seg() take -1 as segnum, meaning to search all segments
-- *
-- * Revision 1.49  1994/10/11  17:40:31  matt
-- * Fixed bug that caused segment trace to only go through sides you can fly through
-- *
-- * Revision 1.48  1994/10/10  14:48:16  matt
-- * Fixed mistake that caused odd pauses and occasional int3's
-- *
-- * Revision 1.47  1994/10/09  23:50:41  matt
-- * Made find_hitpoint_uv() work with triangulated sides
-- *
-- * Revision 1.46  1994/10/08  23:06:52  matt
-- * trace_segs() didn't know about external walls
-- *
-- * Revision 1.45  1994/10/07  22:18:57  mike
-- * Put in asserts to trap bad segnums.
-- *
-- * Revision 1.44  1994/10/06  14:08:07  matt
-- * Added new function, extract_orient_from_segment()
-- *
-- * Revision 1.43  1994/10/04  16:24:11  mike
-- * Set global Connected_segment_distance for debug reasons for aipath.c.
-- *
-- * Revision 1.42  1994/10/04  09:18:42  mike
-- * Comment out a variable definition, preventing a warning message.
-- *
-- * Revision 1.41  1994/10/03  23:43:42  mike
-- * Put in a warning for overrunning point_segs buffer.
-- *
-- * Revision 1.40  1994/10/03  20:55:43  rob
-- * Added velocity to shortpos.
-- *
-- * Revision 1.39  1994/09/27  11:46:06  rob
-- * re-fixed that same bug (ugh).
-- *
-- * Revision 1.38  1994/09/27  10:10:51  rob
-- * Fixed bug in extract_shortpos (obj_relink added).
-- *
-- * Revision 1.37  1994/09/25  23:41:02  matt
-- * Changed the object load & save code to read/write the structure fields one
-- * at a time (rather than the whole structure at once).  This mean that the
-- * object structure can be changed without breaking the load/save functions.
-- * As a result of this change, the local_object data can be and has been
-- * incorporated into the object array.  Also, timeleft is now a property
-- * of all objects, and the object structure has been otherwise cleaned up.
-- *
-- * Revision 1.36  1994/09/22  19:03:05  mike
-- * Add shortpos manipulation functions create_shortpos and extract_shortpos.
-- *
-- * Revision 1.35  1994/09/19  21:21:16  mike
-- * Minor optimization to find_connected_distance.
-- *
-- * Revision 1.34  1994/09/19  21:05:25  mike
-- * Write function find_connected_distance,
-- * returns distance between two points as travellable through the mine.
-- *
-- * Revision 1.33  1994/08/30  15:07:15  matt
-- * Changed find_point_seg() to deal with some infinite recursion problems.
-- *
-- * Revision 1.32  1994/08/11  18:58:32  mike
-- * Use ints in place of shorts for optimization.
-- *
-- * Revision 1.31  1994/08/04  00:20:09  matt
-- * Cleaned up fvi & physics error handling; put in code to make sure objects
-- * are in correct segment; simplified segment finding for objects and points
-- *
-- * Revision 1.30  1994/08/03  16:46:12  mike
-- * not much...
-- *
-- * Revision 1.29  1994/08/02  20:41:31  matt
-- * Fixed bug in get_side_verts()
-- *
-- * Revision 1.28  1994/08/02  19:04:25  matt
-- * Cleaned up vertex list functions
-- *
-- * Revision 1.27  1994/08/01  10:39:44  matt
-- * find_new_seg() now will look through any kind of wall but a totally solid one
-- *
-- * Revision 1.26  1994/07/28  19:15:59  matt
-- * Fixed yet another bug in get_seg_masks()
-
-------------------------------------------------------------------------
-main/gameseg.h:
-
-- * Revision 1.1  1995/05/16  15:57:18  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:31:20  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.24  1995/02/01  16:34:03  john
-- * Linted.
-- *
-- * Revision 1.23  1995/01/16  21:06:36  mike
-- * Move function pick_random_point_in_segment from fireball.c to gameseg.c.
-- *
-- * Revision 1.22  1994/11/23  12:18:59  mike
-- * prototype for level names.
-- *
-- * Revision 1.21  1994/11/17  14:56:59  mike
-- * moved segment validation functions from editor to main.
-- *
-- * Revision 1.20  1994/11/16  23:38:46  mike
-- * new improved boss teleportation behavior.
-- *
-- * Revision 1.19  1994/10/30  14:12:14  mike
-- * rip out local segments stuff.
-- *
-- * Revision 1.18  1994/10/09  23:51:07  matt
-- * Made find_hitpoint_uv() work with triangulated sides
-- *
-- * Revision 1.17  1994/10/06  14:08:22  matt
-- * Added new function, extract_orient_from_segment()
-- *
-- * Revision 1.16  1994/09/19  21:05:52  mike
-- * Prototype for find_connected_distance.
-- *
-- * Revision 1.15  1994/08/11  18:58:45  mike
-- * Change shorts to ints.
-- *
-- * Revision 1.14  1994/08/04  00:21:09  matt
-- * Cleaned up fvi & physics error handling; put in code to make sure objects
-- * are in correct segment; simplified segment finding for objects and points
-- *
-- * Revision 1.13  1994/08/02  19:04:25  matt
-- * Cleaned up vertex list functions
-- *
-- * Revision 1.12  1994/07/21  19:01:53  mike
-- * lsegment stuff.
-- *
-- * Revision 1.11  1994/07/07  09:31:13  matt
-- * Added comments
-- *
-- * Revision 1.10  1994/06/14  12:21:20  matt
-- * Added new function, find_point_seg()
-- *
-- * Revision 1.9  1994/05/29  23:17:38  matt
-- * Move find_object_seg() from physics.c to gameseg.c
-- * Killed unused find_point_seg()
-- *
-- * Revision 1.8  1994/05/20  11:56:57  matt
-- * Cleaned up find_vector_intersection() interface
-- * Killed check_point_in_seg(), check_player_seg(), check_object_seg()
-- *
-- * Revision 1.7  1994/03/17  18:07:38  yuan
-- * Removed switch code... Now we just have Walls, Triggers, and Links...
-- *
-- * Revision 1.6  1994/02/22  18:14:44  yuan
-- * Added new wall system
-- *
-- * Revision 1.5  1994/02/17  11:33:22  matt
-- * Changes in object system
-- *
-- * Revision 1.4  1994/02/16  13:48:33  mike
-- * enable editor to compile out.
-- *
-- * Revision 1.3  1994/02/14  12:05:07  mike
-- * change segment data structure.
-- *
-- * Revision 1.2  1994/02/10  16:07:20  mike
-- * separate editor from game based on EDITOR flag.
-- *
-- * Revision 1.1  1994/02/09  15:45:38  mike
-- * Initial revision
-
-------------------------------------------------------------------------
-main/gameseq.c:
-
-- * Revision 1.1  1995/12/05  16:02:05  allender
-- * Initial revision
-- *
-- * Revision 1.14  1995/11/03  12:55:30  allender
-- * shareware changes
-- *
-- * Revision 1.13  1995/10/31  10:23:07  allender
-- * shareware stuff
-- *
-- * Revision 1.12  1995/10/18  18:25:02  allender
-- * call auto_select_weapon after initing ammo since that may
-- * change the secondary weapon status
-- *
-- * Revision 1.11  1995/10/17  13:17:11  allender
-- * added closebox when entering pilot name
-- *
-- * Revision 1.10  1995/09/24  10:56:59  allender
-- * new players must be looked for in Players directory
-- *
-- * Revision 1.9  1995/09/18  08:08:08  allender
-- * remove netgame binding if at endgame
-- *
-- * Revision 1.8  1995/09/14  14:13:01  allender
-- * initplayerobject have void return
-- *
-- * Revision 1.7  1995/08/31  12:54:42  allender
-- * try and fix bug
-- *
-- * Revision 1.6  1995/08/26  16:25:40  allender
-- * put return values on needed functions
-- *
-- * Revision 1.5  1995/08/14  09:26:28  allender
-- * added byteswap header files
-- *
-- * Revision 1.4  1995/08/01  13:57:42  allender
-- * macified player file stuff -- players stored in seperate folder
-- *
-- * Revision 1.3  1995/06/08  12:54:37  allender
-- * new function for calculating a segment based checksum since the old way
-- * is byte order dependent
-- *
-- * Revision 1.2  1995/06/02  07:42:10  allender
-- * removed duplicate extern for network_endlevel_poll2
-- *
-- * Revision 1.1  1995/05/16  15:25:56  allender
-- * Initial revision
-- *
-- * Revision 2.10  1995/12/19  15:48:25  john
-- * Made screen reset when loading new level.
-- *
-- * Revision 2.9  1995/07/07  16:47:52  john
-- * Fixed bug with reactor time..
-- *
-- * Revision 2.8  1995/06/15  12:14:18  john
-- * Made end game, win game and title sequences all go
-- * on after 5 minutes automatically.
-- *
-- * Revision 2.7  1995/05/26  16:16:25  john
-- * Split SATURN into define's for requiring cd, using cd, etc.
-- * Also started adding all the Rockwell stuff.
-- *
-- * Revision 2.6  1995/03/24  13:11:20  john
-- * Added save game during briefing screens.
-- *
-- * Revision 2.5  1995/03/23  17:56:20  allender
-- * added code to record old laser level and weapons when player gets
-- * new ship
-- *
-- * Revision 2.4  1995/03/21  08:39:14  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.3  1995/03/15  14:33:33  john
-- * Added code to force the Descent CD-rom in the drive.
-- *
-- * Revision 2.2  1995/03/06  16:47:26  mike
-- * destination saturn
-- *
-- * Revision 2.1  1995/03/06  15:23:23  john
-- * New screen techniques.
-- *
-- * Revision 2.0  1995/02/27  11:28:53  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.310  1995/02/14  10:48:09  mike
-- * zero bonus if you are a cheater.
-- *
-- * Revision 1.309  1995/02/11  19:17:08  rob
-- * Fixed bug in laser fire rate after demo playback.
-- *
-- * Revision 1.308  1995/02/11  14:34:08  rob
-- * Added include of netmisc.c
-- *
-- * Revision 1.307  1995/02/11  14:29:04  rob
-- * Fixes for invul. controlcen.
-- *
-- * Revision 1.306  1995/02/11  13:47:00  mike
-- * fix cheats.
-- *
-- * Revision 1.305  1995/02/11  13:10:52  rob
-- * Fixed end of anarchy mission problems.
-- *
-- * Revision 1.304  1995/02/11  12:46:12  mike
-- * initialize Robot_firing_enabled, part of AHIMSA cheat.
-- *
-- * Revision 1.303  1995/02/11  12:42:03  john
-- * Added new song method, with FM bank switching..
-- *
-- * Revision 1.302  1995/02/10  17:39:29  matt
-- * Changed secret exit message to be centered
-- *
-- * Revision 1.301  1995/02/10  16:17:33  mike
-- * init Last_level_path_shown.
-- *
-- * Revision 1.300  1995/02/09  22:18:22  john
-- * Took out between level saves.
-- *
-- * Revision 1.299  1995/02/09  12:11:42  rob
-- * Get rid of high scores thing for multiplayer games.
-- *
-- * Revision 1.298  1995/02/08  20:34:24  rob
-- * Took briefing screens back OUT of coop games (per Interplay request)
-- *
-- * Revision 1.297  1995/02/08  19:20:09  rob
-- * Moved checksum calc.
-- *
-- * Revision 1.296  1995/02/05  14:39:24  rob
-- * Changed object mapping to be more efficient.
-- *
-- * Revision 1.295  1995/02/02  19:05:38  john
-- * Made end level menu for 27 not overwrite descent title..
-- *
-- * Revision 1.294  1995/02/02  16:36:42  adam
-- * *** empty log message ***
-- *
-- * Revision 1.293  1995/02/02  15:58:02  john
-- * Added turbo mode cheat.
-- *
-- * Revision 1.292  1995/02/02  15:29:34  matt
-- * Changed & localized secret level text
-- *
-- * Revision 1.291  1995/02/02  10:50:03  adam
-- * messed with secret level message
-- *
-- * Revision 1.290  1995/02/02  01:20:28  adam
-- * changed endgame song temporarily.
-- *
-- * Revision 1.289  1995/02/01  23:19:43  rob
-- * Fixed up endlevel stuff for multiplayer.
-- * Put in palette fades around areas that didn't have them before.
-- *
-- * Revision 1.288  1995/02/01  17:12:34  mike
-- * Make score come after endgame screens.
-- *
-- * Revision 1.287  1995/01/30  18:34:30  rob
-- * Put briefing screens back into coop games.
-- *
-- * Revision 1.286  1995/01/27  13:07:59  rob
-- * Removed erroneous warning message.
-- *
-- * Revision 1.285  1995/01/27  11:47:43  rob
-- * Removed new secret level menu from multiplayer games.
-- *
-- * Revision 1.284  1995/01/26  22:11:11  mike
-- * Purple chromo-blaster (ie, fusion cannon) spruce up (chromification)
-- *
-- * Revision 1.283  1995/01/26  16:55:13  rob
-- * Removed ship bonus from cooperative endgame.
-- *
-- * Revision 1.282  1995/01/26  16:45:24  mike
-- * Add autofire fusion cannon stuff.
-- *
-- * Revision 1.281  1995/01/26  14:44:44  rob
-- * Removed unnecessary #ifdefs around mprintfs.
-- * Changed NumNetPlayerPositions to be independant of MaxNumNetPlayers to
-- * accomodate 4-player robo-archy games with 8 start positions.
-- *
-- * Revision 1.280  1995/01/26  12:19:01  rob
-- * Changed network_do_frame call.
-- *
-- * Revision 1.279  1995/01/26  00:35:03  matt
-- * Changed numbering convention for HMP files for levels
-- *
-- * Revision 1.278  1995/01/25  16:07:59  matt
-- * Added message (prototype) when going to secret level
-- *
-- * Revision 1.277  1995/01/22  18:57:23  matt
-- * Made player highest level work with missions
-- *
-- * Revision 1.276  1995/01/21  23:13:08  matt
-- * Made high scores with (not work, really) with loaded missions
-- * Don't give player high score when quit game
-- *
-- * Revision 1.275  1995/01/21  17:17:39  john
-- * *** empty log message ***
-- *
-- * Revision 1.274  1995/01/21  17:15:38  john
-- * Added include for state.h
-- *
-- * Revision 1.273  1995/01/21  16:21:14  matt
-- * Fixed bugs in secret level sequencing
-- *
-- * Revision 1.272  1995/01/20  22:47:29  matt
-- * Mission system implemented, though imcompletely
-- *
-- * Revision 1.271  1995/01/19  17:00:48  john
-- * Made save game work between levels.
-- *
-- * Revision 1.270  1995/01/17  17:49:10  rob
-- * Added key syncing for coop.
-- *
-- * Revision 1.269  1995/01/17  14:27:37  john
-- * y
-- *
-- * Revision 1.268  1995/01/17  13:36:33  john
-- * Moved pig loading into StartNewLevelSub.
-- *
-- * Revision 1.267  1995/01/16  16:53:55  john
-- * Added code to save cheat state during save game.
-- *
-- * Revision 1.266  1995/01/15  19:42:10  matt
-- * Ripped out hostage faces for registered version
-- *
-- * Revision 1.265  1995/01/15  16:55:06  john
-- * Improved mine texture parsing.
-- *
-- * Revision 1.264  1995/01/15  11:56:24  john
-- * Working version of paging.
-- *
-- * Revision 1.263  1995/01/14  19:16:40  john
-- * First version of new bitmap paging code.
-- *
-- * Revision 1.262  1995/01/13  17:38:58  yuan
-- * Removed Int3() for number players check.
-- *
-- * Revision 1.261  1995/01/12  12:09:52  yuan
-- * Added coop object capability.
-- *
-- * Revision 1.260  1995/01/05  17:16:08  yuan
-- * Removed Int3s.
-- *
-- * Revision 1.259  1995/01/05  11:34:29  john
-- * Took out endlevel save stuff for registered.
-- *
-- * Revision 1.258  1995/01/04  19:00:16  rob
-- * Added some debugging for two bugs.
-- *
-- * Revision 1.257  1995/01/04  13:18:18  john
-- * Added cool 6 game save.
-- *
-- * Revision 1.256  1995/01/04  08:46:18  rob
-- * JOHN CHECKED IN FOR ROB !!!
-- *
-- * Revision 1.255  1995/01/02  20:07:35  rob
-- * Added score syncing.
-- * Get rid of endlevel score for coop games (put it back in elsewhere)
-- *
-- * Revision 1.254  1995/01/02  16:17:43  mike
-- * init super boss.
-- *
-- * Revision 1.253  1994/12/21  21:08:47  rob
-- * fixed a bug in coop player ship positions.
-- *
-- * Revision 1.252  1994/12/21  12:57:08  rob
-- * Handle additional player ships in mines.
-
-------------------------------------------------------------------------
-main/gameseq.h:
-
-- * Revision 1.4  1995/10/31  10:22:55  allender
-- * shareware stuff
-- *
-- * Revision 1.3  1995/09/14  14:13:14  allender
-- * initplayerobject have void return
-- *
-- * Revision 1.2  1995/08/24  15:36:17  allender
-- * fixed prototypes warnings
-- *
-- * Revision 1.1  1995/05/16  15:57:26  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:32:03  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.41  1995/02/07  10:51:54  rob
-- * fix typo.
-- *
-- * Revision 1.40  1995/02/06  20:10:16  rob
-- * Extern'ed DoEndLevelScoreGlitz.
-- *
-- * Revision 1.39  1995/02/01  16:34:13  john
-- * Linted.
-- *
-- * Revision 1.38  1995/01/27  11:15:03  rob
-- * Added extern for player position vars.
-- *
-- * Revision 1.37  1995/01/20  22:47:38  matt
-- * Mission system implemented, though imcompletely
-- *
-- * Revision 1.36  1995/01/17  13:36:08  john
-- * Moved pig loading into StartNewLevelSub.
-- *
-- * Revision 1.35  1995/01/04  12:21:28  john
-- * *** empty log message ***
-- *
-- * Revision 1.34  1995/01/04  12:20:47  john
-- * Declearations to work better with game state save.
-- *
-- *
-- * Revision 1.33  1994/12/08  09:46:35  matt
-- * Made level name len a multiple of 4 for alignment
-- *
-- * Revision 1.32  1994/11/29  16:33:29  rob
-- * Added new defines for last_secret_level based on shareware or not shareware.
-- *
-- * Revision 1.31  1994/11/26  15:30:20  matt
-- * Allow escape out of change pilot menu
-- *
-- * Revision 1.30  1994/11/21  17:29:38  matt
-- * Cleaned up sequencing & game saving for secret levels
-- *
-- * Revision 1.29  1994/11/21  15:55:03  matt
-- * Corrected LAST_LEVEL
-- *
-- * Revision 1.28  1994/11/20  22:12:43  mike
-- * set LAST_LEVEL based on SHAREWARE.
-- *
-- * Revision 1.27  1994/11/09  10:55:51  matt
-- * Cleaned up initialization for editor -> game transitions
-- *
-- * Revision 1.26  1994/11/08  17:50:48  rob
-- * ADded prototype for StartNewLEvel.
-- *
-- *
-- * Revision 1.25  1994/11/07  17:50:57  rob
-- * Added extern prototype for init_player_stats_level called for
-- * network games.
-- *
-- * Revision 1.24  1994/10/25  15:40:03  yuan
-- * *** empty log message ***
-- *
-- * Revision 1.23  1994/10/22  00:08:52  matt
-- * Fixed up problems with bonus & game sequencing
-- * Player doesn't get credit for hostages unless he gets them out alive
-- *
-- * Revision 1.22  1994/10/18  18:57:08  matt
-- * Added main menu option to enter new player name
-- *
-- * Revision 1.21  1994/10/07  23:37:32  matt
-- * Added prototype
-- *
-- * Revision 1.20  1994/10/07  16:02:53  matt
-- * Loading saved game no longer clears players weapons & other stats
-- *
-- * Revision 1.19  1994/10/06  14:12:46  matt
-- * Added flash effect when player appears
-- *
-- * Revision 1.18  1994/10/03  13:34:44  matt
-- * Added new (and hopefully better) game sequencing functions
-- *
-- * Revision 1.17  1994/09/30  15:19:53  matt
-- * Added new game sequencing functions, but left them disabled for now.
-- *
-- * Revision 1.16  1994/09/28  17:24:34  matt
-- * Added first draft of game save/load system
-- *
-- * Revision 1.15  1994/09/27  12:29:42  matt
-- * Changed level naming
-- *
-- * Revision 1.14  1994/09/02  11:53:55  mike
-- * Rename init_player_stats to init_player_stats_game.
-- *
-- * Revision 1.13  1994/08/31  20:57:34  matt
-- * Cleaned up endlevel/death code
-- *
-- * Revision 1.12  1994/08/23  18:45:06  yuan
-- * Added level 10 capability.. (LEDGES)
-- *
-- * Revision 1.11  1994/08/18  10:47:38  john
-- * Cleaned up game sequencing and player death stuff
-- * in preparation for making the player explode into
-- * pieces when dead.
-- *
-- * Revision 1.10  1994/08/15  15:24:45  john
-- * Made players know who killed them; Disabled cheat menu
-- * during net player; fixed bug with not being able to turn
-- * of invulnerability; Made going into edit/starting new leve
-- * l drop you out of a net game; made death dialog box.
-- *
-- * Revision 1.9  1994/08/13  12:20:56  john
-- * Made the networking uise the Players array.
-- *
-- * Revision 1.8  1994/07/22  12:36:24  matt
-- * Cleaned up editor/game interactions some more.
-- *
-- * Revision 1.7  1994/07/19  20:15:33  matt
-- * Name for each level now saved in the .SAV file & stored in Current_level_name
-- *
-- * Revision 1.6  1994/07/02  13:49:33  matt
-- * Cleaned up includes
-- *
-- * Revision 1.5  1994/07/02  13:09:52  matt
-- * Moved player stats struct from gameseq.h to player.h
-- *
-- * Revision 1.4  1994/07/01  16:35:35  yuan
-- * Added key system
-- *
-- * Revision 1.3  1994/06/26  14:07:35  matt
-- * Added prototypes
-- *
-- * Revision 1.2  1994/06/24  17:03:56  john
-- * Added VFX support. Also took all game sequencing stuff like
-- * EndGame out and put it into gameseq.c
-- *
-- * Revision 1.1  1994/06/24  14:13:53  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/gauges.c:
-
-- * Revision 1.15  1995/10/31  10:22:37  allender
-- * shareware stuff
-- *
-- * Revision 1.14  1995/10/26  14:11:05  allender
-- * do copy of weapon boxes in cockpit correctly
-- *
-- * Revision 1.13  1995/10/21  22:54:56  allender
-- * fixed up player names on hud
-- *
-- * Revision 1.12  1995/10/12  17:39:27  allender
-- * fixed status bar lives display
-- *
-- * Revision 1.11  1995/09/22  15:21:46  allender
-- * fixed hud problems (reticle and kill lists) for
-- * non pixel doubled mode
-- *
-- * Revision 1.10  1995/09/13  11:38:47  allender
-- * show KB left in heap instead of piggy cache
-- *
-- * Revision 1.9  1995/09/04  15:52:28  allender
-- * fix vulcan ammo count to update without overwritting itself
-- *
-- * Revision 1.8  1995/08/31  14:11:20  allender
-- * worked on hud kill list for non pixel doubled mode
-- *
-- * Revision 1.7  1995/08/24  16:05:05  allender
-- * more gauge placement -- still not done!
-- *
-- * Revision 1.6  1995/08/18  15:44:56  allender
-- * put in PC gauges for keys, lives, and reticle when pixel doubling
-- *
-- * Revision 1.5  1995/08/18  10:24:47  allender
-- * added proper support for cockpit mode -- still needs
-- *
-- * Revision 1.4  1995/07/26  16:56:34  allender
-- * more gauge stuff for status bar.  still problem
-- * with ship
-- *
-- * Revision 1.3  1995/07/17  08:55:57  allender
-- * fix up for large status bar.  Still needs some work though
-- *
-- * Revision 1.2  1995/06/20  09:54:29  allender
-- * stopgap measure to get status bar "working" until real mac
-- * status bar gets added
-- *
-- * Revision 1.1  1995/05/16  15:26:05  allender
-- * Initial revision
-- *
-- * Revision 2.7  1995/12/19  16:18:33  john
-- * Made weapon info align with canvas width, not 315.
-- *
-- * Revision 2.6  1995/03/21  14:39:25  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.5  1995/03/14  12:31:25  john
-- * Prevent negative shields from printing.
-- *
-- * Revision 2.4  1995/03/10  12:57:58  allender
-- * move rear view text up four pixels up when playing back demo
-- *
-- * Revision 2.3  1995/03/09  11:47:51  john
-- * Added HUD for VR helmets.
-- *
-- * Revision 2.2  1995/03/06  15:23:26  john
-- * New screen techniques.
-- *
-- * Revision 2.1  1995/02/27  13:13:45  john
-- * Removed floating point.
-- *
-- * Revision 2.0  1995/02/27  11:29:06  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.203  1995/02/11  01:56:45  mike
-- * move up weapons text on fullscreen hud, missiles was offscreen.
-- *
-- * Revision 1.202  1995/02/09  13:23:34  rob
-- * Added reticle names in demo playback.
-- *
-- * Revision 1.201  1995/02/08  19:20:46  rob
-- * Show cloaked teammates on H
-- * UD.  Get rid of show ID's in anarchy option.
-- *
-- * Revision 1.200  1995/02/07  21:09:00  mike
-- * add flashing to invulnerability and cloak on fullscreen.
-- *
-- * Revision 1.199  1995/02/02  21:55:57  matt
-- * Added new colored key icons for fullscreen
-- *
-- * Revision 1.198  1995/01/30  17:17:07  rob
-- * Fixed teammate names on hud.
-- *
-- * Revision 1.197  1995/01/28  17:40:49  mike
-- * fix gauge fontcolor.
-- *
-- * Revision 1.196  1995/01/27  17:03:14  mike
-- * fix placement of weapon info in multiplayer fullscreen, as per AP request.
-- *
-- * Revision 1.195  1995/01/27  11:51:23  rob
-- * Put deaths tally into cooperative mode
-- *
-- * Revision 1.194  1995/01/27  11:43:24  adam
-- * fiddled with key display
-- *
-- * Revision 1.193  1995/01/25  23:38:35  mike
-- * fix keys on fullscreen.
-- *
-- * Revision 1.192  1995/01/24  22:03:28  mike
-- * Lotsa hud stuff, put a lot of messages up.
-- *
-- * Revision 1.191  1995/01/23  16:47:21  rob
-- * Fixed problem with playing extra life noise in coop.
-- *
-- * Revision 1.190  1995/01/22  16:00:46  mike
-- * remove unneeded string.
-- *
-- * Revision 1.189  1995/01/22  15:58:22  mike
-- * localization
-- *
-- * Revision 1.188  1995/01/20  17:19:45  rob
-- * Fixing colors of hud kill list players.
-- *
-- * Revision 1.187  1995/01/20  09:19:18  allender
-- * record player flags when in CM_FULL_SCREEN
-- *
-- * Revision 1.186  1995/01/19  16:29:09  allender
-- * made demo recording of weapon change be in this file for shareware only
-- *
-- * Revision 1.185  1995/01/19  15:00:33  allender
-- * code to record shield, energy, and ammo in fullscreen
-- *
-- * Revision 1.184  1995/01/19  13:43:13  matt
-- * Fixed "cheater" message on HUD
-- *
-- * Revision 1.183  1995/01/18  16:11:58  mike
-- * Don't show added scores of 0.
-- *
-- * Revision 1.182  1995/01/17  17:42:39  allender
-- * do ammo counts in demo recording
-- *
-- * Revision 1.181  1995/01/16  17:26:25  rob
-- * Fixed problem with coloration of team kill list.
-- *
-- * Revision 1.180  1995/01/16  17:22:39  john
-- * Made so that KB and framerate don't collide.
-- *
-- * Revision 1.179  1995/01/16  14:58:31  matt
-- * Changed score_added display to print "Cheater!" when cheats enabled
-- *
-- * Revision 1.178  1995/01/15  19:42:07  matt
-- * Ripped out hostage faces for registered version
-- *
-- * Revision 1.177  1995/01/15  19:25:07  mike
-- * show vulcan ammo and secondary ammo in fullscreen view.
-- *
-- * Revision 1.176  1995/01/15  13:16:12  john
-- * Made so that paging always happens, lowmem just loads less.
-- * Also, make KB load print to hud.
-- *
-- * Revision 1.175  1995/01/14  19:17:32  john
-- * First version of piggy paging.
-- *
-- * Revision 1.174  1995/01/05  21:25:23  rob
-- * Re-did some changes lost due to RCS weirdness.
-- *
-- * Revision 1.173  1995/01/05  12:22:34  rob
-- * Don't show player names for cloaked players.
-- *
-- * Revision 1.172  1995/01/04  17:14:50  allender
-- * make init_gauges work properly on demo playback
-- *
-- * Revision 1.171  1995/01/04  15:04:42  allender
-- * new demo calls for registered version
-- *
-- * Revision 1.167  1995/01/03  13:03:57  allender
-- * pass score points instead of total points.   Added ifdef for
-- * multi_send_score
-- *
-- * Revision 1.166  1995/01/03  11:45:02  allender
-- * add hook to record player score
-- *
-- * Revision 1.165  1995/01/03  11:25:19  allender
-- * remove newdemo stuff around score display
-- *
-- * Revision 1.163  1995/01/02  21:03:53  rob
-- * Fixing up the hud-score-list for coop games.
-- *
-- * Revision 1.162  1994/12/31  20:54:40  rob
-- * Added coop mode HUD score list.
-- * Added more generic system for player names on HUD.
-- *
-- * Revision 1.161  1994/12/30  20:13:01  rob
-- * Ifdef reticle names on shareware.
-- * Added robot reticle naming.
-- *
-- * Revision 1.160  1994/12/29  17:53:51  mike
-- * move up energy/shield in fullscreen to get out of way of kill list.
-- *
-- * Revision 1.159  1994/12/29  16:44:05  mike
-- * add energy and shield showing.
-- *
-- * Revision 1.158  1994/12/28  16:34:29  mike
-- * make warning beep go away on Player_is_dead.
-- *
-- * Revision 1.157  1994/12/28  10:00:43  allender
-- * change in init_gauges to for multiplayer demo playbacks
-- *
-- * Revision 1.156  1994/12/27  11:06:46  allender
-- * removed some previous code to for demo playback stuff
-- *
-- * Revision 1.155  1994/12/23  14:23:06  john
-- * Added floating reticle for VR helments.
-- *
-- * Revision 1.154  1994/12/21  12:56:41  allender
-- * on multiplayer demo playback, show kills and deaths
-- *
-- * Revision 1.153  1994/12/19  20:28:42  rob
-- * Get rid of kill list in coop games.
-- *
-- * Revision 1.152  1994/12/14  18:06:44  matt
-- * Removed compile warnings
-- *
-- * Revision 1.151  1994/12/14  15:21:28  rob
-- * Made gauges align in status_bar net game.
-- *
-- * Revision 1.150  1994/12/12  17:20:33  matt
-- * Don't get bonus points when cheating
-- *
-- * Revision 1.149  1994/12/12  16:47:00  matt
-- * When cheating, get no score.  Change level cheat to prompt for and
-- * jump to new level.
-- *
-- * Revision 1.148  1994/12/12  12:05:45  rob
-- * Grey out players who are disconnected.
-- *
-- * Revision 1.147  1994/12/09  16:19:48  yuan
-- * kill matrix stuff.
-- *
-- * Revision 1.146  1994/12/09  16:12:34  rob
-- * Fixed up the status bar kills gauges for net play.
-- *
-- * Revision 1.145  1994/12/09  01:55:34  rob
-- * Added kills list to HUD/status bar.
-- * Added something for Mark.
-- *
-- * Revision 1.144  1994/12/08  21:03:30  allender
-- * pass old player flags to record_player_flags
-- *
-- * Revision 1.143  1994/12/07  22:49:33  mike
-- * no homing missile warning during endlevel sequence.
-- *
-- * Revision 1.142  1994/12/06  13:55:31  matt
-- * Use new rounding func, f2ir()
-- *
-- * Revision 1.141  1994/12/03  19:03:37  matt
-- * Fixed vulcan ammo HUD message
-- *
-- * Revision 1.140  1994/12/03  18:43:18  matt
-- * Fixed (hopefully) claok gauge
-- *
-- * Revision 1.139  1994/12/03  14:26:21  yuan
-- * Fixed dumb bug
-- *
-- * Revision 1.138  1994/12/03  14:17:30  yuan
-- * Localization 320
-
-------------------------------------------------------------------------
-main/gauges.h:
-
-- * Revision 1.3  1995/08/23  21:37:13  allender
-- * fix mcc compiler warmings
-- *
-- * Revision 1.2  1995/08/18  15:45:24  allender
-- * upped max gauges
-- *
-- * Revision 1.1  1995/05/16  15:57:34  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:28:45  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.27  1994/12/14  18:06:39  matt
-- * Added prototype
-- *
-- * Revision 1.26  1994/12/09  16:19:52  yuan
-- * kill matrix stuff.
-- *
-- * Revision 1.25  1994/10/25  11:07:34  mike
-- * Prototype play_homing_warning.
-- *
-- * Revision 1.24  1994/10/24  16:34:39  mike
-- * Increase MAX_GAUGE_BMS from 56 to 80...
-- *
-- * Revision 1.23  1994/10/21  20:43:47  mike
-- * Prototype add_bonus_points_to_score.
-- *
-- * Revision 1.22  1994/10/14  15:56:33  mike
-- * Prototype update_laser_weapon_info.
-- *
-- * Revision 1.21  1994/10/13  15:17:26  mike
-- * Remove afterburner references.
-- *
-- * Revision 1.20  1994/10/05  17:09:46  matt
-- * Added functional reticle
-- *
-- * Revision 1.19  1994/10/04  21:41:29  matt
-- * Added cloaked player gauge effect, and different ship bitmap for each player
-- *
-- * Revision 1.18  1994/09/26  13:29:40  matt
-- * Added extra life each 100,000 points, and show icons on HUD for num lives
-- *
-- * Revision 1.17  1994/09/20  11:56:08  matt
-- * Added prototype
-- *
-- * Revision 1.16  1994/09/20  00:11:03  matt
-- * Finished gauges for Status Bar, including hostage video display.
-- *
-- * Revision 1.15  1994/09/17  23:57:18  matt
-- * Got some, but not all, off the status bar gauges working
-- *
-- * Revision 1.14  1994/09/16  13:08:46  mike
-- * Prototype say_afterburner_status.
-- *
-- * Revision 1.13  1994/09/14  16:27:03  mike
-- * Prototype player_dead_message();
-- *
-- *
-- * Revision 1.12  1994/07/20  17:34:43  yuan
-- * Some minor bug fixes and new key gauges...
-- *
-- * Revision 1.11  1994/07/14  14:46:02  yuan
-- * Added score effect.
-- *
-- * Revision 1.10  1994/07/12  16:22:00  yuan
-- * Increased number of maximum gauges.
-- *
-- * Revision 1.9  1994/07/11  20:10:36  yuan
-- * Numerical gauges.
-- *
-- * Revision 1.8  1994/07/10  18:01:28  yuan
-- * Added new gauges.
-- *
-- * Revision 1.7  1994/06/21  15:08:22  john
-- * Made demo record HUD message and cleaned up the HUD code.
-- *
-- * Revision 1.6  1994/06/21  12:40:46  yuan
-- * Fixing HUD message.
-- *
-- * Revision 1.5  1994/06/21  12:11:56  yuan
-- * Fixed up menus and added HUDisplay messages.
-- *
-- * Revision 1.4  1994/04/28  21:34:24  mike
-- * prototype check_erase_gauge
-- *
-- * Revision 1.3  1994/04/06  14:42:46  yuan
-- * Adding new powerups.
-- *
-- * Revision 1.2  1993/12/05  22:48:58  matt
-- * Reworked include files in an attempt to cut down on build times
-- *
-- * Revision 1.1  1993/12/05  21:07:55  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/hostage.c:
-
-- * Revision 1.1  1995/05/16  15:26:24  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:28:36  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.65  1995/02/22  13:45:54  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.64  1995/02/13  20:34:57  john
-- * Lintized
-- *
-- * Revision 1.63  1995/01/15  19:41:48  matt
-- * Ripped out hostage faces for registered version
-- *
-- * Revision 1.62  1995/01/14  19:16:53  john
-- * First version of new bitmap paging code.
-- *
-- * Revision 1.61  1994/12/19  16:35:09  john
-- * Made hoastage playback end when ship dies.
-- *
-- * Revision 1.60  1994/12/06  16:30:41  yuan
-- * Localization
-- *
-- * Revision 1.59  1994/11/30  17:32:46  matt
-- * Put hostage_face_clip array back in so editor would work
-- *
-- * Revision 1.58  1994/11/30  17:22:13  matt
-- * Ripped out hostage faces in shareware version
-- *
-- * Revision 1.57  1994/11/30  16:11:25  matt
-- * Use correct constant for hostage voice
-- *
-- * Revision 1.56  1994/11/27  23:15:19  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.55  1994/11/19  19:53:44  matt
-- * Added code to full support different hostage head clip & message for
-- * each hostage.
-- *
-- * Revision 1.54  1994/11/19  16:35:15  matt
-- * Got rid of unused code, & made an array smaller
-- *
-- * Revision 1.53  1994/11/14  12:42:03  matt
-- * Increased palette flash when hostage rescued
-- *
-- * Revision 1.52  1994/10/28  14:43:09  john
-- * Added sound volumes to all sound calls.
-- *
-- * Revision 1.51  1994/10/23  02:10:57  matt
-- * Got rid of obsolete hostage_info stuff
-- *
-- * Revision 1.50  1994/10/22  00:08:44  matt
-- * Fixed up problems with bonus & game sequencing
-- * Player doesn't get credit for hostages unless he gets them out alive
-- *
-- * Revision 1.49  1994/10/20  22:52:49  matt
-- * Fixed compiler warnings
-- *
-- * Revision 1.48  1994/10/20  21:25:44  matt
-- * Took out silly scale down/scale up code for hostage anim
-- *
-- * Revision 1.47  1994/10/20  12:47:28  matt
-- * Replace old save files (MIN/SAV/HOT) with new LVL files
-- *
-- * Revision 1.46  1994/10/04  15:33:33  john
-- * Took out the old PLAY_SOUND??? code and replaced it
-- * with direct calls into digi_link_??? so that all sounds
-- * can be made 3d.
-- *
-- * Revision 1.45  1994/09/28  23:10:46  matt
-- * Made hostage rescue do palette flash
-- *
-- * Revision 1.44  1994/09/20  00:11:00  matt
-- * Finished gauges for Status Bar, including hostage video display.
-- *
-- * Revision 1.43  1994/09/15  21:24:19  matt
-- * Changed system to keep track of whether & what cockpit is up
-- * Made hostage clip not queue when no cockpit
-- *
-- *
-- * Revision 1.42  1994/08/25  13:45:19  matt
-- * Made hostage vclips queue
-- *
-- * Revision 1.41  1994/08/14  23:15:06  matt
-- * Added animating bitmap hostages, and cleaned up vclips a bit
-- *
-- * Revision 1.40  1994/08/12  22:41:11  john
-- * Took away Player_stats; add Players array.
-- *
-- * Revision 1.39  1994/07/14  22:06:35  john
-- * Fix radar/hostage vclip conflict.
-- *
-- * Revision 1.38  1994/07/12  18:40:21  yuan
-- * Tweaked location of radar and hostage screen...
-- * Still needs work.
-- *
-- *
-- * Revision 1.37  1994/07/07  09:52:17  john
-- * Moved hostage screen.
-- *
-- * Revision 1.36  1994/07/06  15:23:52  john
-- * Revamped hostage sound.
-- *
-- * Revision 1.35  1994/07/06  15:14:54  john
-- * Added hostage sound effect picking.
-- *
-- * Revision 1.34  1994/07/06  13:25:33  john
-- * Added compress hostages functions.
-- *
-- * Revision 1.33  1994/07/06  12:52:59  john
-- * Fixed compiler warnings.
-- *
-- * Revision 1.32  1994/07/06  12:43:50  john
-- * Made generic messages for hostages.
-- *
-- * Revision 1.31  1994/07/06  10:55:07  john
-- * New structures for hostages.
-- *
-- * Revision 1.30  1994/07/05  12:49:09  john
-- * Put functionality of New Hostage spec into code.
-- *
-- * Revision 1.29  1994/07/02  13:08:47  matt
-- * Increment stats when hostage rescued
-- *
-- * Revision 1.28  1994/07/01  18:07:46  john
-- * y
-- *
-- * Revision 1.27  1994/07/01  18:07:03  john
-- * *** empty log message ***
-- *
-- * Revision 1.26  1994/07/01  17:55:26  john
-- * First version of not-working hostage system.
-- *
-- * Revision 1.25  1994/06/27  15:53:21  john
-- * #define'd out the newdemo stuff
-- *
-- *
-- * Revision 1.24  1994/06/20  16:08:52  john
-- * Added volume control; made doors 3d sounds.
-- *
-- * Revision 1.23  1994/06/16  10:15:32  yuan
-- * Fixed location of face.
-- *
-- * Revision 1.22  1994/06/15  15:05:33  john
-- * *** empty log message ***
-- *
-- * Revision 1.21  1994/06/14  21:15:20  matt
-- * Made rod objects draw lighted or not depending on a parameter, so the
-- * materialization effect no longer darkens.
-- *
-- * Revision 1.20  1994/06/08  18:16:26  john
-- * Bunch of new stuff that basically takes constants out of the code
-- * and puts them into bitmaps.tbl.
-- *
-- * Revision 1.19  1994/06/02  19:30:08  matt
-- * Moved texture-mapped rod drawing stuff (used for hostage & now for the
-- * materialization center) to object.c
-
-------------------------------------------------------------------------
-main/hostage.h:
-
-- * Revision 1.1  1995/05/16  15:57:57  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:27:50  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.23  1995/01/15  19:42:06  matt
-- * Ripped out hostage faces for registered version
-- *
-- * Revision 1.22  1994/12/19  16:35:07  john
-- * Made hoastage playback end when ship dies.
-- *
-- * Revision 1.21  1994/11/30  17:22:12  matt
-- * Ripped out hostage faces in shareware version
-- *
-- * Revision 1.20  1994/11/19  19:53:43  matt
-- * Added code to full support different hostage head clip & message for
-- * each hostage.
-- *
-- * Revision 1.19  1994/11/19  16:35:28  matt
-- * Got rid of unused code, & made an array smaller
-- *
-- * Revision 1.18  1994/10/23  02:10:57  matt
-- * Got rid of obsolete hostage_info stuff
-- *
-- * Revision 1.17  1994/09/20  00:10:37  matt
-- * Finished gauges for Status Bar, including hostage video display.
-- *
-- * Revision 1.16  1994/09/01  10:41:24  matt
-- * Sizes for powerups now specified in bitmaps.tbl; blob bitmaps now plot
-- * correctly if width & height of bitmap are different.
-- *
-- * Revision 1.15  1994/08/14  23:15:14  matt
-- * Added animating bitmap hostages, and cleaned up vclips a bit
-- *
-- * Revision 1.14  1994/07/14  22:06:51  john
-- * Fix radar/hostage vclip conflict.
-- *
-- * Revision 1.13  1994/07/14  22:05:41  john
-- * Made radar display not conflict with hostage
-- * vclip talking.
-- *
-- * Revision 1.12  1994/07/06  13:41:46  matt
-- * Added support for bitmap hostages
-- *
-- * Revision 1.11  1994/07/06  12:43:36  john
-- * Made generic messages for hostages.
-- *
-- * Revision 1.10  1994/07/06  10:55:09  john
-- * New structures for hostages.
-- *
-- * Revision 1.9  1994/07/05  12:48:47  john
-- * Put functionality of New Hostage spec into code.
-- *
-- * Revision 1.8  1994/07/01  17:55:14  john
-- * First version of not-working hostage system.
-- *
-- * Revision 1.7  1994/06/15  14:57:10  john
-- * Added triggers to demo recording.
-- *
-- * Revision 1.6  1994/06/08  18:15:49  john
-- * Bunch of new stuff that basically takes constants out of the code
-- * and puts them into bitmaps.tbl.
-- *
-- * Revision 1.5  1994/05/02  12:43:06  yuan
-- * Fixed warnings.
-- *
-- * Revision 1.4  1994/04/06  14:42:46  yuan
-- * Adding new powerups.
-- *
-- * Revision 1.3  1994/04/01  11:15:14  yuan
-- * Added multiple bitmap functionality to all objects...
-- * (hostages, powerups, lasers, etc.)
-- * Hostages and powerups are implemented in the object system,
-- * just need to finish function call to "affect" player.
-- *
-- * Revision 1.2  1994/03/31  12:04:35  matt
-- * Added prototypes for 2 funcs
-- *
-- * Revision 1.1  1994/03/31  11:39:24  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/hud.c:
-
-- * Old Log:
-- * Revision 1.4  1995/08/24  16:03:09  allender
-- * fix up message placement
-- *
-- * Revision 1.3  1995/08/18  10:25:21  allender
-- * added support for pixel doubling using PC game font
-- *
-- * Revision 1.2  1995/08/12  11:33:22  allender
-- * removed #ifdef NEWDEMO -- always in
-- *
-- * Revision 1.1  1995/05/16  15:26:32  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/03/30  16:36:40  mike
-- * text localization.
-- *
-- * Revision 2.1  1995/03/06  15:23:50  john
-- * New screen techniques.
-- *
-- * Revision 2.0  1995/02/27  11:30:41  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.27  1995/01/23  16:51:30  mike
-- * Show hud messages on 3d if window in three largest sizes.
-- *
-- * Revision 1.26  1995/01/17  17:42:45  rob
-- * Made message timeout for HUD messages longer.
-- *
-- * Revision 1.25  1995/01/04  11:39:03  rob
-- * Made HUD text get out of the way of large HUD messages.
-- *
-- * Revision 1.24  1995/01/01  14:20:32  rob
-- * longer timer for hud messages.
-- *
-- *
-- * Revision 1.23  1994/12/15  13:04:34  mike
-- * Replace Players[Player_num].time_total references with GameTime.
-- *
-- * Revision 1.22  1994/12/13  12:55:12  mike
-- * move press any key to continue message when you are dead to bottom of window.
-- *
-- * Revision 1.21  1994/12/07  17:08:01  rob
-- * removed unnecessary debug info.
-- *
-- * Revision 1.20  1994/12/07  16:24:16  john
-- * Took out code that kept track of messages differently for different
-- * screen modes... I made it so they just draw differently depending on screen mode.
-- *
-- * Revision 1.19  1994/12/07  15:42:57  rob
-- * Added a bunch of debug stuff to look for HUD message problems in net games...
-- *
-- * Revision 1.18  1994/12/06  16:30:35  yuan
-- * Localization
-- *
-- * Revision 1.17  1994/12/05  00:32:36  mike
-- * fix randomness of color on status bar hud messages.
-- *
-- * Revision 1.16  1994/11/19  17:05:53  rob
-- * Moved dead_player_message down to avoid overwriting HUD messages.
-- *
-- * Revision 1.15  1994/11/18  23:37:56  john
-- * Changed some shorts to ints.
-- *
-- * Revision 1.14  1994/11/12  16:38:25  mike
-- * clear some annoying debug messages.
-- *
-- * Revision 1.13  1994/11/11  15:36:39  mike
-- * write hud messages on background if 3d window small enough
-- *
-- * Revision 1.12  1994/10/20  09:49:31  mike
-- * Reduce number of messages.
-- *
-- * Revision 1.11  1994/10/17  10:49:15  john
-- * Took out some warnings.
-- *
-- * Revision 1.10  1994/10/17  10:45:13  john
-- * Made the player able to abort death by pressing any button or key.
-- *
-- * Revision 1.9  1994/10/13  15:17:33  mike
-- * Remove afterburner references.
-- *
-- * Revision 1.8  1994/10/11  12:06:32  mike
-- * Only show message advertising death sequence abort after player exploded.
-- *
-- * Revision 1.7  1994/10/10  17:21:53  john
-- * Made so instead of saying too many messages, it scrolls off the
-- * oldest message.
-- *
-- * Revision 1.6  1994/10/07  23:05:39  john
-- * Fixed bug with HUD not drawing stuff sometimes...
-- * ( I had a circular buffer that I was stepping thru
-- * to draw text that went: for (i=first;i<last;i++)...
-- * duh!! last could be less than first.)
-- * /
-- *
-- * Revision 1.5  1994/09/16  13:08:20  mike
-- * Arcade stuff, afterburner stuff.
-- *
-- * Revision 1.4  1994/09/14  16:26:57  mike
-- * player_dead_message.
-- *
-- * Revision 1.3  1994/08/18  16:35:45  john
-- * Made gauges messages stay up a bit longer.
-- *
-- * Revision 1.2  1994/08/18  12:10:21  john
-- * Made HUD messages scroll.
-- *
-- * Revision 1.1  1994/08/18  11:22:09  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/inferno.c:
-
-- * After main initializes everything, most of the time is spent in the loop
-- * while (Function_mode != FMODE_EXIT)
-- * In this loop, the main menu is brought up first.
-- *
-- * main() for Inferno
-- *
-- * Old Log:
-- * Revision 1.1  1995/12/05  15:57:49  allender
-- * Initial revision
-- *
-- * Revision 1.19  1995/11/07  17:03:12  allender
-- * added splash screen for descent contest
-- *
-- * Revision 1.18  1995/10/31  10:22:22  allender
-- * shareware stuff
-- *
-- * Revision 1.17  1995/10/18  01:53:07  allender
-- * mouse click to leave do not distribute screen
-- *
-- * Revision 1.16  1995/10/17  12:00:12  allender
-- * mouse click gets past endgame screen
-- *
-- * Revision 1.15  1995/10/12  17:40:12  allender
-- * read config file after digi initialized
-- *
-- * Revision 1.14  1995/10/05  10:38:22  allender
-- * changed key_getch at exit to be key_inkey and moved
-- * mouse init until after macintosh windowing init call
-- *
-- * Revision 1.13  1995/09/18  17:01:04  allender
-- * put gr_init call before render buffer stuff
-- *
-- * Revision 1.12  1995/08/31  15:50:53  allender
-- * call init for appletalk, and change name of intro screens
-- *
-- * Revision 1.11  1995/08/26  16:26:19  allender
-- * whole bunch 'o stuff!!
-- *
-- * Revision 1.10  1995/07/12  21:48:18  allender
-- * removed Int3 from beginning of program
-- *
-- * Revision 1.9  1995/07/05  16:45:48  allender
-- * removed hide_cursor call
-- *
-- * Revision 1.8  1995/06/20  16:44:57  allender
-- * game now renders in 640x480 at all times.  Changed code
-- * to call game_init_render_buffers with right params
-- *
-- * Revision 1.7  1995/06/13  13:07:55  allender
-- * change macintosh initialzation.  Mac windows now init'ed through gr_init.
-- *
-- * Revision 1.6  1995/06/08  16:36:53  allender
-- * "ifdef" profile include
-- *
-- * Revision 1.5  1995/06/07  08:08:18  allender
-- * dont' make memory info show at end of program
-- *
-- * Revision 1.4  1995/06/02  07:47:40  allender
-- * removed network initialzation for now
-- *
-- * Revision 1.3  1995/05/26  06:54:52  allender
-- * put digi_init after timer and key stuff since I was testing stuff
-- * that needed the keyboard handler installed
-- *
-- * Revision 1.2  1995/05/19  11:28:09  allender
-- * removed printf
-- *
-- * Revision 1.1  1995/05/16  15:26:39  allender
-- * Initial revision
-- *
-- * Revision 2.36  1996/01/05  16:52:16  john
-- * Improved 3d stuff.
-- *
-- * Revision 2.35  1995/10/07  13:20:06  john
-- * Added new modes for LCDBIOS, also added support for -JoyNice,
-- * and added Shift+F1-F4 to controls various stereoscopic params.
-- *
-- * Revision 2.34  1995/06/26  11:30:57  john
-- * Made registration/copyright screen go away after 5 minutes.
-- *
-- * Revision 2.33  1995/05/31  14:26:55  unknown
-- * Fixed ugly spacing.
-- *
-- * Revision 2.32  1995/05/26  16:15:28  john
-- * Split SATURN into define's for requiring cd, using cd, etc.
-- * Also started adding all the Rockwell stuff.
-- *
-- * Revision 2.31  1995/05/11  13:30:01  john
-- * Changed 3dbios detection to work like Didde Kim wanted it to.
-- *
-- * Revision 2.30  1995/05/08  13:53:50  john
-- * Added code to read vipport environemnt variable.
-- *
-- * Revision 2.29  1995/05/08  11:26:18  john
-- * Reversed eyes in 3dmax mode.
-- *
-- * Revision 2.28  1995/05/08  11:24:06  john
-- * Made 3dmax work like Kasan wants it to.
-- *
-- * Revision 2.27  1995/04/23  16:06:25  john
-- * Moved rinvul into modem/null modem menu.
-- *
-- * Revision 2.26  1995/04/12  13:39:26  john
-- * Fixed bug with -lowmem not working.
-- *
-- * Revision 2.25  1995/04/09  14:43:00  john
-- * Made Dynamic sockets not print Msockets for help.
-- *
-- * Revision 2.24  1995/04/07  16:11:33  john
-- * Fixed problem with VFX display when using setup.
-- *
-- * Revision 2.23  1995/04/06  15:40:51  john
-- * Synced VFX with setup #'s.
-- *
-- * Revision 2.22  1995/04/06  12:12:53  john
-- * Fixed some bugs with 3dmax.
-- *
-- * Revision 2.21  1995/03/30  16:36:51  mike
-- * text localization.
-- *
-- * Revision 2.20  1995/03/29  15:33:52  john
-- * Added code to parse descent.net file.
-- *
-- * Revision 2.19  1995/03/28  20:08:21  john
-- * Took away alternate server thing.
-- *
-- * Revision 2.18  1995/03/27  09:43:08  john
-- * Added VR Settings in config file.
-- *
-- * Revision 2.17  1995/03/23  19:02:21  john
-- * Added descent.net file use.
-- *
-- * Revision 2.16  1995/03/23  12:25:11  john
-- * Moved IPX stuff into BIOS lib.
-- *
-- * Revision 2.15  1995/03/21  16:52:34  john
-- * Added 320x100.
-- *
-- * Revision 2.14  1995/03/21  14:40:33  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.13  1995/03/16  23:13:35  john
-- * Fixed bug with piggy paging in bitmap not checking for disk
-- * error, hence bogifying textures if you pull the CD out.
-- *
-- * Revision 2.12  1995/03/16  21:45:22  john
-- * Made all paged modes have incompatible menus!
-- *
-- * Revision 2.11  1995/03/15  15:19:34  john
-- * Took out code that changes to exe dir.
-- *
-- * Revision 2.10  1995/03/15  14:33:37  john
-- * Added code to force the Descent CD-rom in the drive.
-- *
-- * Revision 2.9  1995/03/15  11:41:27  john
-- * Better Saturn CD-ROM support.
-- *
-- * Revision 2.8  1995/03/14  18:24:46  john
-- * Force Destination Saturn to use CD-ROM drive.
-- *
-- * Revision 2.7  1995/03/14  16:22:35  john
-- * Added cdrom alternate directory stuff.
-- *
-- * Revision 2.6  1995/03/13  15:17:19  john
-- * Added alternate hogfile directory.
-- *
-- * Revision 2.5  1995/03/10  13:05:35  john
-- * Added code so that palette is correct for VFX1 helmets.
-- *
-- * Revision 2.4  1995/03/07  15:12:43  john
-- * Fixed VFX,3dmax support.
-- *
-- * Revision 2.3  1995/03/07  14:19:35  mike
-- * More destination saturn stuff.
-- *
-- * Revision 2.2  1995/03/06  16:47:34  mike
-- * destination saturn
-- *
-- * Revision 2.1  1995/03/06  15:24:06  john
-- * New screen techniques.
-- *
-- * Revision 2.0  1995/02/27  11:31:29  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.295  1995/02/23  12:02:14  john
-- * Made mono  windows smaller.
-- *
-- * Revision 1.294  1995/02/16  17:35:00  john
-- * Added code to allow dynamic socket changing.
-- *
-- * Revision 1.293  1995/02/14  19:29:29  john
-- * Locked down critical error handler.
-- *
-- * Revision 1.292  1995/02/14  15:29:20  john
-- * Added CR-LF to last line of menu help text.
-- *
-- * Revision 1.291  1995/02/14  11:39:01  john
-- * Added polled/bios joystick readers.
-- *
-- * Revision 1.290  1995/02/13  20:35:03  john
-- * Lintized
-- *
-- * Revision 1.289  1995/02/11  16:20:02  john
-- * Added code to make the default mission be the one last played.
-- *
-- * Revision 1.288  1995/02/11  15:54:13  rob
-- * changed cinvul to rinvul.
-- *
-- * Revision 1.287  1995/02/11  14:48:43  rob
-- * Added max of 314 seconds to control invul. times
-- *
-- * Revision 1.286  1995/02/11  12:42:01  john
-- * Added new song method, with FM bank switching..
-- *
-- * Revision 1.285  1995/02/11  11:36:11  rob
-- * Added cinvul option.
-- *
-- * Revision 1.284  1995/02/10  16:07:45  matt
-- * Took 'registered' out of printed info at startup
-- *
-- * Revision 1.283  1995/02/09  22:00:59  john
-- * Added i-glasses tracking.
-- *
-- * Revision 1.282  1995/02/02  11:11:27  john
-- * Added -nocyberman switch.
-- *
-- * Revision 1.281  1995/02/01  16:35:14  john
-- * Linted.
-- *
-- * Revision 1.280  1995/01/31  02:04:25  matt
-- * Fixed up cmdline help
-- *
-- * Revision 1.279  1995/01/30  16:25:55  john
-- * Put back in graphical screen at program end.
-- *
-- * Revision 1.278  1995/01/28  17:05:50  matt
-- * Changed imbedded copyright to use comma instead of hyphen
-- *
-- * Revision 1.277  1995/01/28  15:57:26  john
-- * Made joystick calibration be only when wrong detected in
-- * menu or joystick axis changed.
-- *
-- * Revision 1.276  1995/01/25  14:37:49  john
-- * Made joystick only prompt for calibration once...
-- *
-- * Revision 1.275  1995/01/24  18:21:00  john
-- * Added Adam's text warning.
-- *
-- * Revision 1.274  1995/01/22  15:57:20  john
-- * Took out code that printed warning out as game exited.
-- *
-- * Revision 1.273  1995/01/22  13:31:35  matt
-- * Added load of mission 0, so there's always a default mission
-- *
-- * Revision 1.272  1995/01/19  17:00:41  john
-- * Made save game work between levels.
-- *
-- * Revision 1.271  1995/01/18  11:47:57  adam
-- * changed copyright notice
-- *
-- * Revision 1.270  1995/01/15  13:42:42  john
-- * Moved low_mem cutoff higher.
-- *
-- * Revision 1.269  1995/01/12  18:53:50  john
-- * Put ifdef EDITOR around the code that checked for
-- * a 800x600 mode, because this trashed some people's
-- * computers (maybe) causing the mem allocation error in
-- * mouse.c that many users reported.
-- *
-- * Revision 1.268  1995/01/12  11:41:42  john
-- * Added external control reading.
-- *
-- * Revision 1.267  1995/01/06  10:26:55  john
-- * Added -nodoscheck command line switch.
-- *
-- * Revision 1.266  1995/01/05  16:59:30  yuan
-- * Don't show orderform in editor version.
-- *
-- * Revision 1.265  1994/12/28  15:33:51  john
-- * Added -slowjoy option.
-- *
-- * Revision 1.264  1994/12/15  16:44:15  matt
-- * Added trademark notice
-- *
-- * Revision 1.263  1994/12/14  20:13:59  john
-- * Reduced physical mem requments to 2 MB.
-- *
-- * Revision 1.262  1994/12/14  19:06:17  john
-- * Lowered physical memory requments to 2 MB.
-- *
-- * Revision 1.261  1994/12/14  09:41:29  allender
-- * change to drive and directory (if needed) of command line invocation
-- * so descent can be started from anywhere
-- *
-- * Revision 1.260  1994/12/13  19:08:59  john
-- * Updated memory requirements.
-- *
-- * Revision 1.259  1994/12/13  17:30:33  john
-- * Made the timer rate be changed right after initializing it.
-- *
-- * Revision 1.258  1994/12/13  02:46:25  matt
-- * Added imbedded copyright
-- *
-- * Revision 1.257  1994/12/13  02:06:46  john
-- * Added code to check stack used by descent... initial
-- * check showed stack used 35k/50k, so we decided it wasn't
-- * worth pursuing any more.
-- *
-- * Revision 1.256  1994/12/11  23:17:54  john
-- * Added -nomusic.
-- * Added RealFrameTime.
-- * Put in a pause when sound initialization error.
-- * Made controlcen countdown and framerate use RealFrameTime.
-- *
-- * Revision 1.255  1994/12/10  00:56:51  matt
-- * Added -nomusic to command-line help
-- *
-- * Revision 1.254  1994/12/08  11:55:11  john
-- * Took out low memory print.
-- *
-- * Revision 1.253  1994/12/08  11:51:00  john
-- * Made strcpy only copy corect number of chars,.
-- *
-- * Revision 1.252  1994/12/08  00:38:29  matt
-- * Cleaned up banner messages
-- *
-- * Revision 1.251  1994/12/07  19:14:52  matt
-- * Cleaned up command-line options and command-line help message
-- *
-- * Revision 1.250  1994/12/06  19:33:28  john
-- * Fixed text of message to make more sense.
-- *
-- * Revision 1.249  1994/12/06  16:30:55  john
-- * Neatend mem message,..
-- *
-- * Revision 1.248  1994/12/06  16:17:35  john
-- * Added better mem checking/printing.
-- *
-- * Revision 1.247  1994/12/06  14:14:37  john
-- * Added code to set low mem based on memory.
-- *
-- * Revision 1.246  1994/12/05  12:29:09  allender
-- * removed ifdefs around -norun option
-- *
-- * Revision 1.245  1994/12/05  00:03:30  matt
-- * Added -norun option to exit after writing pig
-- *
-- * Revision 1.244  1994/12/04  14:47:01  john
-- * MAde the intro and menu be the same song.
-- *
-- * Revision 1.243  1994/12/04  14:36:42  john
-- * Added menu music.
-- *
-- * Revision 1.242  1994/12/02  13:50:17  yuan
-- * Localization.
-- *
-- * Revision 1.241  1994/12/01  17:28:30  adam
-- * added end-shareware stuff
-- *
-- * Revision 1.240  1994/11/30  12:10:57  adam
-- * added support for PCX titles/brief screens
-- *
-- * Revision 1.239  1994/11/29  15:47:33  matt
-- * Moved error_init to start of game, so error message prints last
-- *
-- * Revision 1.238  1994/11/29  14:19:22  jasen
-- * reduced dos mem requirments.
-- *
-- * Revision 1.237  1994/11/29  03:46:35  john
-- * Added joystick sensitivity; Added sound channels to detail menu.  Removed -maxchannels
-- * command line arg.
-- *
-- * Revision 1.236  1994/11/29  02:50:18  john
-- * Increased the amount a joystick has to be off before
-- * asking if they want to recalibrate their joystick.
-- *
-- * Revision 1.235  1994/11/29  02:01:29  john
-- * Corrected some of the Descent command line help items.
-- *
-- * Revision 1.234  1994/11/29  01:39:56  john
-- * Fixed minor bug with vfx_light help not wrapping correctly.
-- *
-- * Revision 1.233  1994/11/28  21:34:17  john
-- * Reduced dos mem rqment to 70k.
-- *
-- * Revision 1.232  1994/11/28  21:20:38  john
-- * First version with memory checking.
-- *
-- * Revision 1.231  1994/11/28  20:06:21  rob
-- * Removed old serial param command line options.
-- * Added -noserial and -nonetwork to help listing.
-- *
-- * Revision 1.230  1994/11/27  23:15:24  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.229  1994/11/27  20:50:51  matt
-- * Don't set mem stuff if no debug
-- *
-- * Revision 1.228  1994/11/27  18:46:21  matt
-- * Cleaned up command-line switches a little
-- *
-- * Revision 1.227  1994/11/21  17:48:00  matt
-- * Added text to specifiy whether shareware or registered version
-- *
-- * Revision 1.226  1994/11/21  14:44:20  john
-- * Fixed some bugs with setting volumes even when -nosound was used. Duh!
-- *
-- * Revision 1.225  1994/11/21  13:53:42  matt
-- * Took out dos extender copyright
-- *
-- * Revision 1.224  1994/11/21  09:46:54  john
-- * Added -showmeminfo parameter.
-- *
-- * Revision 1.223  1994/11/20  22:12:05  mike
-- * Make some stuff dependent on SHAREWARE.
-- *
-- * Revision 1.222  1994/11/20  21:14:09  john
-- * Changed -serial to -noserial.  MAde a 1 sec delay
-- * before leaving title screen.  Clear keyboard buffer
-- * before asking for player name.
-- *
-- * Revision 1.221  1994/11/19  15:20:20  mike
-- * rip out unused code and data
-- *
-- * Revision 1.220  1994/11/17  19:14:29  adam
-- * prevented order screen from coming up when -notitles is used
-- *
-- * Revision 1.219  1994/11/16  11:34:39  john
-- * Added -nottitle switch.
-- *
-- * Revision 1.218  1994/11/16  10:05:53  john
-- * Added verbose messages.
-- *
-- * Revision 1.217  1994/11/15  20:12:34  john
-- * Added back in inferno and parallax screens.
-- *
-- * Revision 1.216  1994/11/15  18:35:30  john
-- * Added verbose setting.
-- *
-- * Revision 1.215  1994/11/15  17:47:44  john
-- * Added ordering info screen.
-- *
-- * Revision 1.214  1994/11/15  08:57:44  john
-- * Added MS-DOS version checking and -nonetwork option.
-- *
-- * Revision 1.213  1994/11/15  08:34:32  john
-- * Added better error messages for IPX init.
-- *
-- * Revision 1.212  1994/11/14  20:14:18  john
-- * Fixed some warnings.
-- *
-- * Revision 1.211  1994/11/14  19:50:49  john
-- * Added joystick cal values to descent.cfg.
-- *
-- * Revision 1.210  1994/11/14  17:56:44  allender
-- * make call to ReadConfigFile at startup
-- *
-- * Revision 1.209  1994/11/14  11:41:55  john
-- * Fixed bug with editor/game sequencing.
-- *
-- * Revision 1.208  1994/11/13  17:05:11  john
-- * Made the callsign entry be a list box and gave the ability
-- * to delete players.
-- *
-- * Revision 1.207  1994/11/13  15:39:22  john
-- * Added critical error handler to game.  Took out -editor command line
-- * option because it didn't work anymore and wasn't worth fixing.  Made scores
-- * not use MINER enviroment variable on release version, and made scores
-- * not print an error if there is no descent.hi.
-- *
-- * Revision 1.206  1994/11/10  20:53:29  john
-- * Used new sound install parameters.
-- *
-- * Revision 1.205  1994/11/10  11:07:52  mike
-- * Set default detail level.
-- *
-- * Revision 1.204  1994/11/09  13:45:43  matt
-- * Made -? work again for help
-- *
-- * Revision 1.203  1994/11/09  10:55:58  matt
-- * Cleaned up initialization for editor -> game transitions
-- *
-- * Revision 1.202  1994/11/07  21:35:47  matt
-- * Use new function iff_read_into_bitmap()
-- *
-- * Revision 1.201  1994/11/05  17:22:16  john
-- * Fixed lots of sequencing problems with newdemo stuff.
-- *
-- * Revision 1.200  1994/11/05  14:05:44  john
-- * Fixed fade transitions between all screens by making
-- * gr_palette_fade_in and out keep track of whether the palette is
-- * faded in or not.  Then, wherever the code needs to fade out, it
-- * just calls gr_palette_fade_out and it will fade out if it isn't
-- * already.  The same with fade_in.
-- * This eliminates the need for all the flags like Menu_fade_out,
-- * game_fade_in palette, etc.
-- *
-- * Revision 1.199  1994/11/04  14:36:30  allender
-- * change Auto_demo meaning to mean autostart from menu only.  Use
-- * FindArgs when searching for AutoDemo from command line.  also,
-- * set N_Players to 1 when starting in editor mode.
-- *
-- * Revision 1.198  1994/11/02  11:59:49  john
-- * Moved menu out of game into inferno main loop.
-- *
-- * Revision 1.197  1994/11/01  17:57:39  mike
-- * -noscreens option to bypass all screens.
-- *
-- * Revision 1.196  1994/10/28  15:42:34  allender
-- * don't register player if Autodemo is on
-- *
-- * Revision 1.195  1994/10/28  10:58:01  matt
-- * Added copyright notice for DOS4GW
-- *
-- * Revision 1.194  1994/10/20  21:26:48  matt
-- * Took out old serial name/number code, and put up message if this
-- * is a marked version.
-- *
-- * Revision 1.193  1994/10/19  09:52:14  allender
-- * Print out who descent.exe belongs to if descent.exe is stamped.
-- *
-- * Revision 1.192  1994/10/18  16:43:05  allender
-- * Added check for identifier stamp and time after which descent will
-- * no longer run.
-- *
-- * Revision 1.191  1994/10/17  13:07:17  john
-- * Moved the descent.cfg info into the player config file.
-- *
-- * Revision 1.190  1994/10/04  10:26:31  matt
-- * Support new menu fade in
-- *
-- * Revision 1.189  1994/10/03  22:58:46  matt
-- * Changed some values of game_mode
-- *
-- * Revision 1.188  1994/10/03  18:55:39  rob
-- * Changed defaults for com port settings.
-- *
-- * Revision 1.187  1994/10/03  13:34:47  matt
-- * Added new (and hopefully better) game sequencing functions
-- *
-- * Revision 1.186  1994/09/30  12:37:28  john
-- * Added midi,digi volume to configuration.
-- *
-- * Revision 1.185  1994/09/30  10:08:48  john
-- * Changed sound stuff... made it so the reseting card doesn't hang,
-- * made volume change only if sound is installed.
-- *
-- * Revision 1.184  1994/09/28  17:25:00  matt
-- * Added first draft of game save/load system
-- *
-- * Revision 1.183  1994/09/28  16:18:23  john
-- * Added capability to play midi song.
-- *
-- * Revision 1.182  1994/09/28  11:31:18  john
-- * Made text output unbuffered.
-- *
-- * Revision 1.181  1994/09/27  19:23:44  john
-- * Added -nojoystick and -nomouse
-- *
-- * Revision 1.180  1994/09/24  16:55:29  rob
-- * No longer open COM port immediately upon program start.
-- * No longer set Network_active is serial_active is set.
-- *
-- * Revision 1.179  1994/09/24  14:16:30  mike
-- * Support new game mode constants.
-- *
-- * Revision 1.178  1994/09/22  17:52:31  rob
-- * Added Findargs hooks for -serial, -speed, and -com.
-- *
-- * Revision 1.177  1994/09/22  16:14:11  john
-- * Redid intro sequecing.
-- *
-- * Revision 1.176  1994/09/21  16:32:58  john
-- * Made mouse and keyboard init after bm_init. Why?
-- * Because it seems to work better under virtual
-- * memory.
-- *
-- * Revision 1.175  1994/09/21  16:27:52  john
-- * Added mouse_init
-- *
-- * Revision 1.174  1994/09/20  15:14:10  matt
-- * New message for new VFX switches
-- *
-- * Revision 1.173  1994/09/16  16:14:27  john
-- * Added acrade sequencing.
-- *
-- * Revision 1.172  1994/09/16  11:49:52  john
-- * Added first version of arcade joystick support;
-- * Also fixed some bugs in kconfig.c, such as reading non-present
-- * joysticks, which killed frame rate, and not reading key_down_time
-- * when in slide mode or bank mode.
-- *
-- * Revision 1.171  1994/09/15  16:11:35  john
-- * Added support for VFX1 head tracking. Fixed bug with memory over-
-- * write when using stereo mode.
-- *
-- * Revision 1.170  1994/09/12  19:38:23  john
-- * Made some stuff that prints to the DOS screen go to the
-- * mono instead, since it really is debugging info.
-- *
-- * Revision 1.169  1994/08/29  21:18:28  john
-- * First version of new keyboard/oystick remapping stuff.
-- *
-- * Revision 1.168  1994/08/26  13:02:00  john
-- * Put high score system in.
-- *
-- * Revision 1.167  1994/08/24  19:00:23  john
-- * Changed key_down_time to return fixed seconds instead of
-- * milliseconds.
-- *
-- * Revision 1.166  1994/08/18  16:24:20  john
-- * changed socket to channel in text.
-- *
-- * Revision 1.165  1994/08/18  16:16:51  john
-- * Added support for different sockets.
-- *
-- * Revision 1.164  1994/08/18  10:47:53  john
-- * *** empty log message ***
-- *
-- * Revision 1.163  1994/08/12  09:15:54  john
-- * *** empty log message ***
-- *
-- * Revision 1.162  1994/08/12  03:11:19  john
-- * Made network be default off; Moved network options into
-- * main menu.  Made starting net game check that mines are the
-- * same.
-- *
-- * Revision 1.161  1994/08/10  19:57:05  john
-- * Changed font stuff; Took out old menu; messed up lots of
-- * other stuff like game sequencing messages, etc.
-- *
-- * Revision 1.160  1994/08/05  16:30:23  john
-- * Added capability to turn off network.
-- *
-- * Revision 1.159  1994/08/04  19:42:51  matt
-- * Moved serial number & name (and version name) from inferno.c to inferno.ini
-- *
-- * Revision 1.158  1994/08/03  10:30:23  matt
-- * Change cybermaxx switches, updated command-line help, and added serial number system
-- *
-- * Revision 1.157  1994/07/29  18:30:10  matt
-- * New parms (lack of parms, actually) for g3_init()
-- *
-- * Revision 1.156  1994/07/24  00:39:25  matt
-- * Added more text to TEX file; make NewGame() take a start level; made game
-- * load/save menus use open/close window funcs.
-- *
-- * Revision 1.155  1994/07/21  21:31:27  john
-- * First cheapo version of VictorMaxx tracking.
-- *
-- * Revision 1.154  1994/07/21  18:15:34  matt
-- * Ripped out a bunch of unused stuff
-- *
-- * Revision 1.153  1994/07/21  17:59:10  matt
-- * Cleaned up initial mode game/editor code
-- *
-- * Revision 1.152  1994/07/21  13:11:19  matt
-- * Ripped out remants of old demo system, and added demo only system that
-- * disables object movement and game options from menu.
-- *
-- * Revision 1.151  1994/07/20  15:58:27  john
-- * First installment of ipx stuff.
-- *
-- * Revision 1.150  1994/07/15  16:04:24  matt
-- * Changed comment for milestone 3 version
-- *
-- * Revision 1.149  1994/07/15  13:59:24  matt
-- * Fixed stupid mistake I make in the last revision
-- *
-- * Revision 1.148  1994/07/15  13:20:15  matt
-- * Updated comand-line help
-- *
-- * Revision 1.147  1994/07/14  23:29:43  matt
-- * Open two mono debug messages, one for errors & one for spew
-- *
-- * Revision 1.146  1994/07/09  22:48:05  matt
-- * Added localizable text
-- *
-- * Revision 1.145  1994/07/02  13:49:47  matt
-- * Cleaned up includes
-- *
-- * Revision 1.144  1994/06/30  20:04:43  john
-- * Added -joydef support.
-- *
-- * Revision 1.143  1994/06/24  17:01:44  john
-- * Add VFX support; Took Game Sequencing, like EndGame and stuff and
-- * took it out of game.c and into gameseq.c
-
-------------------------------------------------------------------------
-main/joydefs.c:
-
-- * Revision 1.10  1995/10/18  22:21:21  allender
-- * fixed bug with gravis mousestick and call key_flush when
-- * calibrating joystick since it used keystrokes for the trigger
-- * (at least most of them do)
-- *
-- * Revision 1.9  1995/10/17  13:12:32  allender
-- * fixed up controller support for mac world
-- *
-- * Revision 1.8  1995/10/15  19:27:04  allender
-- * new Dave Denhart controller code
-- *
-- * Revision 1.7  1995/10/15  16:14:59  allender
-- * fixed axis value for Thrustmaster rudders
-- *
-- * Revision 1.6  1995/09/13  11:39:39  allender
-- * made joystick cal menu all text so buttons will work properly
-- *
-- * Revision 1.5  1995/09/01  13:13:13  allender
-- * added close box on controls menu
-- *
-- * Revision 1.4  1995/08/18  10:22:47  allender
-- * if thrustmaster choosen, set joystick at thrustmaster type
-- * for proper reading in joyc.c
-- *
-- * Revision 1.3  1995/07/26  17:00:34  allender
-- * put back in code to make joysticks work
-- *
-- * Revision 1.2  1995/07/17  08:52:21  allender
-- * put back in code that was taken out previously
-- *
-- * Revision 1.1  1995/05/16  15:26:48  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/06/30  12:30:22  john
-- * Added -Xname command line.
-- *
-- * Revision 2.1  1995/04/06  12:13:20  john
-- * Made so you can calibrate Gravis Gamepad.
-- *
-- * Revision 2.0  1995/02/27  11:30:27  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.71  1995/02/12  02:06:10  john
-- * Fixed bug with joystick incorrectly asking for
-- * calibration.
-- *
-- * Revision 1.70  1995/01/28  15:58:07  john
-- * Made joystick calibration be only when wrong detected in
-- * menu or joystick axis changed.
-- *
-- * Revision 1.69  1995/01/25  14:37:55  john
-- * Made joystick only prompt for calibration once...
-- *
-- * Revision 1.68  1995/01/24  16:34:29  john
-- * Made so that if you reconfigure joystick and
-- * add or subtract an axis, it asks for a recalibration
-- * upon leaving.
-- *
-- * Revision 1.67  1994/12/29  11:08:51  john
-- * Fixed Thrustmaster and Logitech Wingman extreme
-- * Hat by reading the y2 axis during the center stage
-- * of the calibration, and using 75, 50, 27, and 3 %
-- * as values for the 4 positions.
-- *
-- * Revision 1.66  1994/12/15  18:17:39  john
-- * Fixed warning with previous.
-- *
-- * Revision 1.65  1994/12/15  18:15:48  john
-- * Made the joy cal only write the .cfg file, not
-- * the player file.
-- *
-- * Revision 1.64  1994/12/13  14:43:35  john
-- * Took out the code in kconfig to build direction array.
-- * Called kc_set_controls after selecting a new control type.
-- *
-- * Revision 1.63  1994/12/10  12:08:47  john
-- * Changed some delays to use TICKER instead of timer_get_fixed_seconds.
-- *
-- * Revision 1.62  1994/12/09  11:01:07  mike
-- * force calibration of joystick on joystick selection from Controls... menu.
-- *
-- * Revision 1.61  1994/12/07  21:50:27  john
-- * Put stop/start time around joystick delay.
-- *
-- * Revision 1.60  1994/12/07  19:34:39  john
-- * Added delay.
-- *
-- * Revision 1.59  1994/12/07  18:12:14  john
-- * NEatened up joy cal.,
-- *
-- * Revision 1.58  1994/12/07  17:07:51  john
-- * Fixed up joy cal.
-- *
-- * Revision 1.57  1994/12/07  16:48:53  yuan
-- * localization
-- *
-- * Revision 1.56  1994/12/07  16:05:55  john
-- * Changed the way joystick calibration works.
-- *
-- * Revision 1.55  1994/12/06  20:15:22  john
-- * Took out code that unpauses songs that were never paused.
-- *
-- * Revision 1.54  1994/12/06  15:14:09  yuan
-- * Localization
-- *
-- * Revision 1.53  1994/12/05  16:29:16  john
-- * Took out music pause around the cheat menu.
-- *
-- * Revision 1.52  1994/12/04  12:39:10  john
-- * MAde so that FCS calibration doesn't ask for axis #2.
-- *
-- * Revision 1.51  1994/12/03  15:14:59  john
-- * Took out the delay mentioned previosuly cause it would
-- * cause bigger problems than it helps, especially with netgames.
-- *
-- * Revision 1.50  1994/12/03  14:16:14  john
-- * Put a delay between screens in joy cal to keep Yuan from
-- * double hitting.
-- *
-- * Revision 1.49  1994/12/03  11:04:06  john
-- * Changed newmenu code a bit to fix bug with bogus
-- * backgrounds occcasionally.
-- *
-- * Revision 1.48  1994/12/02  11:03:44  yuan
-- * Localization.
-- *
-- * Revision 1.47  1994/12/02  10:50:33  yuan
-- * Localization
-- *
-- * Revision 1.46  1994/12/01  12:21:59  john
-- * Added code to calibrate 2 joysticks separately.
-- *
-- * Revision 1.45  1994/12/01  11:52:31  john
-- * Added message when you select FCS to say that if
-- * you have WCS, see manuel.
-- *
-- * Revision 1.44  1994/11/29  02:26:28  john
-- * Made the prompts for upper-left, lower right for joy
-- * calibration more obvious.
-- *
-- * Revision 1.43  1994/11/26  13:13:59  matt
-- * Changed "none" option to "keyboard only"
-- *
-- * Revision 1.42  1994/11/21  19:35:13  john
-- * Replaced calls to joy_init with if (joy_present)
-- *
-- * Revision 1.41  1994/11/21  19:28:34  john
-- * Changed warning for no joystick to use nm_messagebox..
-- *
-- * Revision 1.40  1994/11/21  19:06:25  john
-- * Made it so that it only stops sound when your in game mode.
-- *
-- * Revision 1.39  1994/11/21  11:47:18  john
-- * Made sound pause during joystick calibration.
-- *
-- * Revision 1.38  1994/11/10  20:34:18  rob
-- * Removed menu-specific network mode support in favor in new stuff
-- * in newmenu.c
-- *
-- * Revision 1.37  1994/11/08  21:21:38  john
-- * Made Esc exit joystick calibration.
-- *
-- * Revision 1.36  1994/11/08  15:14:42  john
-- * Added more calls so net doesn't die in net game.
-- *
-- * Revision 1.35  1994/11/08  14:59:12  john
-- * Added code to respond to network while in menus.
-- *
-- * Revision 1.34  1994/10/24  19:56:32  john
-- * Made the new user setup prompt for config options.
-- *
-- * Revision 1.33  1994/10/22  14:11:52  mike
-- * Suppress compiler warning message.
-- *
-- * Revision 1.32  1994/10/19  12:44:24  john
-- * Added hours field to player structure.
-- *
-- * Revision 1.31  1994/10/17  13:07:13  john
-- * Moved the descent.cfg info into the player config file.
-- *
-- * Revision 1.30  1994/10/13  21:41:12  john
-- * MAde Esc exit out of joystick calibration.
-- *
-- * Revision 1.29  1994/10/13  19:22:27  john
-- * Added separate config saves for different devices.
-- * Made all the devices work together better, such as mice won't
-- * get read when you're playing with the joystick.
-- *
-- * Revision 1.28  1994/10/13  11:40:18  john
-- * Took out warnings.
-- *
-- * Revision 1.27  1994/10/13  11:35:23  john
-- * Made Thrustmaster FCS Hat work.  Put a background behind the
-- * keyboard configure.  Took out turn_sensitivity.  Changed sound/config
-- * menu to new menu. Made F6 be calibrate joystick.
-- *
-- * Revision 1.26  1994/10/11  21:29:03  matt
-- * Made a bunch of menus have good initial selected values
-- *
-- * Revision 1.25  1994/10/11  17:08:39  john
-- * Added sliders for volume controls.
-- *
-- * Revision 1.24  1994/10/10  17:59:21  john
-- * Neatend previous.
-- *
-- * Revision 1.23  1994/10/10  17:57:59  john
-- * Neatend previous.
-- *
-- * Revision 1.22  1994/10/10  17:56:11  john
-- * Added messagebox that tells that config has been saved.
-- *
-- * Revision 1.21  1994/09/30  12:37:26  john
-- * Added midi,digi volume to configuration.
-- *
-- * Revision 1.20  1994/09/22  16:14:14  john
-- * Redid intro sequecing.
-- *
-- * Revision 1.19  1994/09/19  18:50:15  john
-- * Added switch to disable joystick.
-- *
-- * Revision 1.18  1994/09/12  11:47:36  john
-- * Made stupid cruise work better.  Make kconfig values get
-- * read/written to disk.
-- *
-- * Revision 1.17  1994/09/10  15:46:47  john
-- * First version of new keyboard configuration.
-- *
-- * Revision 1.16  1994/09/06  19:35:44  john
-- * Fixed bug that didn';t load new size .cal file.
-- *
-- * Revision 1.15  1994/09/06  14:51:58  john
-- * Added sensitivity adjustment, fixed bug with joystick button not
-- * staying down.
-- *
-- * Revision 1.14  1994/09/02  16:13:47  john
-- * Made keys fill in position.
-- *
-- * Revision 1.13  1994/08/31  17:58:50  john
-- * Made a bit simpler.
-- *
-- * Revision 1.12  1994/08/31  14:17:54  john
-- * *** empty log message ***
-- *
-- * Revision 1.11  1994/08/31  14:10:56  john
-- * Made keys not work when KEY_DELETE pressed.
-- *
-- * Revision 1.10  1994/08/31  13:40:47  mike
-- * Change constant
-- *
-- * Revision 1.9  1994/08/31  12:56:27  john
-- * *** empty log message ***
-- *
-- * Revision 1.8  1994/08/30  20:38:29  john
-- * Add more config stuff..
-- *
-- * Revision 1.7  1994/08/30  16:37:25  john
-- * Added menu options to set controls.
-- *
-- * Revision 1.6  1994/08/30  09:27:18  john
-- * *** empty log message ***
-- *
-- * Revision 1.5  1994/08/30  09:12:01  john
-- * *** empty log message ***
-- *
-- * Revision 1.4  1994/08/29  21:18:32  john
-- * First version of new keyboard/oystick remapping stuff.
-- *
-- * Revision 1.3  1994/08/24  19:00:29  john
-- * Changed key_down_time to return fixed seconds instead of
-- * milliseconds.
-- *
-- * Revision 1.2  1994/08/17  16:50:37  john
-- * Added damaging fireballs, missiles.
-- *
-- * Revision 1.1  1994/08/17  10:07:12  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/joydefs.h:
-
-- * Revision 2.0  1995/02/27  11:32:12  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.12  1995/01/25  14:37:52  john
-- * Made joystick only prompt for calibration once...
-- *
-- * Revision 1.11  1994/10/13  11:35:43  john
-- * Made Thrustmaster FCS Hat work.  Put a background behind the
-- * keyboard configure.  Took out turn_sensitivity.  Changed sound/config
-- * menu to new menu. Made F6 be calibrate joystick.
-- *
-- * Revision 1.10  1994/09/10  15:46:49  john
-- * First version of new keyboard configuration.
-- *
-- * Revision 1.9  1994/09/06  14:51:29  john
-- * Added sensitivity adjustment, fixed bug with joystick button not
-- * staying down.
-- *
-- * Revision 1.8  1994/08/31  12:56:29  john
-- * *** empty log message ***
-- *
-- * Revision 1.7  1994/08/30  16:37:07  john
-- * Added menu options to set controls.
-- *
-- * Revision 1.6  1994/08/29  21:18:33  john
-- * First version of new keyboard/oystick remapping stuff.
-- *
-- * Revision 1.5  1994/08/24  19:00:30  john
-- * Changed key_down_time to return fixed seconds instead of
-- * milliseconds.
-- *
-- * Revision 1.4  1994/08/17  16:50:04  john
-- * Added damaging fireballs, missiles.
-- *
-- * Revision 1.3  1994/07/01  10:55:18  john
-- * Added analog joystick throttle
-- *
-- * Revision 1.2  1994/06/30  20:04:46  john
-- * Added -joydef support.
-- *
-- * Revision 1.1  1994/06/30  18:08:12  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/kconfig.c:
-
-- * Revision 1.18  1995/10/29  20:14:10  allender
-- * don't read mouse 30x/sec.  Still causes problems -- left with
-- * exposure at > 60 frame/s
-- *
-- * Revision 1.17  1995/10/27  14:16:35  allender
-- * don't set lastreadtime when doing mouse stuff if we didn't
-- * read mouse this frame
-- *
-- * Revision 1.16  1995/10/24  18:10:22  allender
-- * get mouse stuff working right this time?
-- *
-- * Revision 1.15  1995/10/23  14:50:50  allender
-- * corrected values for control type in kc_set_controls
-- *
-- * Revision 1.14  1995/10/21  16:36:54  allender
-- * fix up mouse read time
-- *
-- * Revision 1.13  1995/10/20  00:46:53  allender
-- * fix up mouse reading problem
-- *
-- * Revision 1.12  1995/10/19  13:36:38  allender
-- * mouse support in kconfig screens
-- *
-- * Revision 1.11  1995/10/18  21:06:06  allender
-- * removed Int3 in cruise stuff -- was in there for debugging and
-- * now not needed
-- *
-- * Revision 1.10  1995/10/17  13:12:47  allender
-- * fixed config menus so buttons don't get configured
-- *
-- * Revision 1.9  1995/10/15  23:07:55  allender
-- * added return key as second button for primary fire
-- *
-- * Revision 1.8  1995/09/05  08:49:47  allender
-- * change 'PADRTN' label to 'ENTER'
-- *
-- * Revision 1.7  1995/09/01  15:38:22  allender
-- * took out cap of reading controls max 25 times/sec
-- *
-- * Revision 1.6  1995/09/01  13:33:59  allender
-- * erase all old text
-- *
-- * Revision 1.5  1995/08/18  10:20:55  allender
-- * keep controls reading to 25 times/s max so fast
-- * frame rates don't mess up control reading
-- *
-- * Revision 1.4  1995/07/28  15:43:13  allender
-- * make mousebutton control primary fire
-- *
-- * Revision 1.3  1995/07/26  17:04:32  allender
-- * new defaults and make joystick main button work correctly
-- *
-- * Revision 1.2  1995/07/17  08:51:03  allender
-- * fixed up configuration menus to look right
-- *
-- * Revision 1.1  1995/05/16  15:26:56  allender
-- * Initial revision
-- *
-- * Revision 2.11  1995/08/23  16:08:04  john
-- * Added version 2 of external controls that passes the ship
-- * position and orientation the drivers.
-- *
-- * Revision 2.10  1995/07/07  16:48:01  john
-- * Fixed bug with new interface.
-- *
-- * Revision 2.9  1995/07/03  15:02:32  john
-- * Added new version of external controls for Cybermouse absolute position.
-- *
-- * Revision 2.8  1995/06/30  12:30:28  john
-- * Added -Xname command line.
-- *
-- * Revision 2.7  1995/03/30  16:36:56  mike
-- * text localization.
-- *
-- * Revision 2.6  1995/03/21  14:39:31  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.5  1995/03/16  10:53:07  john
-- * Move VFX center to Shift+Z instead of Enter because
-- * it conflicted with toggling HUD on/off.
-- *
-- * Revision 2.4  1995/03/10  13:47:24  john
-- * Added head tracking sensitivity.
-- *
-- * Revision 2.3  1995/03/09  18:07:06  john
-- * Fixed bug with iglasses tracking not "centering" right.
-- * Made VFX have bright headlight lighting.
-- *
-- * Revision 2.2  1995/03/08  15:32:39  john
-- * Made VictorMaxx head tracking use Greenleaf code.
-- *
-- * Revision 2.1  1995/03/06  15:23:31  john
-- * New screen techniques.
-- *
-- * Revision 2.0  1995/02/27  11:29:26  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.105  1995/02/22  14:11:58  allender
-- * remove anonymous unions from object structure
-- *
-- * Revision 1.104  1995/02/13  12:01:56  john
-- * Fixed bug with buggin not mmaking player faster.
-- *
-- * Revision 1.103  1995/02/09  22:00:46  john
-- * Added i-glasses tracking.
-- *
-- * Revision 1.102  1995/01/24  21:25:47  john
-- * Fixed bug with slide/bank on not working with
-- * Cyberman heading.,
-- *
-- * Revision 1.101  1995/01/24  16:09:56  john
-- * Fixed bug with Wingman extreme customize text overwriting title.
-- *
-- * Revision 1.100  1995/01/24  12:37:46  john
-- * Made Esc exit key define menu.
-- *
-- * Revision 1.99  1995/01/23  23:54:43  matt
-- * Made keypad enter work
-- *
-- * Revision 1.98  1995/01/23  16:42:00  john
-- * Made the external controls always turn banking off, leveling off
-- * and passed automap state thru to the tsr.
-- *
-- * Revision 1.97  1995/01/12  11:41:33  john
-- * Added external control reading.
-- *
-- * Revision 1.96  1995/01/05  10:43:58  mike
-- * Handle case when timer_get_fixed_seconds() goes negative.  Happens at 9.1
-- * hours.  Previously, joystick would stop functioning.  Now will work.
-- *
-- * Revision 1.95  1994/12/29  11:17:38  john
-- * Took out some warnings and mprintf.
-- *
-- * Revision 1.94  1994/12/29  11:07:41  john
-- * Fixed Thrustmaster and Logitech Wingman extreme
-- * Hat by reading the y2 axis during the center stage
-- * of the calibration, and using 75, 50, 27, and 3 %
-- * as values for the 4 positions.
-- *
-- * Revision 1.93  1994/12/27  12:16:20  john
-- * Fixed bug with slide on not working with joystick or mouse buttons.
-- *
-- * Revision 1.92  1994/12/20  10:34:15  john
-- * Made sensitivity work for mouse & joystick and made
-- * it only affect, pitch, heading, and roll.
-- *
-- * Revision 1.91  1994/12/16  00:11:23  matt
-- * Made delete key act normally when debug out
-- *
-- * Revision 1.90  1994/12/14  17:41:15  john
-- * Added more buttons so that  Yoke would work.
-- *
-- * Revision 1.89  1994/12/13  17:25:35  allender
-- * Added Assert for bogus time for joystick reading.
-- *
-- * Revision 1.88  1994/12/13  14:48:01  john
-- * Took out some debugging mprintf's
-- *
-- *
-- * Revision 1.87  1994/12/13  14:43:02  john
-- * Took out the code in kconfig to build direction array.
-- * Called kc_set_controls after selecting a new control type.
-- *
-- * Revision 1.86  1994/12/13  01:11:32  john
-- * Fixed bug with message clearing overwriting
-- * right border.
-- *
-- * Revision 1.85  1994/12/12  00:35:58  john
-- * Added or thing for keys.
-- *
-- * Revision 1.84  1994/12/09  17:08:06  john
-- * Made mouse a bit less sensitive.
-- *
-- * Revision 1.83  1994/12/09  16:04:00  john
-- * Increased mouse sensitivity.
-- *
-- * Revision 1.82  1994/12/09  00:41:26  mike
-- * fix hang in automap print screen
-- *
-- * Revision 1.81  1994/12/08  11:50:37  john
-- * Made strcpy only copy corect number of chars,.
-- *
-- * Revision 1.80  1994/12/07  16:16:06  john
-- * Added command to check to see if a joystick axes has been used.
-- *
-- * Revision 1.79  1994/12/07  14:52:28  yuan
-- * Localization 492
-- *
-- * Revision 1.78  1994/12/07  13:37:40  john
-- * Made the joystick thrust work in reverse.
-- *
-- * Revision 1.77  1994/12/07  11:28:24  matt
-- * Did a little localization support
-- *
-- * Revision 1.76  1994/12/04  12:30:03  john
-- * Made the Thrustmaster stick read every frame, not every 10 frames,
-- * because it uses analog axis as buttons.
-- *
-- * Revision 1.75  1994/12/03  22:35:25  yuan
-- * Localization 412
-- *
-- * Revision 1.74  1994/12/03  15:39:24  john
-- * Made numeric keypad move in conifg.
-- *
-- * Revision 1.73  1994/12/01  16:23:39  john
-- * Fixed include mistake.
-- *
-- * Revision 1.72  1994/12/01  16:07:57  john
-- * Fixed bug that disabled joystick in automap because it used gametime, which is
-- * paused during automap. Fixed be used timer_Get_fixed_seconds instead of GameTime.
-- *
-- * Revision 1.71  1994/12/01  12:30:49  john
-- * Made Ctrl+D delete, not Ctrl+E
-- *
-- * Revision 1.70  1994/12/01  11:52:52  john
-- * Added default values for GamePad.
-- *
-- * Revision 1.69  1994/11/30  00:59:12  mike
-- * optimizations.
-- *
-- * Revision 1.68  1994/11/29  03:45:50  john
-- * Added joystick sensitivity; Added sound channels to detail menu.  Removed -maxchannels
-- * command line arg.
-- *
-- * Revision 1.67  1994/11/27  23:13:44  matt
-- * Made changes for new mprintf calling convention
-- *
-- * Revision 1.66  1994/11/27  19:52:12  matt
-- * Made screen shots work in a few more places
-- *
-- * Revision 1.65  1994/11/22  16:54:50  mike
-- * autorepeat on missiles.
-- *
-- * Revision 1.64  1994/11/21  11:16:17  rob
-- * Changed calls to GameLoop to calls to multi_menu_poll and changed
-- * conditions under which they are called.
-- *
-- * Revision 1.63  1994/11/19  15:14:48  mike
-- * remove unused code and data
-- *
-- * Revision 1.62  1994/11/18  23:37:56  john
-- * Changed some shorts to ints.
-- *
-- * Revision 1.61  1994/11/17  13:36:35  rob
-- * Added better network hook in kconfig menu.
-- *
-- * Revision 1.60  1994/11/14  20:09:13  john
-- * Made Tab be default for automap.
-- *
-- * Revision 1.59  1994/11/13  16:34:07  matt
-- * Fixed victormaxx angle conversions
-- *
-- * Revision 1.58  1994/11/12  14:47:05  john
-- * Added support for victor head tracking.
-- *
-- * Revision 1.57  1994/11/08  15:14:55  john
-- * Added more calls so net doesn't die in net game.
-- *
-- * Revision 1.56  1994/11/07  14:01:07  john
-- * Changed the gamma correction sequencing.
-- *
-- * Revision 1.55  1994/11/01  16:40:08  john
-- * Added Gamma correction.
-- *
-- * Revision 1.54  1994/10/25  23:09:26  john
-- * Made the automap key configurable.
-- *
-- * Revision 1.53  1994/10/25  13:11:59  john
-- * Made keys the way Adam speced 'em for final game.
-- *
-- * Revision 1.52  1994/10/24  17:44:22  john
-- * Added stereo channel reversing.
-- *
-- * Revision 1.51  1994/10/22  13:23:18  john
-- * Made default rear view key be R.
-- *
-- * Revision 1.50  1994/10/22  13:20:09  john
-- * Took out toggle primary/secondary weapons.  Fixed black
-- * background for 'axes' and 'buttons' text.
-- *
-- * Revision 1.49  1994/10/21  15:20:15  john
-- * Made PrtScr do screen dump, not F2.
-- *
-- * Revision 1.48  1994/10/21  13:41:36  john
-- * Allowed F2 to screen dump.
-- *
-- * Revision 1.47  1994/10/17  13:07:05  john
-- * Moved the descent.cfg info into the player config file.
-- *
-- * Revision 1.46  1994/10/14  15:30:22  john
-- * Added Cyberman default positions.
-- *
-- * Revision 1.45  1994/10/14  15:24:54  john
-- * Made Cyberman work with config.
-- *
-- * Revision 1.44  1994/10/14  12:46:04  john
-- * Added the ability to reset all to default.
-- *
-- * Revision 1.43  1994/10/14  12:18:31  john
-- * Made mouse invert axis always be 0 or 1.
-- *
-- * Revision 1.42  1994/10/14  12:16:03  john
-- * Changed code so that by doing DEL+F12 saves the current kconfig
-- * values as default. Added support for drop_bomb key.  Took out
-- * unused slots for keyboard.  Made keyboard use control_type of 0
-- * save slots.
-- *
-- * Revision 1.41  1994/10/13  21:27:02  john
-- * Made axis invert value always be 0 or 1.
-- *
-- * Revision 1.40  1994/10/13  20:18:15  john
-- * Added some more system keys, such as F? and CAPSLOCK.
-- *
-- * Revision 1.39  1994/10/13  19:22:29  john
-- * Added separate config saves for different devices.
-- * Made all the devices work together better, such as mice won't
-- * get read when you're playing with the joystick.
-- *
-- * Revision 1.38  1994/10/13  15:41:57  mike
-- * Remove afterburner.
-
-------------------------------------------------------------------------
-main/kconfig.h:
-
-- * Revision 1.1  1995/05/16  15:58:27  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:29:38  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.23  1995/01/12  11:41:44  john
-- * Added external control reading.
-- *
-- * Revision 1.22  1994/12/07  16:15:30  john
-- * Added command to check to see if a joystick axes has been used.
-- *
-- * Revision 1.21  1994/11/29  03:46:29  john
-- * Added joystick sensitivity; Added sound channels to detail menu.  Removed -maxchannels
-- * command line arg.
-- *
-- * Revision 1.20  1994/11/22  16:54:45  mike
-- * autorepeat on missiles.
-- *
-- * Revision 1.19  1994/11/07  14:01:27  john
-- * Changed the gamma correction sequencing.
-- *
-- * Revision 1.18  1994/11/01  16:40:02  john
-- * Added Gamma correction.
-- *
-- * Revision 1.17  1994/10/25  23:09:24  john
-- * Made the automap key configurable.
-- *
-- * Revision 1.16  1994/10/24  19:56:51  john
-- * Made the new user setup prompt for config options.
-- *
-- * Revision 1.15  1994/10/24  17:44:18  john
-- * Added stereo channel reversing.
-- *
-- * Revision 1.14  1994/10/22  13:19:33  john
-- * Took out toggle primary/secondary weapons.  Fixed black
-- * background for 'axes' and 'buttons' text.
-- *
-- * Revision 1.13  1994/10/17  13:06:51  john
-- * Moved the descent.cfg info into the player config file.
-- *
-- * Revision 1.12  1994/10/14  12:14:47  john
-- * Changed code so that by doing DEL+F12 saves the current kconfig
-- * values as default. Added support for drop_bomb key.  Took out
-- * unused slots for keyboard.  Made keyboard use control_type of 0
-- * save slots.
-- *
-- * Revision 1.11  1994/10/13  19:21:33  john
-- * Added separate config saves for different devices.
-- * Made all the devices work together better, such as mice won't
-- * get read when you're playing with the joystick.
-- *
-- * Revision 1.10  1994/10/13  15:18:41  john
-- * Started ripping out old afterburner, show message, show automap
-- * keys in the keyboard config stuff.
-- *
-- * Revision 1.9  1994/10/13  11:35:27  john
-- * Made Thrustmaster FCS Hat work.  Put a background behind the
-- * keyboard configure.  Took out turn_sensitivity.  Changed sound/config
-- * menu to new menu. Made F6 be calibrate joystick.
-- *
-- * Revision 1.8  1994/10/06  14:10:50  matt
-- * New function reset_cruise()
-- *
-- * Revision 1.7  1994/10/03  14:58:25  john
-- * Added rear_view_down_state so that the rear view can
-- * work like the automap.
-- *
-- * Revision 1.6  1994/09/30  12:37:25  john
-- * Added midi,digi volume to configuration.
-- *
-- * Revision 1.5  1994/09/19  18:49:59  john
-- * Added switch to disable joystick.
-- *
-- * Revision 1.4  1994/09/15  16:11:21  john
-- * Added support for VFX1 head tracking. Fixed bug with memory over-
-- * write when using stereo mode.
-- *
-- * Revision 1.3  1994/09/12  11:47:38  john
-- * Made stupid cruise work better.  Make kconfig values get
-- * read/written to disk.
-- *
-- * Revision 1.2  1994/09/10  15:46:55  john
-- * First version of new keyboard configuration.
-- *
-- * Revision 1.1  1994/09/10  13:51:40  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/kmatrix.c:
-
-- * Revision 1.6  1995/09/24  10:57:48  allender
-- * made any key move off of kill matrix screen as text indicates it should
-- *
-- * Revision 1.5  1995/08/18  08:33:05  allender
-- * fixed text problem with top level player names
-- *
-- * Revision 1.4  1995/07/26  17:03:05  allender
-- * sort of fixed spacing for mac
-- *
-- * Revision 1.3  1995/06/06  15:36:14  allender
-- * be sure to bitblt to screen inside of kmatrix loop
-- *
-- * Revision 1.2  1995/06/02  07:47:15  allender
-- * removed bogus include files
-- *
-- * Revision 1.1  1995/05/16  15:27:07  allender
-- * Initial revision
-- *
-- * Revision 2.3  1995/05/02  17:01:22  john
-- * Fixed bug with kill list not showing up in VFX mode.
-- *
-- * Revision 2.2  1995/03/21  14:38:20  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.1  1995/03/06  15:22:54  john
-- * New screen techniques.
-- *
-- * Revision 2.0  1995/02/27  11:25:56  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.19  1995/02/15  14:47:23  john
-- * Added code to keep track of kills during endlevel.
-- *
-- * Revision 1.18  1995/02/08  11:00:06  rob
-- * Moved string to localized file
-- *
-- * Revision 1.17  1995/02/01  23:45:55  rob
-- * Fixed string.
-- *
-- * Revision 1.16  1995/01/30  21:47:11  rob
-- * Added a line of instructions.
-- *
-- * Revision 1.15  1995/01/20  16:58:43  rob
-- * careless careless careless...
-- *
-- *
-- * Revision 1.14  1995/01/20  13:43:48  rob
-- * Longer time to view.
-- *
-- * Revision 1.13  1995/01/20  13:42:34  rob
-- * Fixed sorting bug.
-- *
-- * Revision 1.12  1995/01/19  17:35:21  rob
-- * Fixed coloration of player names in team mode.
-- *
-- * Revision 1.11  1995/01/16  21:26:15  rob
-- * Fixed it!!
-- *
-- * Revision 1.10  1995/01/16  18:55:41  rob
-- * Added include of network.h
-- *
-- * Revision 1.9  1995/01/16  18:22:35  rob
-- * Fixed problem with signs.
-- *
-- * Revision 1.8  1995/01/12  16:07:51  rob
-- * ADded sorting before display.
-- *
-- * Revision 1.7  1995/01/04  08:46:53  rob
-- * JOHN CHECKED IN FOR ROB !!!
-- *
-- * Revision 1.6  1994/12/09  20:17:20  yuan
-- * Touched up
-- *
-- * Revision 1.5  1994/12/09  19:46:35  yuan
-- * Localized the sucker.
-- *
-- * Revision 1.4  1994/12/09  19:24:58  rob
-- * Yuan's fix to the centering.
-- *
-- * Revision 1.3  1994/12/09  19:02:37  yuan
-- * Cleaned up a bit.
-- *
-- * Revision 1.2  1994/12/09  16:19:46  yuan
-- * kill matrix stuff.
-- *
-- * Revision 1.1  1994/12/09  15:08:58  yuan
-- * Initial revision
-
-------------------------------------------------------------------------
-main/kmatrix.h:
-
-- * Revision 1.1  1995/05/16  15:58:35  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:28:51  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.3  1995/02/15  14:47:39  john
-- * Added code to keep track of kills during endlevel.
-- *
-- * Revision 1.2  1994/12/09  16:19:46  yuan
-- * kill matrix stuff.
-- *
-- * Revision 1.1  1994/12/09  15:58:33  yuan
-- * Initial revision
-
-------------------------------------------------------------------------
-main/laser.c:
-
-- * Revision 1.1  1993/11/29  17:19:02  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/laser.h:
-
-- * Revision 1.1  1995/05/16  15:58:43  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:32:27  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.50  1995/02/01  21:03:44  john
-- * Lintified.
-- *
-- * Revision 1.49  1995/02/01  16:34:11  john
-- * Linted.
-- *
-- * Revision 1.48  1995/01/31  16:16:16  mike
-- * Separate smart blobs for robot and player.
-- *
-- * Revision 1.47  1995/01/27  17:02:55  mike
-- * Add LASER_ID -- why wasn't this added in June?
-- *
-- * Revision 1.46  1995/01/25  10:53:27  mike
-- * make badass damage go through grates.
-- *
-- * Revision 1.45  1994/12/12  17:17:32  mike
-- * make boss cloak/teleport when get hit, make quad laser 3/4 as powerful.
-- *
-- * Revision 1.44  1994/12/04  16:17:23  mike
-- * spruce up homing missile behavior.
-- *
-- * Revision 1.43  1994/12/03  12:48:30  mike
-- * make homing missile tracking not frame rate dependent (more-or-less)
-- *
-- * Revision 1.42  1994/10/12  08:04:54  mike
-- * Clean up proximity/homing mess.
-- *
-- * Revision 1.41  1994/10/09  20:07:04  rob
-- * Change prototype for do_laser_firing
-- *
-- * Revision 1.40  1994/10/09  00:15:48  mike
-- * Add constants for super mech missile, regular mech missile, silent spreadfire.
-- *
-- * Revision 1.39  1994/10/08  19:52:09  rob
-- * Added new weapon fire flags.
-- *
-- * Revision 1.38  1994/10/07  15:31:12  mike
-- * Prototypes for new laser functions which don't necessarily make sound.
-- *
-- * Revision 1.37  1994/10/05  17:08:29  matt
-- * Fixed a couple of small bugs, and made homing missiles alternate sides
-- *
-- * Revision 1.36  1994/09/28  14:28:55  rob
-- * Added firing of missiles on networks/serial.
-- *
-- * Revision 1.35  1994/09/24  14:17:02  mike
-- * Prototype do_laser_firing.
-- *
-- * Revision 1.34  1994/09/23  11:36:49  mike
-- * Prototype Laser_create_new_easy.
-- *
-- * Revision 1.33  1994/09/20  11:55:01  mike
-- * Fix bug.
-- *
-- * Revision 1.32  1994/09/20  11:48:34  mike
-- * Change spreadfire laser to use new bitmap. (Define SPREADFIRE_ID)
-- *
-- * Revision 1.31  1994/09/15  16:31:28  mike
-- * Prototype object_to_object_visibility.
-- *
-- * Revision 1.30  1994/09/10  17:31:40  mike
-- * Add thrust to weapons.
-- *
-- * Revision 1.29  1994/09/08  14:49:44  mike
-- * Bunch of IDs for new weapon types.
-- *
-- * Revision 1.28  1994/09/07  19:16:40  mike
-- * Homing missile.
-- *
-- * Revision 1.27  1994/09/07  15:59:47  mike
-- * Kill FLARE_MAX_TIME (now defined in bitmaps.tbl), add PROXIMITY_ID (shame!), prototype do_laser_firing, do_missile_firing.
-- *
-- * Revision 1.26  1994/09/03  15:22:41  mike
-- * Kill Projectile_player_fire prototype.
-- *
-- * Revision 1.25  1994/09/02  16:39:00  mike
-- * IDs for primary weapons.
-- *
-- * Revision 1.24  1994/09/02  11:55:54  mike
-- * Define some illegal constants.
-- *
-- * Revision 1.23  1994/08/25  18:12:06  matt
-- * Made player's weapons and flares fire from the positions on the 3d model.
-- * Also added support for quad lasers.
-- *
-- * Revision 1.22  1994/08/19  15:22:28  mike
-- * Define constant for MAX_LASER_LEVEL.
-- *
-- * Revision 1.21  1994/08/13  12:20:47  john
-- * Made the networking uise the Players array.
-- *
-- * Revision 1.20  1994/08/10  10:44:05  john
-- * Made net players fire..
-- *
-- * Revision 1.19  1994/06/27  18:30:57  mike
-- * Add flares.
-- *
-- * Revision 1.18  1994/06/09  15:32:37  mike
-- * Muzzle flash
-- *
-- * Revision 1.17  1994/05/19  09:09:00  mike
-- * Move a bunch of laser variables to bm.h, I think.
-- * Also, added Robot_laser_speed, instead of hard-coding Laser_speed/4.
-- *
-- * Revision 1.16  1994/05/14  17:16:20  matt
-- * Got rid of externs in source (non-header) files
-- *
-- * Revision 1.15  1994/05/13  20:27:39  john
-- * Version II of John's new object code.
-- *
-- * Revision 1.14  1994/04/20  15:06:47  john
-- * Neatend laser code and fixed some laser bugs.
-- *
-- * Revision 1.13  1994/04/01  13:35:15  matt
-- * Cleaned up laser code a bit; moved some code here object.c to laser.c
-- *
-- * Revision 1.12  1994/04/01  11:14:24  yuan
-- * Added multiple bitmap functionality to all objects...
-- * (hostages, powerups, lasers, etc.)
-- * Hostages and powerups are implemented in the object system,
-- * just need to finish function call to "affect" player.
-- *
-- * Revision 1.11  1994/03/31  09:10:09  matt
-- * Added #define to turn crosshair off
-- *
-- * Revision 1.10  1994/02/17  11:33:15  matt
-- * Changes in object system
-- *
-- * Revision 1.9  1994/01/06  11:56:01  john
-- * Made lasers be lines, not purple blobs
-- *
-- * Revision 1.8  1994/01/05  10:53:35  john
-- * New object code by John.
-- *
-- * Revision 1.7  1993/12/08  14:21:36  john
-- * Added ExplodeObject
-- *
-- * Revision 1.6  1993/12/08  11:28:54  john
-- * Made lasers look like bolts.
-- *
-- * Revision 1.5  1993/12/01  13:12:40  john
-- * made lasers frame-rate independant
-- *
-- * Revision 1.4  1993/11/30  19:00:42  john
-- * lasers working kinda
-- *
-- * Revision 1.3  1993/11/29  19:44:53  john
-- * *** empty log message ***
-- *
-- * Revision 1.2  1993/11/29  17:44:55  john
-- * *** empty log message ***
-- *
-- * Revision 1.1  1993/11/29  17:19:19  john
-- * Initial revision
-
-------------------------------------------------------------------------
-main/lighting.c:
-
- * Revision 1.4  1995/09/20  14:26:12  allender
- * more optimizations(?) ala MK
- *
- * Revision 1.2  1995/07/05  21:27:31  allender
- * new and improved lighting code by MK!
- *
- * Revision 2.1  1995/07/24  13:21:56  john
- * Added new lighting calculation code to speed things up.
- *
- * Revision 2.0  1995/02/27  11:27:33  john
- * New version 2.0, which has no anonymous unions, builds with
- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
- *
- * Revision 1.43  1995/02/22  13:57:10  allender
- * remove anonymous union from object structure
- *
- * Revision 1.42  1995/02/13  20:35:07  john
- * Lintized
- *
- * Revision 1.41  1995/02/04  21:43:40  matt
- * Changed an assert() to an int3() and deal with the bad case
- *
- * Revision 1.40  1995/01/15  20:48:27  mike
- * support light field for powerups.
- *
- * Revision 1.39  1994/12/15  13:04:19  mike
- * Replace Players[Player_num].time_total references with GameTime.
- *
- * Revision 1.38  1994/11/28  21:50:41  mike
- * optimizations.
- *
- * Revision 1.37  1994/11/28  01:32:33  mike
- * lighting optimization.
- *
- * Revision 1.36  1994/11/15  12:01:00  john
- * Changed a bunch of code that uses timer_get_milliseconds to
- * timer_get_fixed_Seconds.
- *
- * Revision 1.35  1994/10/31  21:56:07  matt
- * Fixed bug & added error checking
- *
- * Revision 1.34  1994/10/21  11:24:57  mike
- * Trap divide overflows in lighting.
- *
- * Revision 1.33  1994/10/08  14:49:11  matt
- * If viewer changed, don't do smooth lighting hack
- *
- * Revision 1.32  1994/09/25  23:41:07  matt
- * Changed the object load & save code to read/write the structure fields one
- * at a time (rather than the whole structure at once).  This mean that the
- * object structure can be changed without breaking the load/save functions.
- * As a result of this change, the local_object data can be and has been
- * incorporated into the object array.  Also, timeleft is now a property
- * of all objects, and the object structure has been otherwise cleaned up.
- *
- * Revision 1.31  1994/09/25  15:45:15  matt
- * Added OBJ_LIGHT, a type of object that casts light
- * Added generalized lifeleft, and moved it to local_object
- *
- * Revision 1.30  1994/09/11  15:48:27  mike
- * Use vm_vec_mag_quick in place of vm_vec_mag in point_dist computation.
- *
- * Revision 1.29  1994/09/08  21:44:49  matt
- * Made lighting ramp 4x as fast; made only static (ambient) light ramp
- * up, but not headlight & dynamic light
- *
- * Revision 1.28  1994/09/02  14:00:07  matt
- * Simplified explode_object() & mutliple-stage explosions
- *
- * Revision 1.27  1994/08/29  19:06:44  mike
- * Make lighting proportional to square of distance, not linear.
- *
- * Revision 1.26  1994/08/25  18:08:38  matt
- * Made muzzle flash cast 3x as much light
- *
- * Revision 1.25  1994/08/23  16:38:31  mike
- * Key weapon light off bitmaps.tbl.
- *
- * Revision 1.24  1994/08/13  12:20:44  john
- * Made the networking uise the Players array.
- *
- * Revision 1.23  1994/08/12  22:42:18  john
- * Took away Player_stats; added Players array.
- *
- * Revision 1.22  1994/07/06  10:19:22  matt
- * Changed include
- *
- * Revision 1.21  1994/06/28  13:20:22  mike
- * Oops, fixed a dumb typo.
- *
- * Revision 1.20  1994/06/28  12:53:25  mike
- * Change lighting function for flares, make brighter and asynchronously flicker.
- *
- * Revision 1.19  1994/06/27  18:31:15  mike
- * Add flares.
- *
- * Revision 1.18  1994/06/20  13:41:17  matt
- * Added time-based gradual lighting hack for objects
- * Took out strobing robots
- *
- * Revision 1.17  1994/06/19  16:25:54  mike
- * Optimize lighting.
- *
- * Revision 1.16  1994/06/17  18:08:08  mike
- * Make robots cast more and variable light.
- *
- * Revision 1.15  1994/06/13  15:15:55  mike
- * Fix phantom light, every 64K milliseconds, muzzle flash would flash again.
-
-------------------------------------------------------------------------
-main/lighting.h:
-
-- * Revision 1.1  1995/05/16  15:58:51  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:27:52  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.6  1994/11/28  21:50:56  mike
-- * optimizations.
-- *
-- * Revision 1.5  1994/06/07  16:51:58  matt
-- * Made object lighting work correctly; changed name of Ambient_light to
-- * Dynamic_light; cleaned up polygobj object rendering a little.
-- *
-- * Revision 1.4  1994/05/31  18:41:35  matt
-- * Added comments
-- *
-- * Revision 1.3  1994/05/23  15:00:08  mike
-- * Change MIN_LIGHT_DIST.
-- *
-- * Revision 1.2  1994/05/22  15:30:09  mike
-- * First version.
-- *
-- * Revision 1.1  1994/05/22  15:16:44  mike
-- * Initial revision
-
-------------------------------------------------------------------------
-main/menu.h:
-
-- * Revision 1.1  1995/05/16  15:59:14  allender
-- * Initial revision
-- *
-- * Revision 2.1  1995/03/06  16:47:41  mike
-- * destination saturn
-- *
-- * Revision 2.0  1995/02/27  11:29:47  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.34  1994/12/12  00:16:16  john
-- * Added auto-leveling flag.
-- *
-- * Revision 1.33  1994/12/07  20:04:26  mike
-- * set Max_debris_objects.
-- *
-- * Revision 1.32  1994/11/14  17:23:19  rob
-- * ADded extern for default difficulty settings.
-- *
-- * Revision 1.31  1994/11/10  11:08:29  mike
-- * detail level stuff.
-- *
-- * Revision 1.30  1994/11/05  14:05:53  john
-- * Fixed fade transitions between all screens by making gr_palette_fade_in and out keep
-- * track of whether the palette is faded in or not.  Then, wherever the code needs to fade out,
-- * it just calls gr_palette_fade_out and it will fade out if it isn't already.  The same with fade_in.
-- * This eliminates the need for all the flags like Menu_fade_out, game_fade_in palette, etc.
-- *
-- * Revision 1.29  1994/11/02  11:59:44  john
-- * Moved menu out of game into inferno main loop.
-- *
-- * Revision 1.28  1994/10/17  20:30:59  john
-- * Made the text for the difficulty labels global so that
-- * the high score screen can print "rookie" or whatever.
-- *
-- * Revision 1.27  1994/10/04  10:47:09  matt
-- * Made main menu remember selected item
-- *
-- * Revision 1.26  1994/08/10  19:55:19  john
-- * Changed font stuff; Took out old menu; messed up lots of
-- * other stuff like game sequencing messages, etc.
-- *
-- * Revision 1.25  1994/06/23  18:54:09  matt
-- * Cleaned up game start/menu interaction, and improved main menu a little
-- *
-- * Revision 1.24  1994/06/21  12:11:50  yuan
-- * Fixed up menus and added HUDisplay messages.
-- *
-- * Revision 1.23  1994/06/20  23:15:16  yuan
-- * Color switching capability for the menus.
-- *
-- * Revision 1.22  1994/06/20  22:02:25  yuan
-- * Made menu GREEN by POPULAR DEMAND!!
-- *
-- * Revision 1.21  1994/06/20  21:05:48  yuan
-- * Fixed up menus.
-- *
-- * Revision 1.20  1994/06/20  19:19:29  yuan
-- * Tidied up the menu and the "message blocks" between levels, etc.
-- *
-- * Revision 1.19  1994/06/17  18:01:10  john
-- * A bunch of new stuff by John
-- *
-- * Revision 1.18  1994/05/16  09:37:22  matt
-- * Got rid of global continue_flag
-- *
-- * Revision 1.17  1994/05/14  17:14:51  matt
-- * Got rid of externs in source (non-header) files
-- *
-- * Revision 1.16  1994/05/10  12:14:26  yuan
-- * Game save/load... Demo levels 1-5 added...
-- * High scores fixed...
-- *
-- * Revision 1.15  1994/05/05  09:21:21  yuan
-- * *** empty log message ***
-- *
-- * Revision 1.14  1994/04/29  14:55:40  mike
-- * Change some menu colors.
-- *
-- * Revision 1.13  1994/04/28  18:04:36  yuan
-- * Gamesave added.
-- * Trigger problem fixed (seg pointer is replaced by index now.)
-- *
-- * Revision 1.12  1994/02/18  11:55:01  yuan
-- * Fixed menu to be called from game.
-- *
-- * Revision 1.11  1994/02/10  17:45:39  yuan
-- * Integrated some hacks which still need to be fixed.
-- *
-- * Revision 1.10  1994/02/01  22:50:23  yuan
-- * Final menu version for demo
-- *
-- * Revision 1.9  1994/02/01  11:50:17  yuan
-- * Moved quit message down just a tiny bit
-- *
-- * Revision 1.8  1994/01/31  17:30:16  yuan
-- * Fixed quit not disappearing problem
-- *
-- * Revision 1.7  1994/01/31  12:25:20  yuan
-- * New menu stuff
-- *
-- * Revision 1.6  1994/01/26  13:14:04  john
-- * *** empty log message ***
-- *
-- * Revision 1.5  1993/12/29  16:44:44  yuan
-- * Added some function definitions
-- *
-- * Revision 1.4  1993/12/13  18:53:12  yuan
-- * Fixed dependency problem
-- *
-- * Revision 1.3  1993/12/12  13:53:51  yuan
-- * Added menu and -g flag
-- *
-- * Revision 1.2  1993/12/10  16:07:17  yuan
-- * Working on menu system.  Updated the title screen.
-- *
-- * Revision 1.1  1993/12/10  12:45:27  yuan
-- * Initial revision
-
-------------------------------------------------------------------------
-main/mglobal.c:
-
-- * Revision 1.1  1995/12/05  16:03:10  allender
-- * Initial revision
-- *
-- * Revision 1.3  1995/10/10  11:49:41  allender
-- * removed malloc of static data now in ai module
-- *
-- * Revision 1.2  1995/07/12  12:48:52  allender
-- * malloc out edge_list global here, not static in automap.c
-- *
-- * Revision 1.1  1995/05/16  15:27:40  allender
-- * Initial revision
-- *
-- * Revision 2.2  1995/03/14  18:24:37  john
-- * Force Destination Saturn to use CD-ROM drive.
-- *
-- * Revision 2.1  1995/03/06  16:47:23  mike
-- * destination saturn
-- *
-- * Revision 2.0  1995/02/27  11:30:00  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.43  1995/01/19  17:00:53  john
-- * Made save game work between levels.
-- *
-- * Revision 1.42  1994/12/05  14:23:53  adam
-- * changed default detail to max, not custom
-- *
-- * Revision 1.41  1994/11/19  15:15:07  mike
-- * remove unused code and data
-- *
-- * Revision 1.40  1994/11/03  10:13:19  yuan
-- * Added #include "game.h"
-- *
-- * Revision 1.39  1994/11/03  10:09:59  matt
-- * Properly initialize detail & difficulty levels
-- *
-- * Revision 1.38  1994/10/30  14:11:21  mike
-- * rip out local segments stuff.
-- *
-- * Revision 1.37  1994/10/26  15:21:30  mike
-- * detail level.
-- *
-- * Revision 1.36  1994/09/22  10:46:12  mike
-- * Add difficulty levels.
-- *
-- * Revision 1.35  1994/09/13  11:19:11  mike
-- * Add Next_missile_fire_time.
-- *
-- * Revision 1.34  1994/08/31  19:25:34  mike
-- * GameTime and laser-firing limiting stuff added.
-- *
-- * Revision 1.33  1994/08/11  18:58:53  mike
-- * Add Side_to_verts_int.
-- *
-- * Revision 1.32  1994/07/21  19:01:38  mike
-- * Add Lsegment.
-- *
-- * Revision 1.31  1994/07/21  13:11:24  matt
-- * Ripped out remants of old demo system, and added demo only system that
-- * disables object movement and game options from menu.
-- *
-- * Revision 1.30  1994/06/17  18:06:48  matt
-- * Made password be treated as lowercase, since cmdline parsing converts
-- * everything to lowercase.
-- *
-- * Revision 1.29  1994/03/15  16:33:04  yuan
-- * Cleaned up bm-loading code.
-- * (Fixed structures too)
-- *
-- * Revision 1.28  1994/02/17  11:32:45  matt
-- * Changes in object system
-- *
-- * Revision 1.27  1994/02/16  17:08:43  matt
-- * Added needed include of 3d.h
-- *
-- * Revision 1.26  1994/02/16  13:47:58  mike
-- * fix bugs so editor can compile out.
-- *
-- * Revision 1.25  1994/02/11  21:52:13  matt
-- * Made password protection selectable by #define (and thus INFERNO.INI)
-- *
-- * Revision 1.24  1994/02/10  15:35:56  matt
-- * Various changes to make editor compile out.
-- *
-- * Revision 1.23  1994/02/02  12:34:29  mike
-- * take out BATS encryption.
-- *
-- * Revision 1.22  1994/01/21  16:08:11  matt
-- * Added FrameCount variable
-- *
-- * Revision 1.21  1994/01/06  17:13:10  john
-- * Added Video clip functionality
-- *
-- * Revision 1.20  1993/12/08  17:45:08  matt
-- * Changed password again
-- *
-- * Revision 1.19  1993/12/08  17:41:05  matt
-- * Changed password
-- *
-- * Revision 1.18  1993/12/08  10:55:10  mike
-- * Add free_obj_list
-- *
-- * Revision 1.17  1993/12/07  13:46:38  john
-- * Added Explosion bitmap array
-- *
-- * Revision 1.16  1993/12/06  18:40:35  matt
-- * Changed object loading & handling
-- *
-- * Revision 1.15  1993/12/05  22:47:48  matt
-- * Reworked include files in an attempt to cut down on build times
-- *
-- * Revision 1.14  1993/12/01  11:44:11  matt
-- * Chagned Frfract to FrameTime
-- *
-- * Revision 1.13  1993/12/01  00:27:11  yuan
-- * Implemented new bitmap structure system...
-- * overall bitmap scheme still needs some work.
-- *
-- * Revision 1.12  1993/11/19  17:21:59  matt
-- * Changed the bitmap number of object class UNICLASS
-- * Removed static initialization for objects
-- *
-- * Revision 1.11  1993/11/18  13:51:47  mike
-- * Add Classes, Class_views, Objects
-- *
-- * Revision 1.10  1993/11/04  18:52:36  matt
-- * Made Vertices[] and Segment_points[] use same constant for size, since
-- * they must be the same size anyway
-- *
-- * Revision 1.9  1993/11/04  14:01:06  matt
-- * Mucked with include files
-- *
-- * Revision 1.8  1993/10/26  13:58:42  mike
-- * Add password protection.
-- *
-- * Revision 1.7  1993/10/14  18:05:50  mike
-- * Change Side_to_verts to use MAX_SIDES_PER_SEGMENT in place of CONNECTIVITY
-- *
-- * Revision 1.6  1993/10/12  13:57:19  john
-- * added texture[]
-- *
-- * Revision 1.5  1993/10/12  09:58:15  mike
-- * Move Side_to_verts here from eglobal.c, since it is needed in the game.
-- *
-- * Revision 1.4  1993/10/09  15:52:30  mike
-- * Move test_pos, test_orient here from render.c.
-- *
-- * Revision 1.3  1993/10/02  18:15:45  mike
-- * Killed include of segment.h, which gets included by inferno.h.
-- *
-- * Revision 1.2  1993/09/23  17:54:24  mike
-- * Add Segment_points
-- *
-- * Revision 1.1  1993/09/23  15:01:50  mike
-- * Initial revision
-
-------------------------------------------------------------------------
-main/mission.c:
-
-- * Revision 1.4  1995/10/31  10:21:40  allender
-- * no mission support in shareware
-- *
-- * Revision 1.3  1995/10/21  22:53:04  allender
-- * moved missions to data folder
-- *
-- * Revision 1.2  1995/09/13  08:47:29  allender
-- * made to work with Chris' direct stuff
-- *
-- * Revision 1.1  1995/05/16  15:27:48  allender
-- * Initial revision
-- *
-- * Revision 2.9  1995/05/26  16:16:32  john
-- * Split SATURN into define's for requiring cd, using cd, etc.
-- * Also started adding all the Rockwell stuff.
-- *
-- * Revision 2.8  1995/03/20  15:49:31  mike
-- * Remove eof char from comment which confused make depend, causing
-- * no mission.obj: line in makefile.  Pretty stupid tool, huh?
-- *
-- * Revision 2.7  1995/03/20  12:12:11  john
-- * Added ifdef SATURN.
-- *
-- * Revision 2.6  1995/03/15  14:32:49  john
-- * Added code to force the Descent CD-rom in the drive.
-- *
-- * Revision 2.5  1995/03/15  11:41:15  john
-- * Better Saturn CD-ROM support.
-- *
-- * Revision 2.4  1995/03/14  18:24:14  john
-- * Force Destination Saturn to use CD-ROM drive.
-- *
-- * Revision 2.3  1995/03/07  14:19:41  mike
-- * More destination saturn stuff.
-- *
-- * Revision 2.2  1995/03/06  23:09:03  mike
-- * more saturn stuff: make briefings work for saturn mission.
-- *
-- * Revision 2.1  1995/03/06  16:47:48  mike
-- * destination saturn
-- *
-- * Revision 2.0  1995/02/27  11:27:49  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.14  1995/02/15  11:30:37  john
-- * Fixed bug with potential mem overwrite on line 160.
-- *
-- * Revision 1.13  1995/02/10  17:53:20  matt
-- * Changed mission name again
-- *
-- * Revision 1.12  1995/02/10  17:35:38  matt
-- * Changed name of built-in mission
-- *
-- * Revision 1.11  1995/02/07  17:13:51  allender
-- * removed return statement in load_mission so that built in mission will
-- * actually set the Current_mission_name and _filename
-- *
-- * Revision 1.10  1995/01/31  01:19:45  matt
-- * Made build_mission_list() sort missions by name
-- *
-- * Revision 1.9  1995/01/30  13:49:58  allender
-- * changed build_mission_list in load_mission_by_name to include
-- * anarchy levels.
-- *
-- * Revision 1.8  1995/01/30  13:03:51  matt
-- * Fixed dumb mistake
-- *
-- * Revision 1.7  1995/01/30  12:55:22  matt
-- * Added vars to point to mission names
-- *
-- * Revision 1.6  1995/01/22  18:57:28  matt
-- * Made player highest level work with missions
-- *
-- * Revision 1.5  1995/01/22  14:13:08  matt
-- * Added flag in mission list for anarchy-only missions
-- *
-- * Revision 1.4  1995/01/21  23:13:12  matt
-- * Made high scores with (not work, really) with loaded missions
-- * Don't give player high score when quit game
-- *
-- * Revision 1.3  1995/01/21  16:27:12  matt
-- * Made endlevel briefing work with missions
-- *
-- * Revision 1.2  1995/01/20  22:47:50  matt
-- * Mission system implemented, though imcompletely
-- *
-- * Revision 1.1  1995/01/20  13:42:19  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/mission.h:
-
-- * Revision 1.1  1995/05/16  15:59:22  allender
-- * Initial revision
-- *
-- * Revision 2.0  1995/02/27  11:31:35  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.6  1995/01/30  12:55:41  matt
-- * Added vars to point to mission names
-- *
-- * Revision 1.5  1995/01/22  18:57:21  matt
-- * Made player highest level work with missions
-- *
-- * Revision 1.4  1995/01/22  14:13:21  matt
-- * Added flag in mission list for anarchy-only missions
-- *
-- * Revision 1.3  1995/01/21  23:13:12  matt
-- * Made high scores with (not work, really) with loaded missions
-- * Don't give player high score when quit game
-- *
-- * Revision 1.2  1995/01/20  22:47:53  matt
-- * Mission system implemented, though imcompletely
-- *
-- * Revision 1.1  1995/01/20  13:42:26  matt
-- * Initial revision
-
-------------------------------------------------------------------------
-main/modem.h:
-
-- * Revision 1.2  1995/09/05  14:06:40  allender
-- * checkpoint again
-- *
-- * Revision 1.1  1995/05/16  15:59:29  allender
-- * Initial revision
-- *
-- * Revision 2.1  1995/03/21  14:40:38  john
-- * Ifdef'd out the NETWORK code.
-- *
-- * Revision 2.0  1995/02/27  11:31:34  john
-- * New version 2.0, which has no anonymous unions, builds with
-- * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
-- *
-- * Revision 1.18  1994/11/22  17:12:05  rob
-- * Starting working on secret level fix for modem games.
-- *
-- * Revision 1.17  1994/11/17  16:43:17  rob
-- * Added prototype for com_level_sync function.
-- *
-- * Revision 1.16  1994/11/15  21:30:32  rob
-- * Added prototype for new menu hook.
-- *
-- * Revision 1.15  1994/10/07  16:15:33  rob
-- * Changed calls to multi_send_position.
-- *
-- * Revision 1.14  1994/10/07  12:52:24  rob
-- * Fixed some problems.
-- *
-- * Revision 1.13  1994/10/07  11:25:47  rob
-- * Tried to fix modem to work with new multi stuff.  Still a bit jacked up, tho.
-- *
-- * Revision 1.12  1994/10/05  19:14:50  rob
-- * Exported macros and arrays to support network object mapping.
-- *
-- * Revision 1.11  1994/10/05  17:48:59  rob
-- * Several changes, most to end_of_level sequencing.
-- *
-- * Revision 1.10  1994/10/05  14:22:54  rob
-- * Added com_end_level.
-- *
-- * Revision 1.9  1994/09/30  18:37:22  rob
-- * Another day's worth of work.  Mostly menus, error checking.  Added
-- * level checksums during sync, carrier detect during all com calls,
-- * generic com_abort() procedure for bailing out, and nm_messagebox
-- * handling of QUIT instead of HUD message (which never gets seen).
-- *
-- * Revision 1.8  1994/09/29  20:55:16  rob
-- * Lots of changes.
-- *
-- * Revision 1.7  1994/09/29  16:09:20  rob
-- * Added explode stuff.
-- *
-- * Revision 1.6  1994/09/28  14:31:08  rob
-- * Added serial setup menu.
-- *
-- * Revision 1.5  1994/09/27  15:02:49  rob
-- * Null modem basic routines working.  Sending DEAD messages and
-- * missiles still need to be done.
-- *
-- * Revision 1.4  1994/09/24  16:52:33  rob
-- * Added stubbed funcs for startup and stop of serial games.
-- *
-- * Revision 1.3  1994/09/24  14:47:31  rob
-- * New function protos.
-- *
-- * Revision 1.2  1994/09/22  17:53:29  rob
-- * First revision, not yet functional.
-- *
-- * Revision 1.1  1994/09/22  12:39:25  rob
-- * Initial revision
-
-------------------------------------------------------------------------
-main/morph.c:
-
-- * Revision 1.5  1995/08/23  21:36:10  allender
-- * mcc compiler warnings fixed
-- *
-- * Revision 1.4  1995/08/12  11:34:19  allender
-- * removed #ifdef NEWDEMO -- always in
-- *
-- * Revision 1.3  1995/07/28  15:39:51  allender
-- * removed fixdiv thing
-- *
-- * Revision 1.2  1995/07/28  15:21:23  allender
-- * inverse magnitude fixup thing
-- *
-- * Revision 1.1  1995/05/16  15:28:05  allender
-- * Initial revision
-- *
-- * Revision 2.1  1995/02/27  18:26:33&n