extern char *obj_nameof(struct empobj *gp);
extern struct empobj *get_empobjp(int type, int id);
-extern int put_empobj(struct empobj *gp);
+extern int put_empobj(int, int, struct empobj *gp);
extern struct empobj_chr *get_empobj_chr(struct empobj *gp);
extern char *emp_obj_chr_name(struct empobj *gp);
extern int get_empobj_mob_max(int type);
gp->mission = mission;
gp->opx = x;
gp->opy = y;
- put_empobj(gp);
+ put_empobj(type, gp->uid, gp);
}
if (num == 0) {
pr("No %s%s\n", ef_nameof(type), splur(num));
}
int
-put_empobj(struct empobj *gp)
+put_empobj(int type, int id, struct empobj *gp)
{
- switch (gp->ef_type)
- {
- case EF_SECTOR:
- return ef_write(gp->ef_type, sctoff(gp->x, gp->y), gp);
- case EF_NATION:
- case EF_BMAP:
- case EF_MAP:
- return ef_write(gp->ef_type, gp->own, gp);
- default:
- return ef_write(gp->ef_type, gp->uid, gp);
- }
+ return ef_write(type, id, gp);
}
struct empobj_chr *
}
if (ulp->unit.ef_type == EF_SHIP)
ulp->unit.ship.shp_mobil = (int)ulp->mobil;
- put_empobj(&ulp->unit.gen);
+ put_empobj(ulp->unit.gen.ef_type, ulp->unit.gen.uid, &ulp->unit.gen);
newqp = qp->q_back;
emp_remque(qp);
free(qp);