
                              THE HISTORY OF SAGE
 ----------------------------------------------------------------------------


 Beta 7, June 19, 1998
 ---------------------

 More bugs were discovered and fixed.

 - The color of the World Map are now world-definable, thanks to four new
   status bytes, all relating to the world map.

     ~19 : Land                       (defaults to 2 (green))
     ~20 : The area surrounding land  (defaults to 0 (black))
     ~21 : Yourself                   (defaults to 15 (white))
     ~22 : Others                     (defaults to 10 (bright green))

 - GIVEITEMU and DROPITEMU did not update the screen correctly in worlds
   with map windows not beginning at position (1,1) (eg. The Lost Planet).

 - Switching between worlds (or exiting one world and entering another) is
   more secure and "clean", meaning when you enter a new world there should
   be no remenants of the last world you entered.

 - Modified FILE_ID.DIZ. Also included SMALLAD.ANS for those who prefer to
   have a smaller file than AD.ANS advertising Sage on their BBS.


 Beta 6, June 13, 1998
 ---------------------

 Aside from those mentioned, very few bugs were reported so if all goes well,
 this may be the final Beta. Please report all bugs to beau@corplink.com.au.

 - Sage's terminating routines, which performed important tasks such as
   deleting a player's internode messages and saving the player file was
   removed for testing purposes but accidentally not re-implemented before
   the release of Beta 5. Everything is back to normal now.

 - To Sysops who would like to customise their copy of Sage, the INDEX.FLS
   file has been documented more fully now so you can understand how it works.
   Why not change some colors of prompts or even create your own ANSI to be
   displayed at the top of the screen when a player selects a world?

   Once you've made changes to the INDEX.FLS file, download FLC and type
   "FLC index" to compile the script to INDEX.FLE.

 - The #INTROx labels in INTROS.ANS were changed to LOGOx to make the
   distinction between the filename and the labels clearer.


 Beta 5, June 5, 1998
 --------------------

 Many changes in this version, in fact so many I'm a little unsure of it's
 stability. I designed a method to get around a Pascal limitation which, to
 my surprise, is working well so far.

 As always, the most recently implemented changes are first. Some small bug
 fixes aren't mentioned.

 - A massive, previously undiscovered (or should I say, unreported) bug was
   found whereby Sage Error 204 was reported when switching between worlds on
   systems with limited memory capacity. This should no longer be a problem.

 - When testing an FLE with SAGE /RUN <filename[.FLE]> the ~3 and ~4
   variables were 0, now they're filled with the X and Y positions of the
   cursor on the screen before the FLE is run.

 - New status variable: ~18 (current text attribute).
   The current foreground color will always be (~18 % 16), and
   the current background color will always be (~18 / 16).

 - As well as all the usual files, Sage now deletes all files beginning with
   a "$" (ie. $*.*) when reseting a world. So if you are a developer of an
   IGM or World, name your temorary files with a $ at the start and Sage will
   delete those files when the game is reset (SAGE /RESET <worldpath>).

 - DELAY now gives up more time slices to other tasks while it delays
   (one per second)

 - You can now use ascii characters, even the non-printable ones, in your
   text. This is done with the close square brackets (]) character, followed
   by the ascii value of the character.

   For example: (this is how you can hide the cursor in FLC)

       WT "`R0`0]8"  ; In black background and foreground, display the 
                      ; character. The ]8 denotes ascii character 8, so the
                      ; cursor backs up over the  char where it's hidden

 - New FLC commands added (see FLC.DOC for more info on these):

      BACKUP x       Moves the cursor back x places
      HALTFLE        Same as HALT, but ignores unsatisfied GOSUB commands
      ASC x          Gets the ascii value of a character, puts it into ~5
      GC             Same as GETC, but waits for *any* normal keypress.
      KBDSTUFF x     Stuffs the keyboard buffer with a character
      FG x           Set foreground color
      BG x           Set background color

   For those who care: the newly introduced BACKUP and KBDSTUFF commands have
   the exact same effect as their namesake cousins in PCBoard's PPL language.

 - You can now call an FLE file from a string. This is a new feature which
   further expands Sage's flexibility.

   Eg. WT "!!*3ENTER" .. is the same as .. CALL "*3ENTER"

   This allows the use of animated prompts such as the Enter prompt.
   Note: Currently this only works with the WT and WL commands.
   You can't use this method from within a text file being displayed.
   I'm planning on implementing that in Beta 6.

 - A status bar bug would scramble the screen of players with more than 999
   minutes remaining in Sage. This is another DDPLUS bug which I hadn't
   noticed. Thanks to Demon Knight and David Zhao for this bug report!

 - INDEX.FLE now says "Loading (worldname).." while a world initialises.
   If you play the world twice in a row the message will probably flash by so
   fast you won't see it, because most of the processing will be in your
   computer's cache.

 - The IGM.EXE utility was still running to Sage Beta 2's specs. Now works
   with Betas 3 and up.

 - The CENTER command once again fixed, hopefully for the final time.


 Beta 4, May 9, 1998
 -------------------

 Without my knowledge, someone distributed a copy of Beta 3 about two weeks
 before it should have been released. The early copy didn't work, which led
 people to beleive it was faulty and ignore the public release of Beta 3.

 Anyway, here's what's new in Beta 4:

 - Lots of bugs relating to running Sage remotely (as a BBS door) were fixed.

 - ATTRIBS.TXT was not written to if there was an error (which caused
   problems because the only time you need to look at the file is when you
   have an error).

 - The /L switch would not force Sage to ask for your name (fixed).

 - Sagecfg modified: it now tells you when a new NODEx.CFG file is created,
   and bugfixed: the Fossil menu had a blank status bar.

 - More timeslices are given up while waiting for a keypress, making multi-
   tasking smoother.

 - Centering strings fixed.


 Beta 3, April 29, 1998
 ----------------------

 A major reworking. Here's a chronological list of changes (the most recently
 implemented changes are first):

 - The supposedly "machine-independant" delay procedure I was using was not
   so machine-independant, so I'm trying another one which uses no ASM code.

 - The random number seed was not regenerated each time Sage was run (fixed).

 - Added support for "Special" spots. See SPECIALS.DOC in the new Worldmgr
   for an explanation of this feature.

 - Sage now checks for SHARE.EXE before running in Multinode mode. Also,
   running Sage without SHARE.EXE is now much faster.

 - The Unregistered scope has been removed. Unregistered copies of Sage can
   now access all 14,400 map screens. The 1000 turn limit per day remains.

 - "Turns remaining" was constantly being reset to 1000 whenever an FLC
   command attempted to change it in Unregistered copies (fixed).

 - Sage is now configured with a configuration utility, "Sagecfg".

   There are now two different configuration files: SAGE.CFG and NODEx.CFG.
   SAGE.CFG is used for every node, while NODEx.CFG is specific to each node.

   When you decide to configure, for example, node 2 in Sagecfg, the "BBS
   Setup" and "Fossil" menus are filled with the data from NODE2.CFG. The
   other menus do not change, do not configure them for each node. When node
   2 of Sage is loaded, SAGE.CFG and NODE2.CFG are read.

 - Items work faster now when you collect them, and updating the screen with
   other players is now faster. There was some unnecessary file access to
   ITEMS.DAT that went unnoticed.

 - Sage now supports a five second "hook". Basically this means that an FLE,
   namely HOOK5.FLE, is executed every five seconds while you're in the map
   screen. This is only possible due to the high speed of FLE execution and
   runtime.

 - I found (and fixed) a HUGE bug in the DDPLUS door toolkit which all DDPLUS
   users should know (if they don't already). E-mail me for the details.

 - One new commands was changed and one was added to FLC and subsequently
   implemented in the Sage engine as well. FLC now supports 125 commands.

   New command: RANK <global var> - gets the rank of a player in the current
   game according to the global variable you specify, and puts it into ~5.

   The SM command, which previously displayed the world map in an 80 x 20
   window, now requires the FLC programmer to specify the window co-ordinates.

   New format: SM x1, y1, x2, y2

   Eg. SM 10, 5, 20, 15 would display the world map between the screen
   co-ordinates (10, 5) and (20, 15).

   The following have also been updated to support the new changes:

   FLC
   The Seven Sages

   And check out the new world: "The Lost Planet" on the Flax Software
   website which makes use of both these two new commands, and HOOK5.FLE!


 Beta 2, April 6, 1998
 ---------------------

 Two changes.

 As many of you discovered, on occassion Sage would cause a protection fault
 in the OS when hailing another online player. This has been fixed.

 There has been a major reconstruction of the WORLD.DAT file. It's now split
 over two files, SWORLD.DAT (which holds the world information, template
 screen and map indexes) and SMAP.DAT (which holds the map screens). This
 makes Worldmgr more secure. Due to this format change you will need to get
 version 2 of The Seven Sages world. L2toSage has also been updated.


 Beta 1, April 1, 1998
 ---------------------

 First Release
