Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
#define FRIENDLY 3
#define ALLIED 4
#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
#define NAT_TLEV 0
#define NAT_RLEV 1
#define NAT_ELEV 2
unsigned char con_contact[MAXNOC];
};
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 */
extern char *relates[];
/* procedures relating to nation stuff */
#define getrealm(r, n, p) ef_read(EF_REALM, ((r) + ((n) * MAXNOR)), (p))
#define putrealm(p) ef_write(EF_REALM, (p)->r_uid, (p))
#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);
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 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);
extern int in_contact(natid, natid);
extern void putrel(struct natstr *np, natid them, int relate);
extern void agecontact(struct natstr *np);
extern struct natstr *nat_reset(struct natstr *, natid, char *, char *,
enum nat_status);
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);
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);
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 :) */
/* 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 :) */
extern void radmap(int, int, int, double, int, double);
extern void rad_map_set(natid, int, int, int, double, int);
/* rej.c */
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);
/* retreat.c */
/* in retreat.h */
/* sarg.c */
/* retreat.c */
/* in retreat.h */
/* sarg.c */
int do_undo;
struct natstr nat;
struct nstr_item ni;
int do_undo;
struct natstr nat;
struct nstr_item ni;
-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
{
return getnatp(them)->nat_stat == STAT_GOD
- || !(np->nat_rejects[them] & what);
+ || !(np->nat_rejects[them] & bit(what));
};
struct symbol nation_rejects[] = {
};
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"},
-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;
{
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);
- np->nat_rejects[them] &= ~what;
+ np->nat_rejects[them] &= ~bit(what);