X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=include%2Fitem.h;h=dcebcc6f6d69cfcda41429a43bb20c619e962677;hp=ae228acb6d82f5fa4e81be7c06f0b858069ba418;hb=HEAD;hpb=79202529867d73b67c9f04fd3cbba1bfc7ac712f diff --git a/include/item.h b/include/item.h index ae228acb6..dcebcc6f6 100644 --- a/include/item.h +++ b/include/item.h @@ -1,11 +1,11 @@ /* * Empire - A multi-player, client/server Internet based war game. - * Copyright (C) 1986-2005, 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,63 +14,63 @@ * 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. * * --- * * item.h: Definitions for item characteristics stuff - * + * * Known contributors to this file: - * + * Markus Armbruster, 2004-2020 */ -#ifndef _ITEM_H_ -#define _ITEM_H_ +#ifndef ITEM_H +#define ITEM_H #include "misc.h" -typedef enum { +enum i_packing { IPKG, /* "inefficient" packaging (eff<60) */ NPKG, /* no special packaging */ WPKG, /* "warehouse" packaging */ UPKG, /* "urban" packaging */ BPKG /* "bank" packaging */ -} i_packing; +}; enum { NUMPKG = BPKG + 1 }; +/* Item types, must match item.config */ typedef enum { - I_NONE = -1, - I_CIVIL, - I_MILIT, - I_SHELL, - I_GUN, - I_PETROL, - I_IRON, - I_DUST, - I_BAR, - I_FOOD, - I_OIL, - I_LCM, - I_HCM, - I_UW, - I_RAD, - I_MAX = I_RAD + I_NONE = -1, + I_CIVIL, + I_MILIT, + I_SHELL, + I_GUN, + I_PETROL, + I_IRON, + I_DUST, + I_BAR, + I_FOOD, + I_OIL, + I_LCM, + I_HCM, + I_UW, + I_RAD, + I_MAX = I_RAD } ATTRIBUTE((packed)) i_type; struct ichrstr { - int i_mnem; /* usually the initial letter */ - i_type i_vtype; /* var type */ - int i_value; /* mortgage value */ + char i_mnem; /* usually the initial letter */ + i_type i_uid; /* index in ichr[] */ + int i_power; /* power value of 1000 items */ int i_sell; /* can this be sold? */ int i_lbs; /* how hard to move */ int i_pkg[NUMPKG]; /* units for reg, ware, urb, bank */ @@ -80,11 +80,12 @@ struct ichrstr { /* variables using this structure */ -extern struct ichrstr ichr[]; +#define ICHR_SZ (I_MAX + 2) +extern struct ichrstr ichr[ICHR_SZ]; /* procedures using/returning this struct */ extern struct ichrstr *whatitem(char *, char *); extern struct ichrstr *item_by_name(char *); -#endif /* _ITEM_H_ */ +#endif