		     UFO/XCOM saved game editors
			BASE.EXE documentation
Program requirements:
	* 286 computer running DOS 3.0 or later (talk about crazy ...
	  UFO needs a 386, so this should be redundant... :) )
	* Memory - not sure how much, so call it 640K :) ;)

  This  program  is  FREEWARE.  NO  warranties  are  made  as  to  its
suitability to any particular task, or to any limitations thereof. You
may freely copy, distribute, etc. this program. You may NOT decompile,
reverse engineer,  etc. the  code of this program. Should you have any
suggestions, send them to me and I'll try to incorporate them into the
next version.  The source  code is  not likely  to be  released, but I
might be persuaded... :)

  Having got that out of the way...

  This program  is intended  to be  used as  an editor of the BASE.DAT
portion of  the UFO saved game. It should be fairly straightforward to
use. If  you need  any help,  F1 will  bring up  a (rather terse) help
screen. Upon  loading the  program, you  will be prompted to enter the
saved game  you wish  to edit.  If there  is no  saved  game  in  that
directory, you  will be  told as  much. You  should run  this  program
whilst in the UFO directory, but the BASE.EXE file does not have to be
in that  directory -  anywhere in the DOS path is fine. When typing in
your choice,  remember that typing "1" to "9" corresponds to that same
saved game; typing "0" corresponds to saved game "10".

  The arrow  keys will  select the  type of  construction you  wish to
place (up/down)  and which  base you  want to  put it in (left/right).
Press Enter  to start  positioning the structure. At this stage, there
is *no*  checking that  you are  placing  the  structure  in  a  legal
position, or  even that you can place it there - it will be put there,
and woe  betide all  construction underneath the new location... :) In
all cases,  except the  HyperWave decoder, the facility will be placed
fully built.  The decoder,  for some  reason, will  not work  properly
unless its  construction is  carried out  "normally" (ie, at least one
day.) Thus, it will need one day until it is fully constructed.

  The base  display is text-based. Except for hangers, the name of the
facility in  a square  is printed inside that square. Hangers are also
printed in  this manner,  except that  there are four squares printed:
"Hanger (UL)",  "Hanger (UR)", "Hanger (LL)", "Hanger(LR)". These mean
the "Upper  Left", "Upper  Right", "Lower  Left",  and  "Lower  Right"
squares, respectively.  If you  don't understand  this, don't  worry -
it'll be clearer inside the program.

  If you  want all your bases to be identical, you can easily copy one
base to  all the  others. To perform this function, press "C" from the
facilities editing screen.

  There is also mouse capability built into the program. If your mouse
driver is  installed,  it  will  be  sensed,  and  the  mouse  support
activated automatically.  To position an object, click on the building
to be  built, followed  by the location on which to build. If you need
to construct  multiple buildings of the same type, there is no need to
reselect the  type of  building -  just click where you want it to go.
When positioning  hangers, click  on the location where the *top left*
corner is  to be  placed. Note,  however, that  you cannot enter a new
name using  the mouse  alone. (I  didn't feel  like printing the whole
alphabet on screen... :) )

  In the stores editor, mouse support is limited to selecting the type
of stores  to change.  Again, you  must type  the  new  value  on  the
keyboard.

		       Editing the base stores
		       ~~~~~~~~~~~~~~~~~~~~~~~

  This version  now implements stores editing. Press "S" from the main
editing screen, and you will be able to change the stores' contents to
your heart's content. For all fields, except scientists and engineers,
the maximum value is 65535; scientists and engineers can reach 255.

  A word of warning: As of January 1 1995, AARNet (Australian Academic
Research Network)  will be  changing (read:  increasing) its  charges.
Instead of  charging a  FLAT CONNECTION  RATE, there  will  be  a  PER
MEGABYTE CHARGE.  "So what?"  you might ask. Well, AARNet is the route
Monash University uses to link to the InterNet. It is still unclear as
to how  this will affect the students' access to the InterNet, but FTP
access is  almost certainly  "out"; mail  *might* be  cut; etc.  As  a
result, you can *try* the InterNet addresses during '95, but you might
get a  bounced message.  My course will *definitely* finish by the end
of 1999,  and, possibly  (if I  choose not  to do  honours)  in  1998.
Therefore, even  if the  mail addresses  hold through  1995, they will
*not* work  during 2000  or the  21st century.  (Yes, I do hold to the
idea that  2001 is  the  first  year  of  the  21st  century...:).  To
summarise this paragraph:

  The mail  addresses might  not work  after this (1994) year. If they
do, they  might not  during 1999.  They definitely will not during and
after 2000.

  Despite the  above comments,  I would  love to  hear from you if you
have any  comments, criticisms,  suggestions, etc.  My InterNet  email
addresses, together with their pros and cons, are:
    sjlam1@mfs01.cc.monash.edu.au (less space for incoming mail; read
				   more often)
    lamble@yoyo.cc.monash.edu.au  (more likely to get through to me; I
				   only usually use this account for
				   FTP'ing, though. In other words,
				   expect a response from the mfs
				   account.)

			   Revision History
			   ~~~~~~~~~~~~~~~~
Version 1.0
~~~~~~~~~~~
  Initial release.

Version 1.01
~~~~~~~~~~~~
  Not generally  released to  those who  had version 1.0 (2.0 was well
under way...). Fixed a bug in saving - BASE.DAT would be left "as is",
and the  new file was named BASE.NEW, owing to a mistake in coding the
renaming routines. :(

Version 2.0
~~~~~~~~~~~
  Not released - 2.01 was written within twelve hours.

  Introduced stores editing

  Introduced "duplicating"  ability -  the ability  to copy  an entire
base structure, excluding stores and the name, to all other bases that
have so far been constructed.

  Other problems from version 1.01 remain unfixed...

Version 2.01
~~~~~~~~~~~~
  Modified the program so that only existing bases can be selected.

  Modified copying procedure to copy the stores as well.

  Can now specify the saved game to edit on the command line.

  Fixed the  wrap-around problem with inserting a facility into a base
- if the cursor was on the right-hand side of the screen and the right
arror was  pressed, or  the cursor was on the bottom of the screen and
the down arrow was pressed, the cursor would not be placed properly.

Version 2.02
~~~~~~~~~~~~
  Fixed a  bug in the stores - the number of given items in the stores
would not appear in the correct location. Eg: where "Blaster launcher"
is displayed,  the number  beside it  would actually  be for  "Blaster
bombs".

Version 2.10
~~~~~~~~~~~~
  Added mouse support.

  Finally found  (and fixed...  :) )  the bug in copying bases. <sigh>
Why can't computers do what I mean, not what I say? :) :) :)

  In  fixing   the  bug   (version  2.02),   I  managed  to  introduce
another...entering a  new value  for,  say,  "small  launchers"  would
actually change  the value  for "stun bombs." <sigh> When will I learn
to test before I release? :) :) :)
Version 2.11
~~~~~~~~~~~~
  One bug fix - in implementing mouse support, I also sought to reduce
the screen flicker which occurred when placing an object in a base. In
doing so, though, I forgot to fix the calls to edit the store, and get
help -  if you  selected these with the keyboard, the screen would not
look very  pretty upon  return. :)  The  mouse  selection  worked  OK,
though. This  has been  fixed. (I  repeat my  earlier statement  about
testing... :) )

Known version 2.11 problems
~~~~~~~~~~~~~~~~~~~~~~~~~~~
  No  checking  that  the  new  facility  is  connected  (directly  or
indirectly) to the access lift.

  (related to #1) No checking that removing a facility does not remove
the connection to the access lift for some other facility.

  Stores: How  the (live)  alien fields  work is  unknown. I  suspect,
however, that  they are  not used  within the  game,  and  live  alien
information is stored inside another file. All fields printed in grey,
rather than  white, are  not entirely  clear. I'm  trying to figure it
out...
