(pr_leader_change, get_leader, switch_leader): Move

pr_leader_change(), get_leader() and switch_leader()
from marc.c to navi.c.
This commit is contained in:
Ron Koenderink 2007-01-20 01:42:39 +00:00
parent 2d52f976e3
commit d57a57155c
2 changed files with 34 additions and 35 deletions

View file

@ -295,3 +295,37 @@ nav_map(int x, int y, int show_designations)
pr("%s\n", wmap[i]);
return RET_OK;
}
void
pr_leader_change(struct empobj *leader)
{
pr("Changing %s to %s\n",
leader->ef_type == EF_SHIP ? "flagship" : "leader",
obj_nameof(leader));
}
struct empobj *
get_leader(struct emp_qelem *list)
{
return &((struct ulist *)(list->q_back))->unit.gen;
}
void
switch_leader(struct emp_qelem *list, int uid)
{
struct emp_qelem *qp, *save;
struct ulist *ulp;
if (QEMPTY(list))
return;
save = qp = list->q_back;
do {
emp_remque(qp);
emp_insque(qp, list);
qp = list->q_back;
ulp = (struct ulist *)qp;
if (ulp->unit.gen.uid == uid || uid == -1)
break;
} while (list->q_back != save);
}