]> git.pond.sub.org Git - empserver/blobdiff - include/nsc.h
WIP empdump, %a
[empserver] / include / nsc.h
index 7cf466a7c872e65c9740127310f811b06e55b32c..5ca7baf2b7b3350f1dbfdf24a0e3c627e3ae4d7c 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2006, 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
@@ -36,6 +36,7 @@
 #define NSC_H
 
 #include <stddef.h>
+#include "misc.h"
 #include "xy.h"
 
 #define NS_LSIZE       128
@@ -48,7 +49,6 @@ typedef enum {
     NSC_LONG,                  /* long */
     NSC_DOUBLE,                        /* double */
     NSC_STRING,                        /* char *, zero-terminated string */
-    NSC_TYPEID,                        /* signed char, index into chr table */
     /* unpromoted types */
     NSC_CHAR,                  /* signed char */
     NSC_UCHAR,                 /* unsigned char */
@@ -57,6 +57,8 @@ typedef enum {
     NSC_INT,                   /* int */
     NSC_XCOORD,                        /* coord that needs x conversion */
     NSC_YCOORD,                        /* coord that needs y conversion */
+    NSC_HIDDEN,                        /* unsigned char in struct natstr that
+                                  may need hiding */
     NSC_TIME,                  /* time_t */
     NSC_FLOAT,                 /* float */
     NSC_STRINGY,               /* char[], zero-terminated string */
@@ -114,7 +116,7 @@ struct valstr {
            char *base;
            size_t maxsz;
        } str;
-       long lng;               /* cat NSC_VAL, type NSC_LONG, NSC_TYPEID */
+       long lng;               /* cat NSC_VAL, type NSC_LONG */
     } val_as;
 };
 
@@ -214,8 +216,10 @@ extern struct castr trade_ca[];
 extern struct castr nat_ca[];
 extern struct castr cou_ca[];
 extern struct castr realm_ca[];
+extern struct castr game_ca[];
 extern struct castr intrchr_ca[];
 extern struct castr rpt_ca[];
+extern struct castr update_ca[];
 extern struct castr empfile_ca[];
 extern struct castr symbol_ca[];
 extern struct symbol ship_chr_flags[];
@@ -231,6 +235,7 @@ extern struct symbol plane_flags[];
 extern struct symbol retreat_flags[];
 extern struct symbol nation_status[];
 extern struct symbol nation_flags[];
+extern struct symbol nation_rejects[];
 extern struct symbol nation_relations[];
 extern struct symbol level[];
 extern struct symbol agreement_statuses[];
@@ -244,7 +249,10 @@ extern int nstr_comp(struct nscstr *np, int len, int type, char *str);
 extern char *nstr_comp_val(char *, struct valstr*, int);
 extern int nstr_coerce_val(struct valstr *, nsc_type, char *);
 extern int nstr_exec(struct nscstr *, int, void *);
+/* src/lib/common/nstreval.c */
 extern void nstr_exec_val(struct valstr *, natid, void *, nsc_type);
 extern char *symbol_by_value(int, struct symbol *);
+/* src/lib/global/nsc.c */
+extern void nsc_init(void);
 
 #endif