/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2009, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
*
* ---
*
- * 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:
- *
+ *
*/
-#ifndef _ITEM_H_
-#define _ITEM_H_
+#ifndef ITEM_H
+#define ITEM_H
+
+#include "misc.h"
+
+enum i_packing {
+ IPKG, /* "inefficient" packaging (eff<60) */
+ NPKG, /* no special packaging */
+ WPKG, /* "warehouse" packaging */
+ UPKG, /* "urban" packaging */
+ BPKG /* "bank" packaging */
+};
+
+enum {
+ NUMPKG = BPKG + 1
+};
-#define NUMPKG 4 /* number of different kinds of packaging */
+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
+} ATTRIBUTE((packed)) i_type;
struct ichrstr {
- int i_mnem; /* usually the initial letter */
- int i_vtype; /* var type */
+ char i_mnem; /* usually the initial letter */
+ i_type i_uid; /* index in ichr[] */
int i_value; /* mortgage value */
int i_sell; /* can this be sold? */
int i_lbs; /* how hard to move */
int i_pkg[NUMPKG]; /* units for reg, ware, urb, bank */
- s_char *i_name; /* full name of item */
+ int i_melt_denom; /* fallout meltdown denominator */
+ char *i_name; /* full name of item */
};
/* variables using this structure */
-extern struct ichrstr ichr[];
+extern struct ichrstr ichr[I_MAX + 2];
/* procedures using/returning this struct */
-extern struct ichrstr *whatitem(s_char *ptr, s_char *prompt);
+extern struct ichrstr *whatitem(char *, char *);
+extern struct ichrstr *item_by_name(char *);
-#endif /* _ITEM_H_ */
+#endif