From 028a1bf3d8efd5b4fb4c7779ba12338c9f278972 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sat, 31 Dec 2005 10:29:32 +0000 Subject: [PATCH] (EF_RESOURCES, resources): New. (empfile): Add it. (pchr_ca): Use it. --- include/file.h | 3 ++- include/nsc.h | 1 + src/lib/global/file.c | 7 +++---- src/lib/global/nsc.c | 13 ++++++++++++- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/include/file.h b/include/file.h index d3ba21fc..da7be336 100644 --- a/include/file.h +++ b/include/file.h @@ -141,7 +141,8 @@ struct empfile { #define EF_AGREEMENT_STATUS 39 #define EF_PLAGUE_STAGES 40 #define EF_PACKING 41 -#define EF_MAX 42 +#define EF_RESOURCES 42 +#define EF_MAX 43 #define EF_IS_GAME_STATE(type) (EF_SECTOR <= (type) && (type) <= EF_LOST) diff --git a/include/nsc.h b/include/nsc.h index d0776f9f..3bd91f3e 100644 --- a/include/nsc.h +++ b/include/nsc.h @@ -233,6 +233,7 @@ extern struct symbol level[]; extern struct symbol agreement_statuses[]; extern struct symbol plague_stages[]; extern struct symbol packing[]; +extern struct symbol resources[]; /* 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 d8a0719f..a56c0fe1 100644 --- a/src/lib/global/file.c +++ b/src/lib/global/file.c @@ -169,8 +169,7 @@ struct empfile empfile[] = { PTR_CACHE(meta_type, EFF_CFG)}, {EF_META_FLAGS, "meta-flags", NULL, symbol_ca, PTR_CACHE(meta_flags, EFF_CFG)}, - {EF_MISSIONS, "missions", NULL, symbol_ca, - PTR_CACHE(missions, EFF_CFG)}, + {EF_MISSIONS, "missions", NULL, symbol_ca, PTR_CACHE(missions, EFF_CFG)}, {EF_PLANE_FLAGS, "plane-flags", NULL, symbol_ca, PTR_CACHE(plane_flags, EFF_CFG)}, {EF_RETREAT_FLAGS, "retreat-flags", NULL, symbol_ca, @@ -184,8 +183,8 @@ struct empfile empfile[] = { PTR_CACHE(agreement_statuses, EFF_CFG)}, {EF_PLAGUE_STAGES, "plague-stages", NULL, symbol_ca, PTR_CACHE(plague_stages, EFF_CFG)}, - {EF_PACKING, "packing", NULL, symbol_ca, - PTR_CACHE(packing, EFF_CFG)}, + {EF_PACKING, "packing", NULL, symbol_ca, PTR_CACHE(packing, EFF_CFG)}, + {EF_RESOURCES, "resources", NULL, symbol_ca, PTR_CACHE(resources, 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 f4d67adf..5aa0c182 100644 --- a/src/lib/global/nsc.c +++ b/src/lib/global/nsc.c @@ -106,7 +106,7 @@ struct castr pchr_ca[] = { EF_ITEM}, {NSC_INT, 0, 0, offsetof(struct pchrstr, p_level), "level", EF_LEVEL}, {NSC_INT, 0, 0, offsetof(struct pchrstr, p_cost), "cost", EF_BAD}, - {NSC_INT, 0, 0, offsetof(struct pchrstr, p_nrndx), "nrndx", EF_BAD}, + {NSC_INT, 0, 0, offsetof(struct pchrstr, p_nrndx), "nrndx", EF_RESOURCES}, {NSC_INT, 0, 0, offsetof(struct pchrstr, p_nrdep), "nrdep", EF_BAD}, {NSC_INT, 0, 0, offsetof(struct pchrstr, p_nlndx), "nlndx", EF_BAD}, {NSC_INT, 0, 0, offsetof(struct pchrstr, p_nlmin), "nlmin", EF_BAD}, @@ -748,3 +748,14 @@ struct symbol packing[] = { {BPKG, "bank"}, {0, NULL} }; + +struct symbol resources[] = { + /* names should match resource selector names in sect_ca[] */ + {0, "none"}, + {offsetof(struct sctstr, sct_min), "min"}, + {offsetof(struct sctstr, sct_gmin), "gold"}, + {offsetof(struct sctstr, sct_fertil), "fert"}, + {offsetof(struct sctstr, sct_oil), "ocontent"}, + {offsetof(struct sctstr, sct_uran), "uran"}, + {0, NULL} +};