MHQuake Source Code Readme
==========================

===========================================================================================================
UPDATE:
Well, not quite.  This is pretty out of date now, things have moved on a bit since I originally wrote it a
few months back.  If something doesn't work as described here, it's either been changed or removed since.
There's some stuff added since too that isn't in here.  I'll write a more up to date readme before the next
major release.
===========================================================================================================

This source code is in the process of being stripped to the bone.  All unnecessary legacy functions are being
removed, all non-GLQuake code is being removed, all PARANOID and IDGODS code is being removed.

A lot of stuff has been completely rewritten (see the Engine readme for why) and in time a lot more will be.

I've compiled all the assembly language files as a static library and linked that, so there's no longer any
need to mess around with that gas2masm thing, and you should be able to compile MHQuake successfully if you
don't have MASM.  The assembly language files and the gas2masm project are no longer being included in any
MHQuake release - basically because it doesn't use them!  The source code for them remains identical to ID's
released versions, if you want it.

I've compiled MHQuake using the February 2003 MS Platform SDK Headers and Libs, and built using MS Visual
Studio .NET 2003 - I've migrated all of my code to this platform, as it's a far superiour build environment,
and offers optimisations for more recent CPUs.  MHQuake is still a native Windows app - there is no .NET
code in here.

Every released MHQuake executable is a fresh build (i.e. using "Rebuild") so there is no incremental
linking, etc in the released executable.

3 build configurations are available:
	GL Debug: used for debugging.  No optimisations.
	GL Development: used for development work, a few optimisations are turned off and incremental
		linking is enabled to get a faster build time.
	GL Release: used for the final release.  All MHQuakes you download are built with this config.  Fully
		optimised and no incremental linking.

There are certain coding conventions I grew up with and have come to like over the 15 odd years since I first
learned C - stuff to do with positioning of braces, tabs, spacing, etc.  In most cases where I've modified an
existing function I've first gone through it and adjusted it to what I find readable.
