#define Root 0
#define Base 1
#define Enterprise 2
#define Star 3
#define Torp 4
#define Enemy 5
#define Web 6
#define Crusher 7
typedef struct object {
short posx, posy;
short velx, vely;
struct object *next, *prev, *contend;
long energy;
long mass;
char type;
char image;
char strategy;
char flags;
} OBJECT;
#define PIRATE 1
#define FRIENDLY 2
#define STATIC 4
#define COUNTDOWN 8
#define CLOAKS 16
#ifdef DOINIT
OBJECT root = {0, 0, 0, 0, &root, &root, 0, 0, 0, Root, '?', 0, 0};
#else
EXT OBJECT root;
#endif
#ifdef DOINIT
OBJECT free_root = {0, 0, 0, 0, &free_root, &free_root, 0, 0, 0, Root, '?', 0, 0};
#else
EXT OBJECT free_root;
#endif
EXT OBJECT *ent;
EXT OBJECT *base;
EXT OBJECT *enemies;
EXT OBJECT *movers;
EXT OBJECT *realapollo;
EXT OBJECT *nuke;
EXT OBJECT *occupant[YSIZE][XSIZE];
void object_init(void);
OBJECT *make_object(char, char, int, int, int, int, long, long, OBJECT *);
void unmake_object(OBJECT *);
void free_object(OBJECT *);