]> git.pond.sub.org Git - empserver/blobdiff - include/sect.h
Store uids as int to support more sectors and units
[empserver] / include / sect.h
index 6e64ce39ac063b0b5839b0d9c845cd4e7400a50d..01fda989dad2b496b346e91fda6281fcabe3f55a 100644 (file)
@@ -31,7 +31,7 @@
  *     Dave Pare
  *     Ken Stevens, 1995
  *     Steve McClure, 1998
- *     Markus Armbruster, 2004-2008
+ *     Markus Armbruster, 2004-2009
  */
 
 
@@ -45,7 +45,7 @@
 struct sctstr {
     /* initial part must match struct empobj */
     short ef_type;
-    short sct_uid;             /* equals XYOFFSET(sct_x, sct_y) */
+    int sct_uid;               /* equals XYOFFSET(sct_x, sct_y) */
     unsigned sct_seqno;
     time_t sct_timestamp;      /* Last time this sector was written to */
     natid sct_own;             /* owner's country num */
@@ -116,6 +116,7 @@ struct dchrstr {
     int d_build;               /* cost multiplier for eff */
     int d_lcms;                        /* lcm's needed per point of eff */
     int d_hcms;                        /* hcm's needed per point of eff */
+    int d_maint;               /* maintenance cost per ETU */
     int d_maxpop;              /* maximum population */
     char *d_name;              /* full name of sector type */
 };
@@ -187,6 +188,13 @@ extern struct dchrstr dchr[SCT_TYPE_MAX + 2];
     (opt_RAILWAYS ? sct_rail_track((sp)) != 0                  \
      : intrchr[INT_RAIL].in_enable && (sp)->sct_rail != 0)
 
+#define SCT_MINES_ARE_SEAMINES(sp) \
+    ((sp)->sct_type == SCT_WATER || (sp)->sct_type == SCT_BSPAN)
+#define SCT_SEAMINES(sp) \
+    (SCT_MINES_ARE_SEAMINES((sp)) ? (sp)->sct_mines : 0)
+#define SCT_LANDMINES(sp) \
+    (SCT_MINES_ARE_SEAMINES((sp)) ? 0 : (sp)->sct_mines)
+
 #define MOB_MOVE    0
 #define MOB_MARCH   1
 #define MOB_RAIL    2