home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #6 / amigaacscoverdisc1998-061998.iso / games / descent / source / lib / vclip.h < prev    next >
Text File  |  1998-06-08  |  5KB  |  173 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/vclip.h $
  15.  * $Revision: 2.0 $
  16.  * $Author: john $
  17.  * $Date: 1995/02/27 11:32:42 $
  18.  * 
  19.  * Stuff for video clips.
  20.  * 
  21.  * $Log: vclip.h $
  22.  * Revision 2.0  1995/02/27  11:32:42  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.33  1994/11/21  11:17:57  adam
  27.  * *** empty log message ***
  28.  * 
  29.  * Revision 1.32  1994/10/12  13:07:07  mike
  30.  * Add VCLIP_POWERUP_DISAPPEARANCE.
  31.  * 
  32.  * Revision 1.31  1994/10/12  10:23:54  adam
  33.  * *** empty log message ***
  34.  * 
  35.  * Revision 1.30  1994/10/11  12:25:21  matt
  36.  * Added "hot rocks" that create badass explosion when hit by weapons
  37.  * 
  38.  * Revision 1.29  1994/10/06  14:10:07  matt
  39.  * Added constant for player appearence effect
  40.  * 
  41.  * Revision 1.28  1994/09/26  08:40:30  adam
  42.  * *** empty log message ***
  43.  * 
  44.  * Revision 1.27  1994/09/10  17:30:57  mike
  45.  * move a prototype here, had been defined in object.c
  46.  * 
  47.  * Revision 1.26  1994/09/09  20:04:25  mike
  48.  * Add weapon_vclip.
  49.  * 
  50.  * Revision 1.25  1994/08/31  19:27:09  mike
  51.  * Increase max number of Vclips for new pile of weapon powerups.
  52.  * 
  53.  * Revision 1.24  1994/08/14  23:14:43  matt
  54.  * Added animating bitmap hostages, and cleaned up vclips a bit
  55.  * 
  56.  * Revision 1.23  1994/07/23  19:56:39  matt
  57.  * Took out unused constant
  58.  * 
  59.  * Revision 1.22  1994/07/22  10:42:10  adam
  60.  * upped max no. of vclips
  61.  * 
  62.  * Revision 1.21  1994/06/14  21:15:14  matt
  63.  * Made rod objects draw lighted or not depending on a parameter, so the
  64.  * materialization effect no longer darkens.
  65.  * 
  66.  * Revision 1.20  1994/06/09  19:38:16  john
  67.  * Made each Vclip have its own sound... but only used in the
  68.  * materialization center.
  69.  * 
  70.  * Revision 1.19  1994/06/09  11:46:26  john
  71.  * Took out unused vclip defines.
  72.  * 
  73.  * Revision 1.18  1994/06/08  18:16:33  john
  74.  * Bunch of new stuff that basically takes constants out of the code
  75.  * and puts them into bitmaps.tbl.
  76.  * 
  77.  * Revision 1.17  1994/06/08  12:49:01  mike
  78.  * Add light_value to vclip.
  79.  * 
  80.  * Revision 1.16  1994/06/08  11:43:28  mike
  81.  * Allow 20 vclips, I think (anyway, more than it used to be, probably 12).
  82.  * 
  83.  * Revision 1.15  1994/06/03  10:48:22  matt
  84.  * Made vclips (used by explosions) which can be either rods or blobs, as
  85.  * specified in BITMAPS.TBL.  (This is for the materialization center effect).
  86.  * 
  87.  * Revision 1.14  1994/06/01  17:21:08  john
  88.  * Added muzzle flash
  89.  * 
  90.  * Revision 1.13  1994/06/01  10:34:02  john
  91.  * Added robot morphing effect.
  92.  * 
  93.  * Revision 1.12  1994/05/16  16:17:38  john
  94.  * Bunch of stuff on my Inferno Task list May16-23
  95.  * 
  96.  * Revision 1.11  1994/05/10  18:32:50  john
  97.  * *** empty log message ***
  98.  * 
  99.  * Revision 1.10  1994/04/29  14:35:52  matt
  100.  * Added second kind of fireball
  101.  * 
  102.  * Revision 1.9  1994/04/11  10:36:31  yuan
  103.  * Started adding types for exploding hostages.
  104.  * 
  105.  * Revision 1.8  1994/04/07  16:27:43  yuan
  106.  * Added SUPERPIG the robot with 200 hit points.
  107.  * Now robots can take multiple hits before blowing up.
  108.  * 
  109.  * Revision 1.7  1994/04/07  13:45:58  yuan
  110.  * Defined Pclips... maybe shouldn't be in this file.
  111.  * 
  112.  * Revision 1.6  1994/03/28  20:58:22  yuan
  113.  * Added blood vclip constant
  114.  * 
  115.  * Revision 1.5  1994/03/15  16:31:56  yuan
  116.  * Cleaned up bm-loading code.
  117.  * (And structures)
  118.  * 
  119.  * Revision 1.4  1994/03/04  17:09:43  yuan
  120.  * New wall stuff
  121.  * 
  122.  * Revision 1.3  1994/01/11  10:59:01  yuan
  123.  * Added effects
  124.  * 
  125.  * Revision 1.2  1994/01/06  17:13:15  john
  126.  * Added Video clip functionality
  127.  * 
  128.  * Revision 1.1  1994/01/06  15:10:15  john
  129.  * Initial revision
  130.  * 
  131.  * 
  132.  */
  133.  
  134. #ifndef _VCLIP_H
  135. #define _VCLIP_H
  136.  
  137. #include "gr.h"
  138. #include "object.h"
  139. #include "piggy.h"
  140.  
  141. #define VCLIP_SMALL_EXPLOSION        2
  142. #define VCLIP_PLAYER_HIT            1
  143. #define VCLIP_MORPHING_ROBOT        10
  144. #define VCLIP_PLAYER_APPEARANCE    61
  145. #define VCLIP_POWERUP_DISAPPEARANCE    62
  146. #define VCLIP_VOLATILE_WALL_HIT    5
  147.  
  148. #define VCLIP_MAXNUM            70
  149. #define VCLIP_MAX_FRAMES    30
  150.  
  151. //vclip flags
  152. #define VF_ROD        1        //draw as a rod, not a blob
  153.  
  154. typedef struct {
  155.     fix                play_time;            //total time (in seconds) of clip
  156.     int                num_frames;
  157.     fix                frame_time;            //time (in seconds) of each frame
  158.     int                flags;
  159.     short                sound_num;
  160.     bitmap_index    frames[VCLIP_MAX_FRAMES];
  161.     fix                light_value;
  162. } vclip;
  163.  
  164. extern int Num_vclips;
  165. extern vclip Vclip[VCLIP_MAXNUM];
  166.  
  167. //draw an object which renders as a vclip.
  168. draw_vclip_object(object *obj,fix timeleft,int lighted, int vclip_num);
  169. extern void draw_weapon_vclip(object *obj);
  170.  
  171. #endif
  172. 
  173.