
                             THE HISTORY OF FLC
 ----------------------------------------------------------------------------


 Version 1.05, September 7, 1998
 -------------------------------

 - The LD and LDE commands have swapped purpose. LDE now means "Load Exact".
   LD evaluates text, replacing the variables contained within the string
   with their values. LDE does not evaluate, it loads a variable with literal
   text, and does not replace the variables contained within the string.

   Example of the difference:

   LD  $2, "Beau"        ; $2 becomes "Beau"
   LD  $1, "Hello, $2"   ; $2 becomes "Hello, Beau"
   LDE $1, "Hello, $2"   ; $2 becomes "Hello, $2"

   This switch makes programming easier for FLC authors and also fixes a bug
   with the LJUST, RJUST and CENTER commands that could not have been solved
   the other way.

   What this means to world authors
   --------------------------------

   1. You'll need to replace all instances of LDE with LD in every FLS file.

   2. The line "LD *6" in MAIN.FLS should be changed to LDE because the
      literal (exact) text should be placed into *6 without replacing the
      variables with text.

   3. Recompile all FLS files (you don't need a new FLC).

   Once these changes have been made, please release your updated worlds ASAP.
   If you have problems, send the world to me and I'll update it for you.

 - CENTER command fixed again.

 - Four new commands. These commands require Sage Beta 9 to function.

  IDF_INC <f>, <pos>         (IDF Increment)
  IDF_DEC <f>, <pos>         (IDF Decrement)
  LDF_INC <f>, <pos>         (Long IDF Increment)
  LDF_DEC <f>, <pos>         (Long IDF Decrement)

      Increment/Decrement the value stored at position <pos> (type nexpr)
      in <f> (a filename, type sexpr).

      See "About IDF Files" in FLC.DOC for more information.

 - The information for the STRCAT command in FLC was incorrect.
   Here's the correct usage for the STRCAT command:

  STRCAT <str1>, <str2>      (String Concatenate)

      Concatenate two strings (append <str2> (type sexpr) to <str1> (type
      svar)). This can also be done with the LD command, ie:

      STRCAT $1, $2

      is the same as;

      LD $1, "$1$2"

 - The information for the GETS command in FLC.DOC was incorrect.
   Here's the correct usage for the GETS command:

  GETS <s> <len>             (Get String)

      GETS reads a string of <len> (type nexpr) chars in length, into
           <s> (type svar).

           A list of valid characters that may be input into the string
           is held in Status String 13 (*13).

           Eg.  GETS *1, 30
                GETC "YNyn"


 Version 1.03, June 5, 1998
 --------------------------

 - New 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.

 - Some information was left out of FLC.DOC.

  GETC <valid>               (Get Character)

      GETC reads a single character into *5, and the ordinal value of the
           character into ~5. The character may be the Enter key, Backspace,
           or any character listed in <valid> (type sexpr).

  RDF <str>                  (Read File)
  RLF <str>                  (Read File Line)

      RDF and RLF set ~5 to the file's EOF (End Of File) status
      after reading the file (1 = True, 0 = False).

 - The NL and FL commands were listed in FLC.DOC as NEWLINE and FRESHLINE,
   which was changed a few versions ago.

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


 Version 1.02, April 29, 1998
 ----------------------------

 This version creates FLE's for Sage Beta 3. If you have an older version
 of Sage, download the lastest from the Flax Software website (see FLC.DOC).

 VARS.DOC has been revised. If you "don't understand what all this ~5 stuff
 means", as a lot of you seem to, it should make things clear.

 Occasionally the CENTER command would append one extra space character after
 centering a string (fixed).

 One new command 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:

 The Sage Engine
 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! Source is also available.


 Version 1.01, April 4, 1998
 ---------------------------

 The incorrect FLC.EXE was included in 1.00, which was many builds old.


 Version 1.00, April 1, 1998
 ---------------------------

 First Release
