(switch_leader): Generalize the code, no functional changes.
(navi): Change switch_flagship() to call switch_leader() instead. (switch_flagship): Remove, not needed, replaced with switch_leader().
This commit is contained in:
parent
a4e79680e3
commit
fd49704a74
3 changed files with 8 additions and 30 deletions
|
@ -62,6 +62,7 @@ extern int display_mark(i_type, int);
|
||||||
extern int want_to_abandon(struct sctstr *, i_type, int, struct lndstr *);
|
extern int want_to_abandon(struct sctstr *, i_type, int, struct lndstr *);
|
||||||
extern int would_abandon(struct sctstr *, i_type, int, struct lndstr *);
|
extern int would_abandon(struct sctstr *, i_type, int, struct lndstr *);
|
||||||
extern int nav_map(int, int, int);
|
extern int nav_map(int, int, int);
|
||||||
|
extern void switch_leader(struct emp_qelem *list, int uid);
|
||||||
extern int count_pop(int);
|
extern int count_pop(int);
|
||||||
extern int scuttle_tradeship(struct shpstr *, int);
|
extern int scuttle_tradeship(struct shpstr *, int);
|
||||||
extern void scuttle_ship(struct shpstr *);
|
extern void scuttle_ship(struct shpstr *);
|
||||||
|
|
|
@ -43,7 +43,6 @@
|
||||||
#include "unit.h"
|
#include "unit.h"
|
||||||
|
|
||||||
static int set_leader(struct emp_qelem *list, struct lndstr **leaderp);
|
static int set_leader(struct emp_qelem *list, struct lndstr **leaderp);
|
||||||
static void switch_leader(struct emp_qelem *list, int land_uid);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
march(void)
|
march(void)
|
||||||
|
@ -201,11 +200,11 @@ set_leader(struct emp_qelem *list, struct lndstr **leaderp)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
switch_leader(struct emp_qelem *list, int land_uid)
|
switch_leader(struct emp_qelem *list, int uid)
|
||||||
{
|
{
|
||||||
struct emp_qelem *qp, *save;
|
struct emp_qelem *qp, *save;
|
||||||
struct ulist *llp;
|
struct ulist *ulp;
|
||||||
|
|
||||||
if (QEMPTY(list))
|
if (QEMPTY(list))
|
||||||
return;
|
return;
|
||||||
|
@ -215,8 +214,8 @@ switch_leader(struct emp_qelem *list, int land_uid)
|
||||||
emp_remque(qp);
|
emp_remque(qp);
|
||||||
emp_insque(qp, list);
|
emp_insque(qp, list);
|
||||||
qp = list->q_back;
|
qp = list->q_back;
|
||||||
llp = (struct ulist *)qp;
|
ulp = (struct ulist *)qp;
|
||||||
if (llp->unit.land.lnd_uid == land_uid || land_uid == -1)
|
if (ulp->unit.gen.uid == uid || uid == -1)
|
||||||
break;
|
break;
|
||||||
} while (list->q_back != save);
|
} while (list->q_back != save);
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
#include "unit.h"
|
#include "unit.h"
|
||||||
|
|
||||||
static int set_flagship(struct emp_qelem *list, struct shpstr **flagshipp);
|
static int set_flagship(struct emp_qelem *list, struct shpstr **flagshipp);
|
||||||
static void switch_flagship(struct emp_qelem *list, int ship_uid);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
navi(void)
|
navi(void)
|
||||||
|
@ -168,9 +167,9 @@ navi(void)
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
if (ac <= 1)
|
if (ac <= 1)
|
||||||
switch_flagship(&ship_list, -1);
|
switch_leader(&ship_list, -1);
|
||||||
else
|
else
|
||||||
switch_flagship(&ship_list, atoi(player->argp[1]));
|
switch_leader(&ship_list, atoi(player->argp[1]));
|
||||||
set_flagship(&ship_list, &shp);
|
set_flagship(&ship_list, &shp);
|
||||||
break;
|
break;
|
||||||
case 'i':
|
case 'i':
|
||||||
|
@ -301,24 +300,3 @@ set_flagship(struct emp_qelem *list, struct shpstr **flagshipp)
|
||||||
pr("%s\n", prship(&mlp->unit.ship));
|
pr("%s\n", prship(&mlp->unit.ship));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
switch_flagship(struct emp_qelem *list, int ship_uid)
|
|
||||||
{
|
|
||||||
struct emp_qelem *qp, *save;
|
|
||||||
struct ulist *mlp;
|
|
||||||
|
|
||||||
if (QEMPTY(list))
|
|
||||||
return;
|
|
||||||
|
|
||||||
save = qp = list->q_back;
|
|
||||||
do {
|
|
||||||
emp_remque(qp);
|
|
||||||
emp_insque(qp, list);
|
|
||||||
qp = list->q_back;
|
|
||||||
mlp = (struct ulist *)qp;
|
|
||||||
if (mlp->unit.ship.shp_uid == ship_uid || ship_uid == -1)
|
|
||||||
break;
|
|
||||||
} while (list->q_back != save);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue