X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=include%2Foptlist.h;h=cd5153e729ad4ff3cd62df79d1476616d2bbf02e;hp=74bd6939c315e716f6ea75b77b389c07466cf25f;hb=HEAD;hpb=1583d0c6a28223637ab77427330c2befa5107085 diff --git a/include/optlist.h b/include/optlist.h index 74bd6939c..cd5153e72 100644 --- a/include/optlist.h +++ b/include/optlist.h @@ -1,11 +1,11 @@ /* * Empire - A multi-player, client/server Internet based war game. - * Copyright (C) 1986-2004, Dave Pare, Jeff Bailey, Thomas Ruschak, - * Ken Stevens, Steve McClure + * Copyright (C) 1986-2021, Dave Pare, Jeff Bailey, Thomas Ruschak, + * Ken Stevens, Steve McClure, Markus Armbruster * - * This program is free software; you can redistribute it and/or modify + * Empire is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, @@ -14,113 +14,62 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * along with this program. If not, see . * * --- * - * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the - * related information and legal notices. It is expected that any future - * projects/authors will amend these files as needed. + * See files README, COPYING and CREDITS in the root of the source + * tree for related information and legal notices. It is expected + * that future projects/authors will amend these files as needed. * * --- * * optlist.h: Definitions of option listings - * + * * Known contributors to this file: * Ken Stevens, 1995 * Steve McClure, 1998 + * Markus Armbruster, 2004-2010 */ -#ifndef _OPTLIST_H_ -#define _OPTLIST_H_ +#ifndef OPTLIST_H +#define OPTLIST_H #include "nsc.h" -/* Default econfig file */ extern char dflt_econfig[]; -struct option_list { - char *opt_key; - int *opt_valuep; -}; - -extern struct option_list Options[]; - -/* Options, can be switched in econfig */ -extern int opt_ALL_BLEED; -extern int opt_BIG_CITY; -extern int opt_BLITZ; -extern int opt_BRIDGETOWERS; -extern int opt_DEFENSE_INFRA; -extern int opt_DEMANDUPDATE; -extern int opt_DRNUKE; -extern int opt_EASY_BRIDGES; -extern int opt_FALLOUT; -extern int opt_FUEL; -extern int opt_GODNEWS; -extern int opt_GO_RENEW; -extern int opt_GUINEA_PIGS; -extern int opt_HIDDEN; -extern int opt_INTERDICT_ATT; -extern int opt_LANDSPIES; -extern int opt_LOANS; -extern int opt_LOSE_CONTACT; -extern int opt_MARKET; -extern int opt_MOB_ACCESS; -extern int opt_NEUTRON; -extern int opt_NOFOOD; -extern int opt_NOMOBCOST; -extern int opt_NONUKES; -extern int opt_NO_FORT_FIRE; -extern int opt_NO_HCMS; -extern int opt_NO_LCMS; -extern int opt_NO_OIL; -extern int opt_NO_PLAGUE; -extern int opt_PINPOINTMISSILE; -extern int opt_RES_POP; -extern int opt_ROLLOVER_AVAIL; -extern int opt_SAIL; -extern int opt_SHIPNAMES; -extern int opt_SHOWPLANE; -extern int opt_SLOW_WAR; -extern int opt_SNEAK_ATTACK; -extern int opt_SUPER_BARS; -extern int opt_TECH_POP; -extern int opt_TRADESHIPS; -extern int opt_TREATIES; -extern int opt_UPDATESCHED; - /* Game parameters, can be set in econfig */ -#define EMP_CONFIG_H_OUTPUT +#define EMP_CONFIG_H_OUTPUT #include "econfig-spec.h" #undef EMP_CONFIG_H_OUTPUT -/* Game parameters that cannot be set in econfig (yet) */ -extern int melt_item_denom[]; -#ifdef START_UNITS -int start_unit_type[]; -#endif +extern char *configdir; +extern char *builtindir; +extern char *gamedir; +extern char *infodir; +extern char *schedulefil; -/* Variables that get values derived from econfig */ -extern char *motdfil; -extern char *downfil; -extern char *disablefil; -extern char *banfil; -extern char *authfil; -extern char *annfil; -extern char *timestampfil; -extern char *teldir; -extern char *telfil; +extern char motdfil[]; +extern char downfil[]; +extern char annfil[]; +extern char teldir[]; enum { - KM_ALLOC = 0x01, /* memory allocated */ - KM_INTERNAL = 0x02 /* not to be disclosed to players */ + KM_ALLOC = 1, /* memory allocated */ + KM_INTERNAL = 2, /* not to be disclosed to players */ + KM_OPTION = 4 /* historically an option */ +}; + +enum { + UPD_DEMAND_NONE, /* no demand updates */ + UPD_DEMAND_SCHED, /* scheduled updates are demand updates */ + UPD_DEMAND_ASYNC /* zdone triggers unscheduled update */ }; struct keymatch { char *km_key; /* the key */ - nsc_type km_type; /* type of associated data */ + enum nsc_type km_type; /* type of associated data */ void *km_data; /* pointer to associated data */ int km_flags; /* useful flags */ char *km_comment; /* Comment (hopefully useful) */ @@ -128,4 +77,4 @@ struct keymatch { extern struct keymatch configkeys[]; -#endif /* _OPTLIST_H_ */ +#endif