
                              ÄÄÍÍ Galaxy 5 ÍÍÄÄ
                      Copyright (c) 1996 Thomas J. Smith

     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      This text file explains the use of Xports, how to install and use
      them, and how to go about creating your own!
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      For a complete listing of data file structures, formats of all of
      the drop files that G5 creates, and a complete list of color, and
      other codes, unzip the G5_STRUC.ZIP archive. Everything 3rd party
      programmers need is located in this archive!
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ


                                 HOW THEY WORK
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      In order to explain this in the simplest way, I will use an
      example. Lets say Joe SysOp just downloaded an Xport called
      "Hermans World." First, Joe unzips the file he just downloaded to
      a temporary directory (or the directory he wishes the Xport to be
      installed to). Then Joe will read the docs that came with the .ZIP
      file first (or will he?). In the docs, Joe will find that all he
      needs to do to install this Xport, is run the INSTALL.EXE program
      included with the .ZIP file (or other installation method). The
      install program then puts all the necessarry files in their proper
      places, and writes the needed info to the XPORTS.DAT file in Joes
      main Galaxy 5 directory.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      Now to use the Xport, Joe logs on to Galaxy 5 either locally, or
      by logging on to his BBS locally, and running the game from there.
      From the main menu (Lexor Street, or whichever planet he is on),
      Joe will choose the option, "(X)port to another place." Then he is
      taken to a menu listing all of the Xports he has installed. If he
      only installed one Xport, then only the name of that one Xport
      will be listed as number (1). Joe then presses 1 to go to this
      Xport, and wala! Thats all there is to it. After Joe is done using
      the Xport, Galaxy 5 reloads, and picks up from the Xport menu
      where it left off, and deducts the time that Joe was in the Xport
      from his time left in the game!
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      Then later (or right after trying it), if Joe finds that he does
      not like this Xport, he runs the UNINSTAL.EXE program that came
      with the Xport (or whatever program the Xports docs point him
      to), and the game is "uninstalled!"
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ


                                     Q & A
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
       Q. What is an Xport?
      ----------------------
       A. An Xport is an external program (door) created by third
          party programmers for use in your Galaxy 5 game. They can
          be run directly from within the game, without any special
          setup on the SysOps part!
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
       Q. Where can I find an Xport?
      -------------------------------
       A. I currently have a collection of a few Xports and utilities
          at my web site. Both those created by me, and those created by
          other authors. Visit
          http://www.geocities.com/SiliconValley/Heights/2233

          Depending on how well Galaxy 5 does with popularity, it may or
          may not be hard to find an Xport.  However, I have created a
          freeware Xport named "The Inscribers Guild." It allows players
          to personalize their Armour, Weapon, and Space Craft at a
          price the SysOp sets. SysOp can also disallow personalizing of
          any of the three items mentioned.  Look for SCRIBE??.ZIP
          (where ?? is the version number).
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
       Q. If I find one, how do I set it up?
      ---------------------------------------
       A. It should be extremely simple to set up. As a ground rule,
          any Xport created by a third party programmer, must come
          with an easy to use install program, and easy to use
          "uninstall" program in case the SysOp does not like it, or
          needs to remove it for some reason. The SysOp installing the
          Xport, should not have to do anything else but run the
          INSTALL program that comes with the Xport!
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
       Q. What if an Xport I installed doesn't work properly?
      --------------------------------------------------------
       A. Read the docs that came with it. If the author(s) of the Xport
          provides support for the program, then follow their
          instructions on how to obtain that support. It is beyond my
          ability to help with problems concerning someone elses
          program! :) If all else fails, remove the Xport from your
          game. If the Xport just happened not to come with an
          uninstall program, then remove the two lines in the
          XPORTS.DAT file that pertain to that Xport.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
       Q. I write doors, how can I make an Xport?
      --------------------------------------------
       A. If the door writing kit that you use supports the Quick BBS
          drop file format (DORINFO*.DEF where * is the node number),
          then you may already have what you need to write your own
          Xport! Galaxy 5 creates 3 drop files before running an Xport,
          one of which is a DORINFO*.DEF compatible drop file. Figure
          out some way to have your Xport read this drop file (located
          in the TEMP subdirectory), and it -should- be all you need!
          If this doesn't work for you, if you have the source code to
          your door writing kit, then you may be able to add a procedure
          or function that will read the door info that it needs from
          one of the G5 drop files. Other door writing kits that are
          directly supported are UrDoor, and the DDplus door driver kit.
          Read the next section, "Creating Your Own Xports." It explains
          everything you need to know!
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ


                           CREATING YOUR OWN XPORTS
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      ** Unzip the G5_STRUC.ZIP archive!! It contains everything you
         need to know!!! ;>
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      If you do not program in Turbo Pascal, and would still like to
      make an Xport for Galaxy 5, then refer to the G5_STRUC.ZIP
      archive. Galaxy 5 creates a plain text drop file containing the
      callers full record information, in which you can make changes to,
      and Galaxy 5 will accept the changes upon returning from your
      Xport.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      Before your creation(s) can be "officially" called Xports, you
      must follow these 3 simple rules:
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      1 þ It must come with an easy to use install program, and an easy
          to use uninstall program. These can be implemented as separate
          .EXE's, or as command line switches in your game, or whatever.
          What the install program must do, is place its game files in
          the proper directory (preferably its own directory off of the
          main Galaxy 5 directory), and write its needed two lines to
          the XPORTS.DAT file located in the main Galaxy 5 directory.
          The XPORTS.DAT file, is a regular text file, listing the name
          of your Xport as it will be shown to callers first, and then
          the command line you want passed to your door when a player
          uses the Xport on the second line. Here is an example,

          ~0B~T~01~he ~0B~I~01~nscribers ~0B~G~01~uild
          C:\DOORS\GALAXY5\SCRIBES\SCRIBES.EXE ~UN~

          In the above example, the characters in between the tilde (~)
          signs are codes used by Galaxy 5. ~01~ tells G5 to set the
          color following to blue, ~0B~ tells G5 to set the color
          following to light cyan (see "Galaxy 5 Codes" for a complete
          list of color codes), and ~UN~ is a user variable. In this
          case, it will be replaced by the node number the current
          caller is on. So the command that will go into the batch file
          that calls this Xport, would be,
          C:\DOORS\GALAXY5\SCRIBES\SCRIBES.EXE 1, if the caller was on
          node 1. There are many other user variables you can use in
          the XPORTS.DAT file to use on your Xports command line, and
          they are all listed below in the section, "Galaxy 5 Codes."
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      2 þ Your Xport must get all of its caller info from one or more of
          4 sources,
                    a. The user variables placed in the XPORTS.DAT file
                       on the command line for your Xport.

                    b. The DROPFILE.* file which G5 creates for each
                       caller online (* is the callers node number).

                    c. From the NODE*.DAT file which G5 also creates for
                       each caller online (again, the * will be the node
                       number that the caller is on).

                    d. The DORINFO*.DEF file which G5 also creates for
                       each caller online. Same as the above two, the
                       star will be the node number.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      All of the three drop files created, are placed in the TEMP
      subdirectory. So if your Galaxy 5 game is in C:\DOORS\GALAXY5,
      then the drop file directory would be C:\DOORS\GALAXY5\TEMP.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      The format of the three drop files created can be found in the
      G5_STRUC.ZIP archive. Your Xport must NOT read a BBS drop file!
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      3 þ Please do not charge more for your Xports than what it costs
          to buy Galaxy 5 (15 bucks).
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      If you have no means of doing this with the door writing kit that
      you are using, then try to find some way to implement your own
      procedure to read the caller info from the DROPFILE.* drop file
      (or one of the others), instead of your door kit looking for the
      BBS drop file.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
                                A FEW POINTERS
                               ----------------
      1 þ Don't make an Xport that gives the players mucho amounts of
          "stuff." This makes the game no fun when the player has done
          everything they can possibly do before they are even half way
          through the game!

      2 þ Try to keep a look and feel that the players are familiar
          with. This is not a must, but its no fun for a player to enter
          an Xport and be totally lost! At the least, make it easy to
          navigate.

      3 þ Your Xports can do almost anything! Consider the fact that the
          game takes place in a futuristic space age setting. Using that
          you can have time tunnels that take callers back to medieval
          times, transporters that take them to other galaxies, a bus
          station that leads to your own planet, or just a new place on
          the planet they are on.  The only limit is your imagination!
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ


                                GALAXY 5 CODES
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      Listed here are all of the codes that you can use on the command
      line for your Xport in the XPORTS.DAT file. For a full, complete
      listing of all Galaxy 5 codes, unzip G5_STRUC.ZIP and read the
      G5_CODES.TXT file.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
                                  Color Codes
                                 -------------
      Color codes can be used on the line in the XPORTS.DAT file that
      lists the name of your Xport, not on the command line for your
      Xport! Here is the format for color codes,
                                                ~BF~
                                                 ³ÀForeground color
                                                 ÀBackground color

       Background Colors                     Foreground Colors
      -------------------                   -------------------
       0 = Black                             0 = Black
       1 = Blue                              1 = Blue
       2 = Green                             2 = Green
       3 = Cyan                              3 = Cyan
       4 = Red                               4 = Red
       5 = Magenta                           5 = Magenta
       6 = Brown (dark yellow)               6 = Brown (dark yellow)
       7 = Light Gray                        7 = Light Gray
       8 = Black (blinks foreground)         8 = Dark Gray (light black)
       9 = Blue (blinks foreground)          9 = Light Blue
       A = Green (blinks foreground)         A = Light Green
       B = Cyan (blinks foreground)          B = Light Cyan
       C = Red (blinks foreground)           C = Light Red
       D = Magenta (blinks foreground)       D = Light Magenta
       E = Brown (blinks foreground)         E = Light Yellow
       F = Light Gray (blinks foreground)    F = White
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
                                USER VARIABLES
                               ----------------
      These codes can be used to pass caller information to your Xport
      in the XPORTS.DAT file. Each user variable contains a U as the
      first character, and the second character will be whatever you
      want passed to your Xport. Listed below are the user variables.

      ~U*~
       ³ÀFill this in with one of the characters below
       ÀU (for user)

      E = Will be replaced with either TRUE or FALSE, for "Keep a log of
          errors?"
      I = Will be replaced by the IRQ number.
      C = Will be replaced by the COM port number.
      B = Contains the callers baud rate.
      F = Holds the users first name.
      L = Users last name.
      D = Full path and file name of DROPFILE.* file for this caller.
      P = Full path and file name of NODE*.DAT file for this caller.
      R = Full path and file name of DORINFO*.DEF file for this caller.
      N = Node number this caller is on.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      Here is an example using the user variables listed above. If I put
      this command line in the XPORTS.DAT file as the command line to be
      passed to my door,

      C:\DOORS\GALAXY5\XPORT.EXE ~UN~ ~UD~

      Then if a caller used the Xport from node 2, then the above
      example would be passed to my door looking like this,

      C:\DOORS\GALAXY5\XPORT.EXE 2 C:\DOORS\GALAXY5\TEMP\DROPFILE.2
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      When a caller chooses to use an Xport from within the game, a file
      is created in the temp directory called XPORT*.BAT where * is the
      node number the caller is on. Galaxy 5 exits with an errorlevel of
      255. Then, in the G5.BAT file, it detects this errorlevel, and in
      turn, executes XPORT*.BAT. Then after XPORT*.BAT is done, Galaxy 5
      reloads, gathers how many minutes the caller was in the Xport, and
      subtracts those minutes from the callers time, so as to keep a
      proper balance in the callers time allowed in the door. Then the
      caller is returned back to the Xports menu, right where he/she
      left off. But you really needn't pay any attention to any of this
      to write an Xport, this is all done by Galaxy 5 with no help from
      you! :)
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ


                           ALLOWING OVERNIGHT STAYS
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
      If you wish to allow players to stay the night in your Xport, then
      here is what you need to do...

      1) Upon exiting your Xport, first create a file named EXITGAME.#
         where # is replaced by the node number. This file does not have
         to contain anything special, in fact, it can even be a 0 byte
         file. Simply put, if it exists, then the game will exit upon
         returning from your Xport.

      2) Create a record in the XPORTINF.DAT file, located (or will be)
         in the DATA subdirectory. The format of this file is given in
         the G5_STRUC.PAS file located inside the G5_STRUC.ZIP file. If
         this file does not yet exist, then you must create it. If it
         does exist, then add a record to it for the current player,
         then forget about it. G5 will handle altering and removing the
         record as it continues with the player.

      3) Thats it! The game will exit when your Xport is finished, and
         the next time the caller plays G5, he/she will be taken directly
         to your Xport.

      I know this is not the best way, but I did not want to change the
      structure of the PLAYERS.DAT file (this would have been easiest).
      If I did that, then all Xports and utilities that use the
      PLAYERS.DAT file, would also have to be updated, and SysOps would
      not be able to use them until they were updated.
     ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ


                                þ END OF FILE þ
