]> git.pond.sub.org Git - empserver/blobdiff - include/product.h
Update copyright notice
[empserver] / include / product.h
index c0de4c4fddb8a3e009f93fb51fae05d869e67648..ed45dfc2dbe9655f4cf4171575b4cf4d7f0e1fc3 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2008, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                           Ken Stevens, Steve McClure
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -19,9 +19,9 @@
  *
  *  ---
  *
- *  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.
  *
  *  ---
  *
  * 
  */
 
-#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 */
+    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[];
+#define P_MAX 22
 
-extern int prd_maxno;
+extern struct pchrstr pchr[P_MAX + 2];
 
-#endif /* _PRODUCT_H_ */
+#endif