# 2.11BSD#431 - /usr/src/games/warp/object.c

##### Functions

    free_object       X
    make_object       X
    object_init       X
    unmake_object     X

       1: /* $Header: object.c,v 7.0 86/10/08 15:12:55 lwall Exp $ */
       2:
       3: /* $Log:	object.c,v $
       4:  * Revision 7.0  86/10/08  15:12:55  lwall
       5:  * Split into separate files.  Added amoebas and pirates.
       6:  *
       7:  */
       8:
       9: #include "EXTERN.h"
      10: #include "warp.h"
      11: #include "INTERN.h"
      12: #include "object.h"
      13:
      14: void
      15: object_init()
      16: {
      17:     ;
      18: }
      19:
      20: OBJECT *
      21: make_object(typ, img, py, px, vy, vx, energ, mas, where)
      22: char typ;
      23: char img;
      24: int px, py, vx, vy;
      25: long energ, mas;
      26: OBJECT *where;
      27: {
      28:     Reg1 OBJECT *obj;
      29:
      30:     if (free_root.next == &free_root)
      31: #ifndef lint
      32:     obj = (OBJECT *) malloc(sizeof root);
      33: #else
      34:     obj = Null(OBJECT*);
      35: #endif
      36:     else {
      37:     obj = free_root.next;
      38:     free_root.next = obj->next;
      39:     obj->next->prev = &free_root;
      40:     }
      41:     obj->type = typ;
      42:     obj->image = img;
      43:     obj->next = where;
      44:     obj->prev = where->prev;
      45:     where->prev = obj;
      46:     obj->prev->next = obj;
      47:     obj->velx = vx;
      48:     obj->vely = vy;
      49:     obj->contend = 0;
      50:     obj->strategy = 0;
      51:     obj->flags = 0;
      52:     obj->posx = px;
      53:     obj->posy = py;
      54:     if (typ != Torp && typ != Web) {
      55:     occupant[py][px] = obj;
      56:     }
      57:     obj->energy = energ;
      58:     obj->mass = mas;
      59:     return(obj);
      60: }
      61:
      62: void
      63: unmake_object(curobj)
      64: Reg1 OBJECT *curobj;
      65: {
      66:     curobj->prev->next = curobj->next;
      67:     curobj->next->prev = curobj->prev;
      68:     if (curobj == movers) {
      69:     movers = curobj->next;
      70:     }
      71:     free_object(curobj);
      72: }
      73:
      74: void
      75: free_object(curobj)
      76: Reg1 OBJECT *curobj;
      77: {
      78:     curobj->next = free_root.next;
      79:     curobj->prev = &free_root;
      80:     free_root.next->prev = curobj;
      81:     free_root.next = curobj;
      82: }

#### Defined functions

free_object defined in line 74; used 3 times

- in line 71
- in /usr/src/games/warp/init.c line 82
- in /usr/src/games/warp/object.h line 70

make_object defined in line 20; used 12 times

- in /usr/src/games/warp/init.c line 327, 365, 375, 387, 396, 455, 495
- in /usr/src/games/warp/object.h line 67
- in /usr/src/games/warp/weapon.c line 56, 63, 71, 87

object_init defined in line 14; used 2 times

- in /usr/src/games/warp/object.h line 71
- in /usr/src/games/warp/warp.c line 294

unmake_object defined in line 62; used 7 times

- in /usr/src/games/warp/move.c line 50-52(3), 515
- in /usr/src/games/warp/object.h line 69
- in /usr/src/games/warp/play.c line 159
- in /usr/src/games/warp/them.c line 321

Last modified: 1987-06-19 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 693 |