TinyMAZE/
TinyMAZE/config/
TinyMAZE/doc/
TinyMAZE/run/msgs/
TinyMAZE/src/
TinyMAZE/src/db/
TinyMAZE/src/ident/
TinyMAZE/src/io/
TinyMAZE/src/prog/
TinyMAZE/src/softcode/
TinyMAZE/src/util/
#ifndef CONFIG_H
#define CONFIG_H

#include <time.h>

/* If your system supports the '/dev/urandom' device, it is highly */
/* recommended that you uncomment this. It never hurts to leave it */
/* commented out. NOTE: If you change this you MUST recompile the whole */
/* game (make clean;make install). */
//#define USE_DEV_URANDOM

/* This is how many numbers it will read from the device at a time. */
/* The higher the number, the faster it will be (less read() calls). */
/* I'm not sure, however, how it effects the randomness of the numbers. */
#define URANDOM_BURST 10

/* If you uncomment this next define, the server will reboot when a
   segmentation fault occurs instead of simply crashing. It will attempt
   to save the database, etc. and connected players won't be booted. The
   downside is that the core it dumps won't be as helpful. */
#define CATCH_SIGSEGV

/* These are various characters that do special things. I recommend you
 * to not change them */
#define NOT_TOKEN       '!'
#define AND_TOKEN       '&'
#define OR_TOKEN        '|'
#define THING_TOKEN     'x'
#define LOOKUP_TOKEN    '*'
#define NUMBER_TOKEN    '#'
#define AT_TOKEN        '@'
#define ARG_DELIMITER   '='
#define IS_TOKEN        '='
#define CARRY_TOKEN     '+'

/* These are various tokens that are abbreviations for special commands.
 * Again, I recommend you to not change them */
#define SAY_TOKEN       '"'
#define POSE_TOKEN      ':'
#define POSS_TOKEN      ';'
#define COM_TOKEN       '='
#define TO_TOKEN        '\''
#define THINK_TOKEN     '.'

/* This is the character that seperates different exit aliases. If you change
 * this, you'll probably have a lot of work fixing up your database. */
#define EXIT_DELIMITER ';'

/* Special interface commands. i suggest you don't change these. */
#define QUIT_COMMAND  "QUIT"

/* See the MAZEv2/config/global_config file for definitions */

struct global_config_struct
{
  int inet_port;
  int root;
  char *connect_channel;
  char *adm_connect_channel;
  char *maze_name;
  int auto_create;
  int player_start;
  int guest_start;
  char *currency_name;
  char *currency_plural;
  int initial_wealth;
  int default_quota;
  int default_channel_quota;
  int max_guests;
  char *guest_prefix;
  char *guest_description;
  int dump_interval;
  int dbck_interval;
  int max_output;
  int max_input;
  int max_server_io;
  int max_player_io;
  int max_users;
  int max_queue;
  char *db_name;
  char *maildb_name;
  char *connect_msg_file;
  char *guest_msg_file;
  char *leave_msg_file;
  int announce_cost;
  int player_name_limit;
  int player_alias_limit;
  time_t max_mail_age;
  int old_mail_interval;
  int idle_boot_time;
};

extern struct global_config_struct config;

#endif /* CONFIG_H */