]> git.pond.sub.org Git - empserver/blobdiff - include/nsc.h
info: New Common-Fever, Hvy-Fever
[empserver] / include / nsc.h
index bc3c0afeec0505c73997b54b717976185817a60d..7c650424bd7983545fd678bdfc58c9aeff388ddd 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2016, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2021, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                Ken Stevens, Steve McClure, Markus Armbruster
  *
  *  Empire is free software: you can redistribute it and/or modify
@@ -28,7 +28,7 @@
  *
  *  Known contributors to this file:
  *     Dave Pare, 1989
- *     Markus Armbruster, 2004-2016
+ *     Markus Armbruster, 2004-2020
  */
 
 #ifndef NSC_H
@@ -60,7 +60,7 @@ enum nsc_type {
     NSC_FLOAT,                 /* float */
     NSC_STRINGY,               /* char[] */
     /* aliases, must match typedefs */
-    NSC_NATID = NSC_UCHAR      /* nation id */
+    NSC_NATID = NSC_UCHAR      /* nation ID */
 };
 
 /* Is TYPE a promoted value type? */
@@ -152,7 +152,7 @@ enum ns_seltype {
 /* Sector iterator */
 struct nstr_sect {
     coord x, y;                        /* current x-y */
-    coord dx, dy;              /* accumlated x,y travel */
+    coord dx, dy;              /* accumulated x,y travel */
     int id;                    /* return value of sctoff */
     enum ns_seltype type;      /* selection type: NS_AREA or NS_DIST */
     int curdist;               /* NS_DIST: current range */
@@ -232,9 +232,9 @@ enum ca_dump {
  * If NSC_DEITY is set in @ca_flags, only deities can use this
  * selector.
  * If NSC_HIDDEN is set in @ca_flags, the selector must be an array of
- * MAXNOC elements, indexed by country number, and the context object
- * must be EF_NATION.  Array elements are masked for contact when
- * opt_HIDDEN is on.
+ * MAXNOC elements, indexed by country number.  Array elements are
+ * masked for contact when opt_HIDDEN is on.  Only implemented for
+ * integer types and context object EF_RELAT.
  * @ca_dump specifies how xdump and xundump are to use the selector.
  */
 struct castr {
@@ -273,6 +273,9 @@ extern struct castr commodity_ca[];
 extern struct castr trade_ca[];
 extern struct castr nat_ca[];
 extern struct castr cou_ca[];
+extern struct castr relat_ca[];
+extern struct castr contact_ca[];
+extern struct castr reject_ca[];
 extern struct castr realm_ca[];
 extern struct castr game_ca[];
 extern struct castr intrchr_ca[];
@@ -316,6 +319,12 @@ extern void nsc_init(void);
 extern int nxtitem(struct nstr_item *, void *);
 /* src/lib/subs/nxtsct.c */
 extern int nxtsct(struct nstr_sect *, struct sctstr *);
+/* src/lib/subs/sarg.c */
+extern enum ns_seltype sarg_type(char *);
+extern int sarg_xy(char *, coord *, coord *);
+extern int sarg_area(char *, struct range *);
+extern int sarg_range(char *, coord *, coord *, int *);
+extern int sarg_list(char *, int *, int);
 /* src/lib/subs/snxtitem.c */
 extern int snxtitem(struct nstr_item *, int, char *, char *);
 extern void snxtitem_area(struct nstr_item *, int, struct range *);