X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=include%2Fproduct.h;h=79d532dd4f2058880cbc8aeeb8a46494b73a3a47;hp=c0de4c4fddb8a3e009f93fb51fae05d869e67648;hb=1d8451e87b7f58943c087c54291ce883ffa90828;hpb=9b7adfbecc6b6916999adf65302af61f6b0d28cb diff --git a/include/product.h b/include/product.h index c0de4c4fd..79d532dd4 100644 --- a/include/product.h +++ b/include/product.h @@ -1,11 +1,11 @@ /* * Empire - A multi-player, client/server Internet based war game. - * Copyright (C) 1986-2000, 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,62 +14,51 @@ * 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. * * --- * * product.h: Definitions for things having to do with products - * + * * Known contributors to this file: - * + * */ -#ifndef _PRODUCT_H_ -#define _PRODUCT_H_ +#ifndef PRODUCT_H +#define PRODUCT_H + +#include "item.h" + +/* + * Maximum number of product constituents. + * Beware, some output formats rely on MAXPRCON <= 3! + */ +enum { MAXPRCON = 3 }; struct pchrstr { - u_char p_nv; /* number of constituents */ - u_char p_vtype[MAXCHRNV]; /* constituent types */ - u_short p_vamt[MAXCHRNV]; /* constituent amounts */ - int p_type; /* vtype if product is a variable */ - int p_level; /* index (NAT_?LEV) if product is not a var */ + int p_uid; + i_type p_ctype[MAXPRCON]; /* constituent types */ + unsigned short p_camt[MAXPRCON]; /* constituent amounts */ + int p_bwork; /* work to build one product unit */ + i_type p_type; /* product item type, or I_NONE if level */ + int p_level; /* level index (NAT_?LEV), or -1 if item */ int p_cost; /* dollars / product unit */ int p_nrndx; /* index into sect of natural resource */ int p_nrdep; /* depletion as a % of resource used */ int p_nlndx; /* index (NAT_?LEV) affecting production */ int p_nlmin; /* minimum lvl required */ int p_nllag; /* lag, mul by (lvl-nlmin)/(lvl-nlmin+nllag) */ - int p_effic; /* process efficiency, mult by p_effic/100 */ - s_char *p_name; /* name of product */ - s_char *p_sname; /* short (7char or less) name of product */ + char *p_name; /* name of product */ + char *p_sname; /* short (7 char or less) name of product */ }; -#define P_SHELL 1 -#define P_GUN 2 -#define P_PETROL 3 -#define P_IRON 4 -#define P_DUST 5 -#define P_BAR 6 -#define P_FOOD 7 -#define P_OIL 8 -#define P_LCM 9 -#define P_HCM 10 -#define P_TLEV 11 -#define P_RLEV 12 -#define P_ELEV 13 -#define P_HLEV 14 -#define P_URAN 15 -#define P_MDUST 16 - -extern struct pchrstr pchr[]; - -extern int prd_maxno; +#define PCHR_SZ 32 +extern struct pchrstr pchr[PCHR_SZ]; -#endif /* _PRODUCT_H_ */ +#endif