]> git.pond.sub.org Git - empserver/blobdiff - src/lib/global/nsc.c
(cou_ca, symbol_ca, mdchr_ca): Make all selectors NSC_CONST.
[empserver] / src / lib / global / nsc.c
index 9aa20246036776a17925997b92d17e1c7484ca09..0db0792aa6cf43c8230eec6d9ec61650fee03b37 100644 (file)
@@ -249,8 +249,8 @@ struct castr mchr_ca[] = {
     /* FIXME uid */
     {NSC_STRING, 0, 0, offsetof(struct mchrstr, m_name), "name", EF_BAD},
     NSC_IVEC(offsetof(struct mchrstr, m_item), ""),
-    {NSC_INT, 0, 0, offsetof(struct mchrstr, m_lcm), "lcm", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct mchrstr, m_hcm), "hcm", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct mchrstr, m_lcm), "l_build", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct mchrstr, m_hcm), "h_build", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct mchrstr, m_armor), "armor", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct mchrstr, m_speed), "speed", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct mchrstr, m_visib), "visib", EF_BAD},
@@ -293,8 +293,8 @@ struct castr plane_ca[] = {
 struct castr plchr_ca[] = {
     /* FIXME uid */
     {NSC_STRING, 0, 0, offsetof(struct plchrstr, pl_name), "name", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct plchrstr, pl_lcm), "lcm", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct plchrstr, pl_hcm), "hcm", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct plchrstr, pl_lcm), "l_build", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct plchrstr, pl_hcm), "h_build", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct plchrstr, pl_cost), "cost", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct plchrstr, pl_tech), "tech", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct plchrstr, pl_acc), "acc", EF_BAD},
@@ -354,10 +354,10 @@ struct castr lchr_ca[] = {
     /* FIXME uid */
     {NSC_STRING, 0, 0, offsetof(struct lchrstr, l_name), "name", EF_BAD},
     NSC_IVEC(offsetof(struct lchrstr, l_item), ""),
-    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_lcm), "lcm", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_hcm), "hcm", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_gun), "gun", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_shell), "shell", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_lcm), "l_build", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_hcm), "h_build", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_gun), "g_build", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_shell), "s_build", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct lchrstr, l_tech), "tech", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct lchrstr, l_cost), "cost", EF_BAD},
     {NSC_FLOAT, 0, 0, offsetof(struct lchrstr, l_att), "att", EF_BAD},
@@ -366,7 +366,7 @@ struct castr lchr_ca[] = {
     {NSC_INT, 0, 0, offsetof(struct lchrstr, l_spd), "spd", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct lchrstr, l_vis), "vis", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct lchrstr, l_spy), "spy", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_rad), "rad", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct lchrstr, l_rad), "rmax", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct lchrstr, l_frg), "frg", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct lchrstr, l_acc), "acc", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct lchrstr, l_dam), "dam", EF_BAD},
@@ -396,10 +396,10 @@ struct castr nuke_ca[] = {
 struct castr nchr_ca[] = {
     /* FIXME uid */
     {NSC_STRING, 0, 0, offsetof(struct nchrstr, n_name), "name", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct nchrstr, n_lcm), "lcm", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct nchrstr, n_hcm), "hcm", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct nchrstr, n_oil), "oil", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct nchrstr, n_rad), "rad", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct nchrstr, n_lcm), "l_build", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct nchrstr, n_hcm), "h_build", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct nchrstr, n_oil), "o_build", EF_BAD},
+    {NSC_INT, 0, 0, offsetof(struct nchrstr, n_rad), "r_build", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct nchrstr, n_blast), "blast", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct nchrstr, n_dam), "dam", EF_BAD},
     {NSC_INT, 0, 0, offsetof(struct nchrstr, n_cost), "cost", EF_BAD},
@@ -534,10 +534,10 @@ struct castr nat_ca[] = {
 };
 
 struct castr cou_ca[] = {
-    {NSC_NATID, 0, 0, fldoff(natstr, nat_cnum), "cnum", EF_NATION},
-    {NSC_CHAR, 0, 0, fldoff(natstr, nat_stat), "stat",
+    {NSC_NATID, NSC_CONST, 0, fldoff(natstr, nat_cnum), "cnum", EF_NATION},
+    {NSC_SITYPE(nat_status), NSC_CONST, 0, fldoff(natstr, nat_stat), "stat",
      EF_NATION_STATUS},
-    {NSC_STRINGY, 0, 20, fldoff(natstr, nat_cnam), "cname", EF_BAD},
+    {NSC_STRINGY, NSC_CONST, 20, fldoff(natstr, nat_cnam), "cname", EF_BAD},
     {NSC_NOTYPE, 0, 0, 0, NULL, EF_BAD}
 };
 
@@ -575,13 +575,17 @@ struct castr rpt_ca[] = {
 
 struct castr empfile_ca[] = {
     {NSC_INT, 0, 0, offsetof(struct empfile, uid), "uid", EF_TABLE},
-    {NSC_STRING, 0, 0, offsetof(struct empfile, name), "name", EF_BAD},
+    {NSC_STRING, NSC_CONST, 0, offsetof(struct empfile, name), "name", EF_BAD},
     {NSC_NOTYPE, 0, 0, 0, NULL, EF_BAD}
 };
 
 struct castr symbol_ca[] = {
-    {NSC_INT, 0, 0, offsetof(struct symbol, value), "value", EF_BAD},
-    {NSC_STRING, 0, 0, offsetof(struct symbol, name), "name", EF_BAD},
+    /*
+     * value is is const because it has to match what is compiled into
+     * the server.  name is const because clients key on it.
+     */
+    {NSC_INT, NSC_CONST, 0, offsetof(struct symbol, value), "value", EF_BAD},
+    {NSC_STRING, NSC_CONST, 0, offsetof(struct symbol, name), "name", EF_BAD},
     {NSC_NOTYPE, 0, 0, 0, NULL, EF_BAD}
 };
 
@@ -655,12 +659,17 @@ struct symbol nuke_chr_flags[] = {
 
 struct castr mdchr_ca[] = {
     /* no need for uid */
-    {NSC_STRING, 0, 0, offsetof(struct castr, ca_name), "name", EF_BAD},
-    {NSC_CHAR, 0, 0, offsetof(struct castr, ca_type), "type", EF_META_TYPE},
-    {NSC_UCHAR, NSC_BITS, 0, offsetof(struct castr, ca_flags), "flags",
-     EF_META_FLAGS},
-    {NSC_USHORT, 0, 0, offsetof(struct castr, ca_len), "len", EF_BAD},
-    {NSC_INT, 0, 0, offsetof(struct castr, ca_table), "table", EF_BAD},
+    /* name must come first, clients may rely on it */
+    {NSC_STRING, NSC_CONST, 0, offsetof(struct castr, ca_name), "name",
+     EF_BAD},
+    {NSC_CHAR, NSC_CONST, 0, offsetof(struct castr, ca_type), "type",
+     EF_META_TYPE},
+    {NSC_UCHAR, NSC_CONST | NSC_BITS, 0, offsetof(struct castr, ca_flags),
+     "flags", EF_META_FLAGS},
+    {NSC_USHORT, NSC_CONST, 0, offsetof(struct castr, ca_len), "len",
+     EF_BAD},
+    {NSC_INT, NSC_CONST, 0, offsetof(struct castr, ca_table), "table",
+     EF_BAD},
     {NSC_NOTYPE, 0, 0, 0, NULL, EF_BAD}
 };
 
@@ -684,7 +693,7 @@ struct symbol meta_type[]  = {
     {NSC_INT, "d"},
     {NSC_XCOORD, "d"},
     {NSC_YCOORD, "d"},
-    {NSC_TIME, "t"},
+    {NSC_TIME, "d"},
     {NSC_FLOAT, "g"},
     {NSC_STRINGY,"c"},
     {NSC_NOTYPE, NULL}
@@ -727,7 +736,8 @@ struct symbol nation_status[] = {
     {STAT_VIS, "visitor"},
     {STAT_SANCT, "sanctuary"},
     {STAT_ACTIVE, "active"},
-    {STAT_GOD, "deity"}
+    {STAT_GOD, "deity"},
+    {0, NULL}
 };
 
 struct symbol nation_flags[] = {
@@ -753,6 +763,7 @@ struct symbol nation_relations[] = {
 };
 
 struct symbol level[] = {
+    {-1, "none"},
     {NAT_TLEV, "technology"},
     {NAT_RLEV, "research"},
     {NAT_ELEV, "education"},
@@ -796,7 +807,7 @@ struct symbol resources[] = {
     {0, NULL}
 };
 
-struct symbol sector_navigation[] = { /* for d_nav */
+struct symbol sector_navigation[] = {
     {NAV_NONE, "land"},
     {NAVOK, "sea"},
     {NAV_02, "harbor"},