]> git.pond.sub.org Git - empserver/commitdiff
reject: New enum rej_comm for REJ_TELE & friends
authorMarkus Armbruster <armbru@pond.sub.org>
Mon, 31 Oct 2016 10:44:04 +0000 (11:44 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 6 Aug 2017 18:09:21 +0000 (20:09 +0200)
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
include/nat.h
include/prototypes.h
src/lib/commands/reje.c
src/lib/common/nat.c
src/lib/global/symbol.c
src/lib/subs/rej.c

index e4f70a5ecd1f253ecf85c90a873699b04531b97e..2ad7f049cdd529e86b62a0e10f1193748388264f 100644 (file)
@@ -122,11 +122,6 @@ struct natstr {
 #define FRIENDLY       3
 #define ALLIED         4
 
-       /* nation reject codes */
-#define REJ_TELE       bit(0)  /* dont allow telegrams to be sent */
-#define REJ_ANNO       bit(1)  /* don't receive announcements */
-#define REJ_LOAN       bit(2)  /* don't allow loans to be offered */
-
 #define NAT_TLEV       0
 #define NAT_RLEV       1
 #define NAT_ELEV       2
@@ -159,6 +154,13 @@ struct contactstr {
     unsigned char con_contact[MAXNOC];
 };
 
+/* Kinds of communication players can reject */
+enum rej_comm {
+    REJ_TELE,                  /* dont allow telegrams to be sent */
+    REJ_ANNO,                  /* don't receive announcements */
+    REJ_LOAN                   /* don't allow loans to be offered */
+};
+
 extern char *relates[];
 
 /* procedures relating to nation stuff */
@@ -173,15 +175,17 @@ extern char *relates[];
 #define getrealm(r, n, p) ef_read(EF_REALM, ((r) + ((n) * MAXNOR)), (p))
 #define putrealm(p) ef_write(EF_REALM, (p)->r_uid, (p))
 
+/* src/lib/common/tfact.c */
 extern double tfact(natid cn, double mult);
 extern double techfact(int level, double mult);
 
+/* src/lib/common/nat.c */
 extern char *cname(natid n);
 extern char *relatename(struct natstr *np, natid other);
 extern char *natstate(struct natstr *np);
 extern int getrel(struct natstr *np, natid them);
 extern int relations_with(natid, natid);
-extern int nat_accepts(struct natstr *, natid, int);
+extern int nat_accepts(struct natstr *, natid, enum rej_comm);
 extern int in_contact(natid, natid);
 extern void putrel(struct natstr *np, natid them, int relate);
 extern void agecontact(struct natstr *np);
@@ -189,12 +193,19 @@ extern int influx(struct natstr *np);
 extern struct natstr *nat_reset(struct natstr *, natid, char *, char *,
                                enum nat_status);
 
+/* src/lib/subs/natsub.c */
 extern int check_nat_name(char *, natid);
 extern char *prnat(struct natstr *);
 extern char *prnatid(natid);
 
+/* src/lib/common/btu.c */
 extern int grant_btus(struct natstr *, int);
 
+/* src/lib/subs/rej.c */
+extern void setrel(natid, natid, int);
+extern void setcont(natid, natid, int);
+extern void setrej(natid, natid, int, enum rej_comm);
+
 /* nation flags */
 #define NF_INFORM      bit(0)  /* Inform me of telegrams right away */
 #define NF_FLASH       bit(1)  /* Allow other players to flash me (sicko :) */
index 5ea7a47abe2b86cb010237825dc71a639544f1aa..0471335bc860a29dcb0ddd543ec0a985ad5b9dad 100644 (file)
@@ -563,9 +563,7 @@ extern int delty(struct range *, coord);
 extern void radmap(int, int, int, double, int, double);
 extern void rad_map_set(natid, int, int, int, double, int);
 /* rej.c */
-extern void setrel(natid, natid, int);
-extern void setcont(natid, natid, int);
-extern void setrej(natid, natid, int, int);
+/* in nat.h */
 /* retreat.c */
 /* in retreat.h */
 /* sarg.c */
index c2f1c3f9878fcedcb247772faac6383681aef70f..b8b729e0cfaaa3479bc83b0eb2c56c310d035e8a 100644 (file)
@@ -38,7 +38,7 @@ int
 reje(void)
 {
     char *p;
-    int rel;
+    enum rej_comm rel;
     int do_undo;
     struct natstr nat;
     struct nstr_item ni;
index 87f0cff94e6fb89e05b57436b14138ee0940505c..6c2119e0af45f9954d06cc404c76d0db8ed93d63 100644 (file)
@@ -90,10 +90,10 @@ relations_with(natid us, natid them)
 }
 
 int
-nat_accepts(struct natstr *np, natid them, int what)
+nat_accepts(struct natstr *np, natid them, enum rej_comm what)
 {
     return getnatp(them)->nat_stat == STAT_GOD
-       || !(np->nat_rejects[them] & what);
+       || !(np->nat_rejects[them] & bit(what));
 }
 
 void
index 268909b6fb40f49f4ba41e6ca591205509d2a414..bf0b480bbd09ca7d0e0af10f74704e4a34d9dc8c 100644 (file)
@@ -115,9 +115,9 @@ struct symbol nation_flags[] = {
 };
 
 struct symbol nation_rejects[] = {
-    {REJ_TELE, "telegrams"},
-    {REJ_ANNO, "announcements"},
-    {REJ_LOAN, "loans"},
+    {bit(REJ_TELE), "telegrams"},
+    {bit(REJ_ANNO), "announcements"},
+    {bit(REJ_LOAN), "loans"},
     {0, NULL}
 };
 
index d0a0abca6916aed92d855fd09cfbf0af81d55cd9..c841c06248785d874c2d715462ba50b0726e0d42 100644 (file)
@@ -132,15 +132,15 @@ setcont(natid us, natid them, int contact)
 }
 
 void
-setrej(natid us, natid them, int how, int what)
+setrej(natid us, natid them, int reject, enum rej_comm what)
 {
     struct natstr *np = getnatp(us);
 
     if (CANT_HAPPEN(!np))
        return;
-    if (how)
-       np->nat_rejects[them] |= what;
+    if (reject)
+       np->nat_rejects[them] |= bit(what);
     else
-       np->nat_rejects[them] &= ~what;
+       np->nat_rejects[them] &= ~bit(what);
     putnat(np);
 }