]> git.pond.sub.org Git - empserver/commitdiff
(NSC_EXTRA): New.
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 21 Aug 2004 12:36:13 +0000 (12:36 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 21 Aug 2004 12:36:13 +0000 (12:36 +0000)
(sect_ca, NSC_GENITEM, plane_ca, land_ca): Use it for aliases and
cached functions of tech.
(xdflds, xdfldnam): Skip NSC_EXTRA fields.

include/nsc.h
src/lib/commands/xdump.c
src/lib/global/nsc.c

index 88da71cf487bb1055c5394af082aba4235ba46a2..c5384b40def663096b6e3709bb8aaba65f4caef1 100644 (file)
@@ -73,7 +73,8 @@ typedef enum {
 typedef char packed_nsc_cat;
 
 enum {
-    NSC_DEITY = 1              /* access restricted to deity */
+    NSC_DEITY = bit(0),                /* access restricted to deity */
+    NSC_EXTRA = bit(1)         /* computable from other selectors */
 };
 typedef unsigned char nsc_flags;
 
index 1bddea6ec2e469ff393670e274d53dc5ddf9e9c5..bbf4f7ccd012b9bf165d10ccbbb59ca2e7c05321 100644 (file)
@@ -289,6 +289,8 @@ xdflds(struct castr ca[], void *ptr)
     for (i = 0; ca[i].ca_name; ++i) {
        if (ca[i].ca_flags & NSC_DEITY && !player->god)
            continue;
+       if (ca[i].ca_flags & NSC_EXTRA)
+           continue;
        j = 0;
        do {
            xdeval(&val, ca[i].ca_type, ptr, ca[i].ca_off, j);
@@ -307,6 +309,8 @@ xdfldnam(struct castr ca[])
     for (i = 0; ca[i].ca_name; ++i) {
        if (ca[i].ca_flags & NSC_DEITY && !player->god)
            continue;
+       if (ca[i].ca_flags & NSC_EXTRA)
+           continue;
        pr("%s%s", sep, ca[i].ca_name);
        if (ca[i].ca_len)
            pr(" %d", ca[i].ca_len);
index 43b791548fcfe90492b92bc2be46991cc58080bf..38e2c532d0c4664c2c2b79d77ac00d383c3de9a1 100644 (file)
@@ -80,7 +80,7 @@ struct castr sect_ca[] = {
     {NSC_UCHAR, 0, 0, fldoff(sctstr, sct_effic), "effic"},
     {NSC_SHORT, 0, 0, fldoff(sctstr, sct_mobil), "mobil"},
     {NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr), "terr"},
-    {NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr), "terr0"},
+    {NSC_UCHAR, NSC_EXTRA, 0, fldoff(sctstr, sct_terr), "terr0"},
     {NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr1), "terr1"},
     {NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr2), "terr2"},
     {NSC_UCHAR, 0, 0, fldoff(sctstr, sct_terr3), "terr3"},
@@ -113,18 +113,18 @@ struct castr sect_ca[] = {
     {NSC_NOTYPE, 0, 0, 0, NULL}
 };
 
-#define NSC_GENITEM \
-{ NSC_NATID, 0, 0, fldoff(genitem, own), "owner"},     \
-{ NSC_SHORT, 0, 0, fldoff(genitem, uid), "uid"},       \
-{ NSC_XCOORD, 0, 0, fldoff(genitem, x), "xloc"},       \
-{ NSC_YCOORD, 0, 0, fldoff(genitem, y), "yloc"},       \
-{ NSC_TYPEID, 0, 0, fldoff(genitem, type), "type"},    \
-{ NSC_CHAR, 0, 0, fldoff(genitem, effic), "effic"},    \
-{ NSC_CHAR , 0, 0, fldoff(genitem, mobil), "mobil"},   \
-{ NSC_SHORT, 0, 0, fldoff(genitem, tech), "tech"},     \
-{ NSC_CHAR, 0, 0, fldoff(genitem, group), "group"},    \
-{ NSC_XCOORD, 0, 0, fldoff(genitem, opx), "opx"},      \
-{ NSC_YCOORD, 0, 0, fldoff(genitem, opy), "opy"},      \
+#define NSC_GENITEM                                            \
+{ NSC_NATID, 0, 0, fldoff(genitem, own), "owner"},             \
+{ NSC_SHORT, 0, 0, fldoff(genitem, uid), "uid"},               \
+{ NSC_XCOORD, 0, 0, fldoff(genitem, x), "xloc"},               \
+{ NSC_YCOORD, 0, 0, fldoff(genitem, y), "yloc"},               \
+{ NSC_TYPEID, 0, 0, fldoff(genitem, type), "type"},            \
+{ NSC_CHAR, 0, 0, fldoff(genitem, effic), "effic"},            \
+{ NSC_CHAR , 0, 0, fldoff(genitem, mobil), "mobil"},           \
+{ NSC_SHORT, 0, 0, fldoff(genitem, tech), "tech"},             \
+{ NSC_CHAR, NSC_EXTRA, 0, fldoff(genitem, group), "group"},    \
+{ NSC_XCOORD, 0, 0, fldoff(genitem, opx), "opx"},              \
+{ NSC_YCOORD, 0, 0, fldoff(genitem, opy), "opy"},              \
 { NSC_SHORT, 0, 0, fldoff(genitem, mission), "mission"}
 
 struct castr ship_ca[] = {
@@ -147,8 +147,8 @@ struct castr plane_ca[] = {
     {NSC_CHAR, 0, 0, fldoff(plnstr, pln_wing), "wing"},
     {NSC_UCHAR, 0, 0, fldoff(plnstr, pln_range), "range"},
     {NSC_SHORT, 0, 0, fldoff(plnstr, pln_ship), "ship"},
-    {NSC_INT, 0, 0, fldoff(plnstr, pln_att), "att"},
-    {NSC_INT, 0, 0, fldoff(plnstr, pln_def), "def"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(plnstr, pln_att), "att"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(plnstr, pln_def), "def"},
     {NSC_CHAR, 0, 0, fldoff(plnstr, pln_harden), "harden"},
     {NSC_CHAR, 0, 0, fldoff(plnstr, pln_nuketype), "nuketype"},
     {NSC_CHAR, 0, 0, fldoff(plnstr, pln_flags), "flags"},
@@ -169,21 +169,21 @@ struct castr land_ca[] = {
     NSC_IVEC(fldoff(lndstr, lnd_item), ""),
     {NSC_USHORT, NSC_DEITY, 0, fldoff(lndstr, lnd_pstage), "pstage"},
     {NSC_USHORT, NSC_DEITY, 0, fldoff(lndstr, lnd_ptime), "ptime"},
-    {NSC_FLOAT, 0, 0, fldoff(lndstr, lnd_att), "att"},
-    {NSC_FLOAT, 0, 0, fldoff(lndstr, lnd_def), "def"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_vul), "vul"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_spd), "spd"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_vis), "vis"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_spy), "spy"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_rad), "rad"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_frg), "frg"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_acc), "acc"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_dam), "dam"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_ammo), "ammo"},
-    {NSC_INT, 0, 0, fldoff(lndstr, lnd_aaf), "aaf"},
-    {NSC_UCHAR, 0, 0, fldoff(lndstr, lnd_fuelc), "fuelc"},
-    {NSC_UCHAR, 0, 0, fldoff(lndstr, lnd_fuelu), "fuelu"},
-    {NSC_UCHAR, 0, 0, fldoff(lndstr, lnd_maxlight), "maxlight"},
+    {NSC_FLOAT, NSC_EXTRA, 0, fldoff(lndstr, lnd_att), "att"},
+    {NSC_FLOAT, NSC_EXTRA, 0, fldoff(lndstr, lnd_def), "def"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_vul), "vul"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_spd), "spd"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_vis), "vis"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_spy), "spy"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_rad), "rad"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_frg), "frg"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_acc), "acc"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_dam), "dam"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_ammo), "ammo"},
+    {NSC_INT, NSC_EXTRA, 0, fldoff(lndstr, lnd_aaf), "aaf"},
+    {NSC_UCHAR, NSC_EXTRA, 0, fldoff(lndstr, lnd_fuelc), "fuelc"},
+    {NSC_UCHAR, NSC_EXTRA, 0, fldoff(lndstr, lnd_fuelu), "fuelu"},
+    {NSC_UCHAR, NSC_EXTRA, 0, fldoff(lndstr, lnd_maxlight), "maxlight"},
     {NSC_TIME, 0, 0, fldoff(lndstr, lnd_timestamp), "timestamp"},
     {NSC_NOTYPE, 0, 0, 0, NULL}
 };