Home | History | Annotate | Line # | Download | only in warp
object.h revision 1.4
      1  1.2     kamil /* Header: object.h,v 7.0.1.2 86/12/12 17:01:38 lwall Exp */
      2  1.1     kamil 
      3  1.2     kamil /* Log:	object.h,v
      4  1.1     kamil  * Revision 7.0.1.2  86/12/12  17:01:38  lwall
      5  1.1     kamil  * Baseline for net release.
      6  1.4    rillig  *
      7  1.1     kamil  * Revision 7.0.1.1  86/10/16  10:52:30  lwall
      8  1.1     kamil  * Added Damage.  Fixed random bugs.
      9  1.4    rillig  *
     10  1.1     kamil  * Revision 7.0  86/10/08  15:13:04  lwall
     11  1.1     kamil  * Split into separate files.  Added amoebas and pirates.
     12  1.4    rillig  *
     13  1.1     kamil  */
     14  1.1     kamil 
     15  1.1     kamil #define Root 0
     16  1.1     kamil #define Base 1
     17  1.1     kamil #define Enterprise 2
     18  1.1     kamil #define Star 3
     19  1.1     kamil #define Torp 4
     20  1.1     kamil #define Enemy 5
     21  1.1     kamil #define Web 6
     22  1.1     kamil #define Crusher 7
     23  1.1     kamil 
     24  1.1     kamil typedef struct object {
     25  1.3  christos     short posx, posy;
     26  1.1     kamil     short velx, vely;
     27  1.1     kamil     struct object *next, *prev, *contend;
     28  1.1     kamil     long energy;
     29  1.1     kamil     long mass;
     30  1.1     kamil     char type;
     31  1.1     kamil     char image;
     32  1.1     kamil     char strategy;
     33  1.1     kamil     char flags;
     34  1.1     kamil } OBJECT;
     35  1.1     kamil 
     36  1.1     kamil #define PIRATE 1	/* we may mutiny */
     37  1.1     kamil #define FRIENDLY 2	/* we aren't really an enemy, for now */
     38  1.1     kamil #define STATIC 4	/* we are not in the movers list at the moment */
     39  1.1     kamil #define COUNTDOWN 8	/* we are counting down for something */
     40  1.1     kamil #define CLOAKS 16	/* we can cloak */
     41  1.1     kamil 
     42  1.1     kamil #ifdef DOINIT
     43  1.1     kamil OBJECT root = {0, 0, 0, 0, &root, &root, 0, 0, 0, Root, '?', 0, 0};
     44  1.1     kamil #else
     45  1.1     kamil EXT OBJECT root;
     46  1.1     kamil #endif
     47  1.1     kamil 
     48  1.1     kamil #ifdef DOINIT
     49  1.1     kamil OBJECT free_root = {0, 0, 0, 0, &free_root, &free_root, 0, 0, 0, Root, '?', 0, 0};
     50  1.1     kamil #else
     51  1.1     kamil EXT OBJECT free_root;
     52  1.1     kamil #endif
     53  1.1     kamil 
     54  1.1     kamil EXT OBJECT *ent;
     55  1.1     kamil EXT OBJECT *base;
     56  1.1     kamil EXT OBJECT *enemies;
     57  1.1     kamil EXT OBJECT *movers;
     58  1.1     kamil EXT OBJECT *realapollo;
     59  1.1     kamil EXT OBJECT *nuke;
     60  1.1     kamil 
     61  1.1     kamil EXT OBJECT *occupant[YSIZE][XSIZE];
     62  1.1     kamil 
     63  1.3  christos void object_init(void);
     64  1.3  christos OBJECT *make_object(char, char, int, int, int, int, long, long, OBJECT *);
     65  1.3  christos void unmake_object(OBJECT *);
     66  1.3  christos void free_object(OBJECT *);
     67