relations: New enum relations
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
f88365e762
commit
0b05f11d28
9 changed files with 32 additions and 25 deletions
|
@ -111,21 +111,27 @@ struct natstr {
|
||||||
time_t nat_newstim; /* date news last read */
|
time_t nat_newstim; /* date news last read */
|
||||||
time_t nat_annotim; /* date annos last read */
|
time_t nat_annotim; /* date annos last read */
|
||||||
float nat_level[4]; /* technology, etc */
|
float nat_level[4]; /* technology, etc */
|
||||||
unsigned char nat_relate[MAXNOC];
|
unsigned char nat_relate[MAXNOC]; /* enum relations */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* nation relation codes */
|
|
||||||
#define AT_WAR 0
|
|
||||||
#define HOSTILE 1
|
|
||||||
#define NEUTRAL 2
|
|
||||||
#define FRIENDLY 3
|
|
||||||
#define ALLIED 4
|
|
||||||
|
|
||||||
#define NAT_TLEV 0
|
#define NAT_TLEV 0
|
||||||
#define NAT_RLEV 1
|
#define NAT_RLEV 1
|
||||||
#define NAT_ELEV 2
|
#define NAT_ELEV 2
|
||||||
#define NAT_HLEV 3
|
#define NAT_HLEV 3
|
||||||
|
|
||||||
|
/* Diplomatic relations */
|
||||||
|
enum relations {
|
||||||
|
/*
|
||||||
|
* Don't change order without checking inequality comparisons and
|
||||||
|
* array initializers!
|
||||||
|
*/
|
||||||
|
AT_WAR,
|
||||||
|
HOSTILE,
|
||||||
|
NEUTRAL,
|
||||||
|
FRIENDLY,
|
||||||
|
ALLIED
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Number of updates contact lasts for various ways of making contact.
|
* Number of updates contact lasts for various ways of making contact.
|
||||||
* These are only useful with option LOSE_CONTACT, which implies
|
* These are only useful with option LOSE_CONTACT, which implies
|
||||||
|
@ -197,8 +203,8 @@ extern double techfact(int level, double mult);
|
||||||
extern char *cname(natid n);
|
extern char *cname(natid n);
|
||||||
extern char *relatename(struct natstr *np, natid other);
|
extern char *relatename(struct natstr *np, natid other);
|
||||||
extern char *natstate(struct natstr *np);
|
extern char *natstate(struct natstr *np);
|
||||||
extern int getrel(struct natstr *np, natid them);
|
extern enum relations getrel(struct natstr *np, natid them);
|
||||||
extern int relations_with(natid, natid);
|
extern enum relations relations_with(natid, natid);
|
||||||
extern int nat_accepts(natid, natid, enum rej_comm);
|
extern int nat_accepts(natid, natid, enum rej_comm);
|
||||||
extern int in_contact(natid, natid);
|
extern int in_contact(natid, natid);
|
||||||
extern void agecontact(struct natstr *np);
|
extern void agecontact(struct natstr *np);
|
||||||
|
@ -215,7 +221,7 @@ extern char *prnatid(natid);
|
||||||
extern int grant_btus(struct natstr *, int);
|
extern int grant_btus(struct natstr *, int);
|
||||||
|
|
||||||
/* src/lib/subs/rej.c */
|
/* src/lib/subs/rej.c */
|
||||||
extern void setrel(natid, natid, int);
|
extern void setrel(natid, natid, enum relations);
|
||||||
extern void setcont(natid, natid, int);
|
extern void setcont(natid, natid, int);
|
||||||
extern void setrej(natid, natid, int, enum rej_comm);
|
extern void setrej(natid, natid, int, enum rej_comm);
|
||||||
|
|
||||||
|
|
|
@ -192,7 +192,7 @@ sneak_ashore(struct combat off[], struct emp_qelem *olist,
|
||||||
struct emp_qelem *qp;
|
struct emp_qelem *qp;
|
||||||
struct ulist *llp;
|
struct ulist *llp;
|
||||||
struct lndstr *lp;
|
struct lndstr *lp;
|
||||||
int rel;
|
enum relations rel;
|
||||||
|
|
||||||
pr("Trying to sneak on shore...\n");
|
pr("Trying to sneak on shore...\n");
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ int
|
||||||
decl(void)
|
decl(void)
|
||||||
{
|
{
|
||||||
struct natstr nat;
|
struct natstr nat;
|
||||||
int rel;
|
enum relations rel;
|
||||||
int who;
|
int who;
|
||||||
struct nstr_item ni;
|
struct nstr_item ni;
|
||||||
char *p;
|
char *p;
|
||||||
|
|
|
@ -57,7 +57,7 @@ int
|
||||||
spy(void)
|
spy(void)
|
||||||
{
|
{
|
||||||
natid own;
|
natid own;
|
||||||
int relat;
|
enum relations relat;
|
||||||
coord x, y;
|
coord x, y;
|
||||||
coord nx, ny;
|
coord nx, ny;
|
||||||
int military;
|
int military;
|
||||||
|
@ -252,7 +252,7 @@ prplanes(int x, int y)
|
||||||
static char *
|
static char *
|
||||||
player_relstr(natid them)
|
player_relstr(natid them)
|
||||||
{
|
{
|
||||||
int rel = relations_with(player->cnum, them);
|
enum relations rel = relations_with(player->cnum, them);
|
||||||
|
|
||||||
if (rel == ALLIED)
|
if (rel == ALLIED)
|
||||||
return "Allied";
|
return "Allied";
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
#include "tel.h"
|
#include "tel.h"
|
||||||
|
|
||||||
char *relates[] = {
|
char *relates[] = {
|
||||||
/* must follow nation relation defines in nat.h */
|
/* must match enum relations */
|
||||||
"At War", "Hostile", "Neutral", "Friendly", "Allied"
|
"At War", "Hostile", "Neutral", "Friendly", "Allied"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ natstate(struct natstr *np)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This returns the relations that np has with them */
|
/* This returns the relations that np has with them */
|
||||||
int
|
enum relations
|
||||||
getrel(struct natstr *np, natid them)
|
getrel(struct natstr *np, natid them)
|
||||||
{
|
{
|
||||||
return np->nat_relate[them];
|
return np->nat_relate[them];
|
||||||
|
@ -83,7 +83,7 @@ getrel(struct natstr *np, natid them)
|
||||||
* Return relations @us has with @them.
|
* Return relations @us has with @them.
|
||||||
* Countries are considered allied to themselves.
|
* Countries are considered allied to themselves.
|
||||||
*/
|
*/
|
||||||
int
|
enum relations
|
||||||
relations_with(natid us, natid them)
|
relations_with(natid us, natid them)
|
||||||
{
|
{
|
||||||
return us == them ? ALLIED : getrel(getnatp(us), them);
|
return us == them ? ALLIED : getrel(getnatp(us), them);
|
||||||
|
|
|
@ -65,7 +65,7 @@ static void ac_doflak(struct emp_qelem *, struct sctstr *);
|
||||||
static void ac_landflak(struct emp_qelem *, coord, coord);
|
static void ac_landflak(struct emp_qelem *, coord, coord);
|
||||||
static void ac_shipflak(struct emp_qelem *, coord, coord);
|
static void ac_shipflak(struct emp_qelem *, coord, coord);
|
||||||
static void ac_fireflak(struct emp_qelem *, natid, int);
|
static void ac_fireflak(struct emp_qelem *, natid, int);
|
||||||
static void getilists(struct emp_qelem *, unsigned char *, natid);
|
static void getilists(struct emp_qelem *, enum relations[], natid);
|
||||||
static int do_evade(struct emp_qelem *, struct emp_qelem *);
|
static int do_evade(struct emp_qelem *, struct emp_qelem *);
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -76,7 +76,7 @@ ac_encounter(struct emp_qelem *bomb_list, struct emp_qelem *esc_list,
|
||||||
int dir;
|
int dir;
|
||||||
unsigned char gotships[MAXNOC];
|
unsigned char gotships[MAXNOC];
|
||||||
unsigned char gotlands[MAXNOC];
|
unsigned char gotlands[MAXNOC];
|
||||||
unsigned char rel[MAXNOC];
|
enum relations rel[MAXNOC];
|
||||||
int overfly[MAXNOC];
|
int overfly[MAXNOC];
|
||||||
int flags;
|
int flags;
|
||||||
struct emp_qelem ilist[MAXNOC];
|
struct emp_qelem ilist[MAXNOC];
|
||||||
|
@ -741,7 +741,7 @@ ac_flak_dam(int guns, int def, int pl_flags)
|
||||||
* Get planes available for interception duties.
|
* Get planes available for interception duties.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
getilists(struct emp_qelem *list, unsigned char *rel, natid intruder)
|
getilists(struct emp_qelem *list, enum relations rel[], natid intruder)
|
||||||
{
|
{
|
||||||
natid cn;
|
natid cn;
|
||||||
struct plchrstr *pcp;
|
struct plchrstr *pcp;
|
||||||
|
|
|
@ -987,7 +987,7 @@ lnd_mar_dir(struct emp_qelem *list, int dir, natid actor)
|
||||||
coord newx;
|
coord newx;
|
||||||
coord newy;
|
coord newy;
|
||||||
int move;
|
int move;
|
||||||
int rel;
|
enum relations rel;
|
||||||
int oldown;
|
int oldown;
|
||||||
|
|
||||||
if (CANT_HAPPEN(QEMPTY(list)))
|
if (CANT_HAPPEN(QEMPTY(list)))
|
||||||
|
|
|
@ -179,7 +179,8 @@ int
|
||||||
unit_interdict(coord x, coord y, natid victim, char *s, int hardtarget,
|
unit_interdict(coord x, coord y, natid victim, char *s, int hardtarget,
|
||||||
int mission)
|
int mission)
|
||||||
{
|
{
|
||||||
int cn, rel, newdam, osubs;
|
int cn, newdam, osubs;
|
||||||
|
enum relations rel;
|
||||||
int dam = -1;
|
int dam = -1;
|
||||||
unsigned char plane_act[MAXNOC], other_act[MAXNOC];
|
unsigned char plane_act[MAXNOC], other_act[MAXNOC];
|
||||||
struct genlist mi[MAXNOC];
|
struct genlist mi[MAXNOC];
|
||||||
|
|
|
@ -41,10 +41,10 @@
|
||||||
#include "update.h"
|
#include "update.h"
|
||||||
|
|
||||||
void
|
void
|
||||||
setrel(natid us, natid them, int rel)
|
setrel(natid us, natid them, enum relations rel)
|
||||||
{
|
{
|
||||||
struct natstr *mynp = getnatp(us);
|
struct natstr *mynp = getnatp(us);
|
||||||
int oldrel;
|
enum relations oldrel;
|
||||||
char *whichway;
|
char *whichway;
|
||||||
int n_up = 0;
|
int n_up = 0;
|
||||||
int n_down = 0;
|
int n_down = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue