/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2016, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2020, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure, Markus Armbruster
*
* Empire is free software: you can redistribute it and/or modify
*
* Known contributors to this file:
* Dave Pare, 1989
- * Markus Armbruster, 2004-2016
+ * Markus Armbruster, 2004-2020
*/
#ifndef NSC_H
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? */
/* 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 */
/* order is relevant */
CA_DUMP, /* xdump and xundump normally */
CA_DUMP_CONST, /* same, but value can't be changed */
+ CA_DUMP_ONLY, /* only in xdump command */
CA_DUMP_NONE /* do not xdump or xundump */
};
* 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 {
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[];
extern struct symbol plague_stages[];
extern struct symbol packing[];
extern struct symbol resources[];
+extern struct symbol sect_chr_flags[];
extern struct symbol sector_navigation[];
/* src/lib/common/nstreval.c */
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 *);