Home | History | Annotate | Line # | Download | only in warp
object.h revision 1.2
      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.1  kamil  *
      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.1  kamil  *
     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.1  kamil  *
     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.1  kamil     char posx, posy;
     26  1.1  kamil #ifdef SIGNEDCHAR
     27  1.1  kamil     char velx, vely;
     28  1.1  kamil #else
     29  1.1  kamil     short velx, vely;
     30  1.1  kamil #endif
     31  1.1  kamil     struct object *next, *prev, *contend;
     32  1.1  kamil     long energy;
     33  1.1  kamil     long mass;
     34  1.1  kamil     char type;
     35  1.1  kamil     char image;
     36  1.1  kamil     char strategy;
     37  1.1  kamil     char flags;
     38  1.1  kamil } OBJECT;
     39  1.1  kamil 
     40  1.1  kamil #define PIRATE 1	/* we may mutiny */
     41  1.1  kamil #define FRIENDLY 2	/* we aren't really an enemy, for now */
     42  1.1  kamil #define STATIC 4	/* we are not in the movers list at the moment */
     43  1.1  kamil #define COUNTDOWN 8	/* we are counting down for something */
     44  1.1  kamil #define CLOAKS 16	/* we can cloak */
     45  1.1  kamil 
     46  1.1  kamil #ifdef DOINIT
     47  1.1  kamil OBJECT root = {0, 0, 0, 0, &root, &root, 0, 0, 0, Root, '?', 0, 0};
     48  1.1  kamil #else
     49  1.1  kamil EXT OBJECT root;
     50  1.1  kamil #endif
     51  1.1  kamil 
     52  1.1  kamil #ifdef DOINIT
     53  1.1  kamil OBJECT free_root = {0, 0, 0, 0, &free_root, &free_root, 0, 0, 0, Root, '?', 0, 0};
     54  1.1  kamil #else
     55  1.1  kamil EXT OBJECT free_root;
     56  1.1  kamil #endif
     57  1.1  kamil 
     58  1.1  kamil EXT OBJECT *ent;
     59  1.1  kamil EXT OBJECT *base;
     60  1.1  kamil EXT OBJECT *enemies;
     61  1.1  kamil EXT OBJECT *movers;
     62  1.1  kamil EXT OBJECT *realapollo;
     63  1.1  kamil EXT OBJECT *nuke;
     64  1.1  kamil 
     65  1.1  kamil EXT OBJECT *occupant[YSIZE][XSIZE];
     66  1.1  kamil 
     67  1.1  kamil OBJECT *make_object();
     68  1.1  kamil 
     69  1.1  kamil void unmake_object();
     70  1.1  kamil void free_object();
     71  1.1  kamil void object_init();
     72