home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / descent / source / main / collide.h < prev    next >
C/C++ Source or Header  |  1998-06-08  |  5KB  |  134 lines

  1. /*
  2. THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
  3. SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
  4. END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
  5. ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
  6. IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
  7. SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
  8. FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
  9. CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
  10. AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
  11. COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
  12. */
  13. /*
  14.  * $Source: f:/miner/source/main/rcs/collide.h $
  15.  * $Revision: 2.0 $
  16.  * $Author: john $
  17.  * $Date: 1995/02/27 11:28:59 $
  18.  * 
  19.  * .
  20.  * 
  21.  * $Log: collide.h $
  22.  * Revision 2.0  1995/02/27  11:28:59  john
  23.  * New version 2.0, which has no anonymous unions, builds with
  24.  * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
  25.  * 
  26.  * Revision 1.23  1995/01/26  22:11:47  mike
  27.  * Purple chromo-blaster (ie, fusion cannon) spruce up (chromification)
  28.  * 
  29.  * Revision 1.22  1994/12/21  19:03:24  rob
  30.  * Fixing score accounting for multiplayer robots
  31.  * 
  32.  * Revision 1.21  1994/12/21  11:34:56  mike
  33.  * make control center take badass damage.
  34.  * 
  35.  * Revision 1.20  1994/10/29  16:53:16  allender
  36.  * added check_effect_blowup for demo recording to record monitor explosions
  37.  * 
  38.  * Revision 1.19  1994/10/09  13:46:48  mike
  39.  * Make public collide_player_and_powerup.
  40.  * 
  41.  * Revision 1.18  1994/10/05  14:54:29  rob
  42.  * Added serial game support in control center sequence..
  43.  * 
  44.  * Revision 1.17  1994/09/15  16:32:12  mike
  45.  * Prototype collide_player_and_nasty_robot.
  46.  * 
  47.  * Revision 1.16  1994/09/11  15:49:04  mike
  48.  * Prototype for maybe_detonate_weapon.
  49.  * 
  50.  * Revision 1.15  1994/09/09  14:20:07  matt
  51.  * Added prototype for scrape function
  52.  * 
  53.  * Revision 1.14  1994/09/02  14:00:44  matt
  54.  * Simplified explode_object() & mutliple-stage explosions
  55.  * 
  56.  * Revision 1.13  1994/08/18  10:47:35  john
  57.  * Cleaned up game sequencing and player death stuff
  58.  * in preparation for making the player explode into
  59.  * pieces when dead.
  60.  * 
  61.  * Revision 1.12  1994/08/17  16:50:08  john
  62.  * Added damaging fireballs, missiles.
  63.  * 
  64.  * Revision 1.11  1994/08/03  16:45:31  mike
  65.  * Prototype a function.
  66.  * 
  67.  * Revision 1.10  1994/08/03  15:17:41  mike
  68.  * make matcen whack on you if it's ready to make a robot.
  69.  * 
  70.  * Revision 1.9  1994/07/22  12:08:03  mike
  71.  * Make robot hit vclip and sound weapon-based until robot dies, then robot-based.
  72.  * 
  73.  * Revision 1.8  1994/07/09  17:36:31  mike
  74.  * Prototype apply_damage_to_robot.
  75.  * 
  76.  * Revision 1.7  1994/07/09  13:20:36  mike
  77.  * Prototype apply_damage_to_player.
  78.  * 
  79.  * Revision 1.6  1994/06/20  23:35:52  john
  80.  * Bunch of stuff.
  81.  * 
  82.  * Revision 1.5  1994/06/17  18:04:03  yuan
  83.  * Added Immaterialization...
  84.  * Fixed Invulnerability to allow being hit.
  85.  * 
  86.  * Revision 1.4  1994/05/13  20:28:02  john
  87.  * Version II of John's new object code.
  88.  * 
  89.  * Revision 1.3  1994/05/13  12:20:35  john
  90.  * Fixed some potential problems with code using global variables
  91.  * that are set in fvi. 
  92.  * 
  93.  * Revision 1.2  1994/05/12  23:20:32  john
  94.  * Moved all object collision handling into collide.c.
  95.  * 
  96.  * Revision 1.1  1994/05/12  20:39:09  john
  97.  * Initial revision
  98.  * 
  99.  * 
  100.  */
  101.  
  102.  
  103.  
  104. #ifndef _COLLIDE_H
  105. #define _COLLIDE_H
  106.  
  107. void collide_init();
  108. void collide_two_objects( object * A, object * B, vms_vector *collision_point );
  109. void collide_object_with_wall( object * A, fix hitspeed, short hitseg, short hitwall, vms_vector * hitpt );
  110. extern void apply_damage_to_player(object *player, object *killer, fix damage);
  111.  
  112. //    Returns 1 if robot died, else 0.
  113. extern int apply_damage_to_robot(object *robot, fix damage, int killer_objnum);
  114.  
  115. extern int Immaterial;
  116.  
  117. extern void collide_player_and_weapon( object * player, object * weapon, vms_vector *collision_point );
  118. extern void collide_player_and_materialization_center(object *objp);
  119. extern void collide_robot_and_materialization_center(object *objp);
  120.  
  121. extern scrape_object_on_wall(object *obj, short hitseg, short hitwall, vms_vector * hitpt );
  122. extern int maybe_detonate_weapon(object *obj0p, object *obj, vms_vector *pos);
  123.  
  124. extern void collide_player_and_nasty_robot( object * player, object * robot, vms_vector *collision_point );
  125.  
  126. extern void net_destroy_controlcen(object *controlcen);
  127. extern void collide_player_and_powerup( object * player, object * powerup, vms_vector *collision_point );
  128. extern int check_effect_blowup(segment *seg,int side,vms_vector *pnt);
  129. extern void apply_damage_to_controlcen(object *controlcen, fix damage, short who);
  130. extern void bump_one_object(object *obj0, vms_vector *hit_dir, fix damage);
  131.  
  132.  
  133. #endif
  134.