text: /* File: h-config.h */
  
  #ifndef INCLUDED_H_CONFIG_H
  #define INCLUDED_H_CONFIG_H
  
  /*
   * Choose the hardware, operating system, and compiler.
   * Also, choose various "system level" compilation options.
   * A lot of these definitions take effect in "h-system.h"
   *
   * Note that most of these "options" are defined by the compiler,
   * the "Makefile", the "project file", or something similar, and
   * should not be defined by the user.
   */
  
  /*
   * OPTION: Compile on a Macintosh machine
   */
  #ifndef MACINTOSH
  /* #define MACINTOSH */
  #endif
  
  /*
   * OPTION: Compile on a Windows machine
   */
  #ifndef WINDOWS
  /* #define WINDOWS */
  #endif
  
  /*
   * OPTION: Compile on an MSDOS machine
   */
  #ifndef MSDOS
  /* #define MSDOS */
  #endif
  
  /*
   * OPTION: Compile on a SYS III version of UNIX
   */
  #ifndef SYS_III
  /* #define SYS_III */
  #endif
  
  /*
   * OPTION: Compile on a SYS V version of UNIX
   */
  #ifndef SYS_V
  /* #define SYS_V */
  #endif
  
  /*
   * OPTION: Compile on a HPUX version of UNIX
   */
  #ifndef HPUX
  /* #define HPUX */
  #endif
  
  /*
   * OPTION: Compile on an SGI running IRIX
   */
  #ifndef SGI
  /* #define SGI */
  #endif
  
  /*
   * OPTION: Compile on a SunOS machine
   */
  #ifndef SUNOS
  /* #define SUNOS */
  #endif
  
  /*
   * OPTION: Compile on a Solaris machine
   */
  #ifndef SOLARIS
  /* #define SOLARIS */
  #endif
  
  /*
   * OPTION: Compile on an ultrix/4.2BSD/Dynix/etc. version of UNIX,
   * Do not define this if you are on any kind of SunOS.
   */
  #ifndef ULTRIX
  /* #define ULTRIX */
  #endif
  
  /*
   * Extract the "SUNOS" flag from the compiler
   */
  #if defined(sun)
  #ifndef SUNOS
  #define SUNOS
  #endif
  #endif
  
  /*
   * Extract the "ULTRIX" flag from the compiler
   */
  #if defined(ultrix) || defined(Pyramid)
  #ifndef ULTRIX
  #define ULTRIX
  #endif
  #endif
  
  /*
   * Extract the "ATARI" flag from the compiler [cjh]
   */
  #if defined(__atarist) || defined(__atarist__)
  #ifndef ATARI
  #define ATARI
  #endif
  #endif
  
  /*
   * Extract the "RISCOS" flag from the compiler
   */
  #ifdef __riscos
  #ifndef RISCOS
  #define RISCOS
  #endif
  #endif
  
  /*
   * Extract the "SGI" flag from the compiler
   */
  #ifdef sgi
  #ifndef SGI
  #define SGI
  #endif
  #endif
  
  /*
   * Extract the "MSDOS" flag from the compiler
   */
  #ifdef __MSDOS__
  #ifndef MSDOS
  #define MSDOS
  #endif
  #endif
  
  /*
   * Extract the "WINDOWS" flag from the compiler
   */
  #if defined(_Windows) || defined(__WINDOWS__) || defined(__WIN32__)            \
      || defined(WIN32) || defined(__WINNT__) || defined(__NT__)
  #ifndef WINDOWS
  #define WINDOWS
  #endif
  #endif
  
  /*
   * Remove the MSDOS flag when using WINDOWS
   */
  #ifdef WINDOWS
  #ifdef MSDOS
  #undef MSDOS
  #endif
  #endif
  
  /*
   * Remove the WINDOWS flag when using MACINTOSH
   */
  #ifdef MACINTOSH
  #ifdef WINDOWS
  #undef WINDOWS
  #endif
  #endif
  
  /*
   * OPTION: set "SET_UID" if the machine is a "multi-user" machine.
   * This option is used to verify the use of "uids" and "gids" for
   * various "Unix" calls, and of "pids" for getting a random seed,
   * and of the "umask()" call for various reasons, and to guess if
   * the "kill()" function is available, and for permission to use
   * functions to extract user names and expand "tildes" in filenames.
   * It is also used for "locking" and "unlocking" the score file.
   * Basically, SET_UID should *only* be set for "Unix" machines,
   * or for the "Atari" platform which is Unix-like, apparently
   */
  
  // Sil-x: Adding the Carbon port as one that doesn't use SET_UID
  //        Seemed to help get rid of annoying dialogue boxes asking for admin
  //        passwords But caused some other odd problems such as the highscores
  //        not working properly
  
  #if !defined(MACINTOSH) && !defined(WINDOWS) && !defined(MSDOS)                \
      && !defined(USE_EMX) && !defined(AMIGA) && !defined(RISCOS)                \
      && !defined(VM)
  #define SET_UID
  #endif
  
  /*
   * OPTION: Set "USG" for "System V" versions of Unix
   * This is used to choose a "lock()" function, and to choose
   * which header files ("string.h" vs "strings.h") to include.
   * It is also used to allow certain other options, such as options
   * involving userid's, or multiple users on a single machine, etc.
   */
  #ifdef SET_UID
  #if defined(SYS_III) || defined(SYS_V) || defined(SOLARIS) || defined(HPUX)    \
      || defined(SGI) || defined(ATARI)
  #ifndef USG
  #define USG
  #endif
  #endif
  #endif
  
  /*
   * Every system seems to use its own symbol as a path separator.
   * Default to the standard Unix slash, but attempt to change this
   * for various other systems.  Note that any system that uses the
   * "period" as a separator (i.e. RISCOS) will have to pretend that
   * it uses the slash, and do its own mapping of period <-> slash.
   * Note that the VM system uses a "flat" directory, and thus uses
   * the empty string for "PATH_SEP".
   */
  #undef PATH_SEP
  #define PATH_SEP "/"
  #ifdef MACINTOSH
  #undef PATH_SEP
  #define PATH_SEP ":"
  #endif
  #if defined(WINDOWS) || defined(WINNT)
  #undef PATH_SEP
  #define PATH_SEP "\\"
  #endif
  #if defined(MSDOS) || defined(OS2) || defined(USE_EMX)
  #undef PATH_SEP
  #define PATH_SEP "\\"
  #endif
  #ifdef AMIGA
  #undef PATH_SEP
  #define PATH_SEP "/"
  #endif
  #ifdef __GO32__
  #undef PATH_SEP
  #define PATH_SEP "/"
  #endif
  #ifdef VM
  #undef PATH_SEP
  #define PATH_SEP ""
  #endif
  
  /*
   * The Macintosh allows the use of a "file type" when creating a file
   */
  
  #if (defined(MACINTOSH) || defined(MACH_O_CARBON))
  #define FILE_TYPE_TEXT 'TEXT'
  #define FILE_TYPE_DATA 'DATA'
  #define FILE_TYPE_SAVE 'SAVE'
  #define FILE_TYPE(X) (_ftype = (X))
  #endif
  
  ////half hack %%%%
  #ifndef FILE_TYPE_TEXT
  #define FILE_TYPE_TEXT
  #define FILE_TYPE_DATA
  #define FILE_TYPE_SAVE
  #define FILE_TYPE(X)
  #endif
  
  /*
   * OPTION: Define "HAVE_USLEEP" only if "usleep()" exists.
   *
   * Note that this is only relevant for "SET_UID" machines.
   *
   * (Set in autoconf.h when HAVE_CONFIG_H -- i.e. when configure is used.)
   */
  #if defined(SET_UID) && !defined(HAVE_CONFIG_H)
  #if !defined(HPUX) && !defined(ULTRIX) && !defined(ISC)
  #define HAVE_USLEEP
  #endif
  #endif
  
  #endif
  