From 0a44c4893ee99862214d7aa629d7b8789f85d057 Mon Sep 17 00:00:00 2001 From: Ron Koenderink Date: Wed, 9 Nov 2005 22:56:43 +0000 Subject: [PATCH] (plane_flags, plane_ca): Add plane flags table. (retreat_flags, ship_ca, land_ca, plane_ca): Add retreat flags table. (nation_flags, nation_relations, nat_ca): Add nation flags and nation relations tables. (empfile_ca): Remove flags and file name fields. They are internal and not needed by the client. --- include/file.h | 6 ++++- include/nsc.h | 4 +++ src/lib/global/file.c | 8 ++++++ src/lib/global/nsc.c | 59 ++++++++++++++++++++++++++++++++++++++----- 4 files changed, 69 insertions(+), 8 deletions(-) diff --git a/include/file.h b/include/file.h index 8f974ad3..da36815a 100644 --- a/include/file.h +++ b/include/file.h @@ -133,7 +133,11 @@ struct empfile { #define EF_META_TYPE 31 #define EF_META_FLAGS 32 #define EF_MISSION_FLAGS 33 -#define EF_MAX 34 +#define EF_PLANE_FLAGS 34 +#define EF_RETREAT_FLAGS 35 +#define EF_NATION_FLAGS 36 +#define EF_NATION_RELATIONS 37 +#define EF_MAX 38 #define EF_IS_GAME_STATE(type) (EF_SECTOR <= (type) && (type) <= EF_LOST) diff --git a/include/nsc.h b/include/nsc.h index eb4aa71c..e77c4b35 100644 --- a/include/nsc.h +++ b/include/nsc.h @@ -225,6 +225,10 @@ extern struct castr mdchr_ca[]; extern struct symbol meta_type[]; extern struct symbol meta_flags[]; extern struct symbol mission_flags[]; +extern struct symbol plane_flags[]; +extern struct symbol retreat_flags[]; +extern struct symbol nation_flags[]; +extern struct symbol nation_relations[]; /* src/lib/subs/nstr.c */ extern int nstr_comp(struct nscstr *np, int len, int type, char *str); diff --git a/src/lib/global/file.c b/src/lib/global/file.c index 28b41d97..60c200ab 100644 --- a/src/lib/global/file.c +++ b/src/lib/global/file.c @@ -165,6 +165,14 @@ struct empfile empfile[] = { PTR_CACHE(meta_flags, EFF_CFG)}, {EF_MISSION_FLAGS, "mission flags", NULL, symbol_ca, PTR_CACHE(mission_flags, EFF_CFG)}, + {EF_PLANE_FLAGS, "plane flags", NULL, symbol_ca, + PTR_CACHE(plane_flags, EFF_CFG)}, + {EF_RETREAT_FLAGS, "retreat flags", NULL, symbol_ca, + PTR_CACHE(retreat_flags, EFF_CFG)}, + {EF_NATION_FLAGS, "nation flags", NULL, symbol_ca, + PTR_CACHE(nation_flags, EFF_CFG)}, + {EF_NATION_RELATIONS, "nation relationships", NULL, symbol_ca, + PTR_CACHE(nation_relations, EFF_CFG)}, /* Sentinel */ {EF_BAD, NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, -1, NULL, NULL, NULL}, diff --git a/src/lib/global/nsc.c b/src/lib/global/nsc.c index ecea435b..86bfef13 100644 --- a/src/lib/global/nsc.c +++ b/src/lib/global/nsc.c @@ -223,7 +223,8 @@ struct castr ship_ca[] = { {NSC_YCOORD, NSC_DEITY, 0, fldoff(shpstr, shp_orig_y), "ybuilt", EF_BAD}, {NSC_NATID, NSC_DEITY, 0, fldoff(shpstr, shp_orig_own), "builder", EF_NATION}, - {NSC_INT, NSC_BITS, 0, fldoff(shpstr, shp_rflags), "rflags", EF_BAD}, + {NSC_INT, NSC_BITS, 0, fldoff(shpstr, shp_rflags), "rflags", + EF_RETREAT_FLAGS}, {NSC_STRINGY, 0, RET_LEN, fldoff(shpstr, shp_rpath), "rpath", EF_BAD}, {NSC_NOTYPE, 0, 0, 0, NULL, EF_BAD} }; @@ -263,7 +264,8 @@ struct castr plane_ca[] = { {NSC_INT, NSC_EXTRA, 0, fldoff(plnstr, pln_def), "def", EF_BAD}, {NSC_CHAR, 0, 0, fldoff(plnstr, pln_harden), "harden", EF_BAD}, {NSC_CHAR, 0, 0, fldoff(plnstr, pln_nuketype), "nuketype", EF_BAD}, - {NSC_CHAR, NSC_BITS, 0, fldoff(plnstr, pln_flags), "flags", EF_BAD}, + {NSC_CHAR, NSC_BITS, 0, fldoff(plnstr, pln_flags), "flags", + EF_PLANE_FLAGS}, {NSC_TIME, 0, 0, fldoff(plnstr, pln_access), "access", EF_BAD}, {NSC_TIME, NSC_EXTRA, 0, fldoff(plnstr, pln_timestamp), "timestamp", EF_BAD}, @@ -298,7 +300,8 @@ struct castr land_ca[] = { {NSC_SHORT, 0, 0, fldoff(lndstr, lnd_retreat), "retreat", EF_BAD}, {NSC_UCHAR, 0, 0, fldoff(lndstr, lnd_fuel), "fuel", EF_BAD}, {NSC_UCHAR, NSC_EXTRA, 0, fldoff(lndstr, lnd_nxlight), "nxlight", EF_BAD}, - {NSC_INT, NSC_BITS, 0, fldoff(lndstr, lnd_rflags), "rflags", EF_BAD}, + {NSC_INT, NSC_BITS, 0, fldoff(lndstr, lnd_rflags), "rflags", + EF_RETREAT_FLAGS}, {NSC_STRINGY, 0, RET_LEN, fldoff(lndstr, lnd_rpath), "rpath", EF_BAD}, {NSC_UCHAR, 0, 0, fldoff(lndstr, lnd_rad_max), "react", EF_BAD}, NSC_IVEC(fldoff(lndstr, lnd_item), ""), @@ -497,8 +500,11 @@ struct castr nat_ca[] = { EF_BAD}, {NSC_FLOAT, 0, 0, fldoff(natstr, nat_level[NAT_HLEV]), "happiness", EF_BAD}, - /* FIXME nat_b[], nat_relate[], nat_contact[], nat_rejects[], nat_priorities[] */ - {NSC_LONG, NSC_BITS, 0, fldoff(natstr, nat_flags),"flags", EF_BAD}, + /* FIXME nat_b[], nat_contact[], nat_rejects[], nat_priorities[] */ + {NSC_SHORT, 0, MAXNOC, fldoff(natstr, nat_relate), "relations", + EF_NATION_RELATIONS}, + {NSC_LONG, NSC_BITS, 0, fldoff(natstr, nat_flags),"flags", + EF_NATION_FLAGS}, {NSC_NOTYPE, 0, 0, 0, NULL, EF_BAD} }; @@ -523,8 +529,6 @@ 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, 0, 0, offsetof(struct empfile, file), "file", EF_BAD}, - {NSC_INT, NSC_BITS, 0, offsetof(struct empfile, flags), "flags", EF_BAD}, {NSC_NOTYPE, 0, 0, 0, NULL, EF_BAD} }; @@ -649,3 +653,44 @@ struct symbol mission_flags[] = { {MI_OSUPPORT, "offensive support"}, {0, NULL} }; + +struct symbol plane_flags[] = { + {PLN_LAUNCHED, "launched"}, + {PLN_SYNCHRONOUS, "synchronous"}, + {PLN_AIRBURST, "airbust"}, + {0, NULL} +}; + +struct symbol retreat_flags[] = { + {RET_GROUP, "group"}, + {RET_INJURED, "injured"}, + {RET_TORPED, "torped"}, + {RET_SONARED, "sonared"}, + {RET_HELPLESS, "helpless"}, + {RET_BOMBED, "bombed"}, + {RET_DCHRGED, "depth-charged"}, + {RET_BOARDED, "boarded"}, + {0, NULL} +}; + +struct symbol nation_flags[] = { + {NF_INFORM, "inform"}, + {NF_FLASH, "flash"}, + {NF_BEEP, "beep"}, + {NF_COASTWATCH, "coastwatch"}, + {NF_SONAR, "sonar"}, + {NF_TECHLISTS, "techlists"}, + {NF_SACKED, "sacked"}, + {0, NULL} +}; + +struct symbol nation_relations[] = { + {AT_WAR, "at-war"}, + {SITZKRIEG, "sitzkrieg"}, + {MOBILIZATION, "mobilization"}, + {HOSTILE, "hostile"}, + {NEUTRAL, "neutral"}, + {FRIENDLY, "friendly"}, + {ALLIED, "allied"}, + {0, NULL} +};