1 /* $Id: vclip.h,v 1.4 2003-10-10 09:36:35 btb Exp $ */
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
17 * Stuff for video clips.
20 * Revision 1.2 1995/09/14 14:14:45 allender
21 * return void in draw_vclip_object
23 * Revision 1.1 1995/05/16 16:04:35 allender
26 * Revision 2.0 1995/02/27 11:32:42 john
27 * New version 2.0, which has no anonymous unions, builds with
28 * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
30 * Revision 1.33 1994/11/21 11:17:57 adam
31 * *** empty log message ***
33 * Revision 1.32 1994/10/12 13:07:07 mike
34 * Add VCLIP_POWERUP_DISAPPEARANCE.
36 * Revision 1.31 1994/10/12 10:23:54 adam
37 * *** empty log message ***
39 * Revision 1.30 1994/10/11 12:25:21 matt
40 * Added "hot rocks" that create badass explosion when hit by weapons
42 * Revision 1.29 1994/10/06 14:10:07 matt
43 * Added constant for player appearence effect
45 * Revision 1.28 1994/09/26 08:40:30 adam
46 * *** empty log message ***
48 * Revision 1.27 1994/09/10 17:30:57 mike
49 * move a prototype here, had been defined in object.c
51 * Revision 1.26 1994/09/09 20:04:25 mike
54 * Revision 1.25 1994/08/31 19:27:09 mike
55 * Increase max number of Vclips for new pile of weapon powerups.
57 * Revision 1.24 1994/08/14 23:14:43 matt
58 * Added animating bitmap hostages, and cleaned up vclips a bit
60 * Revision 1.23 1994/07/23 19:56:39 matt
61 * Took out unused constant
63 * Revision 1.22 1994/07/22 10:42:10 adam
64 * upped max no. of vclips
66 * Revision 1.21 1994/06/14 21:15:14 matt
67 * Made rod objects draw lighted or not depending on a parameter, so the
68 * materialization effect no longer darkens.
70 * Revision 1.20 1994/06/09 19:38:16 john
71 * Made each Vclip have its own sound... but only used in the
72 * materialization center.
74 * Revision 1.19 1994/06/09 11:46:26 john
75 * Took out unused vclip defines.
77 * Revision 1.18 1994/06/08 18:16:33 john
78 * Bunch of new stuff that basically takes constants out of the code
79 * and puts them into bitmaps.tbl.
81 * Revision 1.17 1994/06/08 12:49:01 mike
82 * Add light_value to vclip.
84 * Revision 1.16 1994/06/08 11:43:28 mike
85 * Allow 20 vclips, I think (anyway, more than it used to be, probably 12).
87 * Revision 1.15 1994/06/03 10:48:22 matt
88 * Made vclips (used by explosions) which can be either rods or blobs, as
89 * specified in BITMAPS.TBL. (This is for the materialization center effect).
91 * Revision 1.14 1994/06/01 17:21:08 john
94 * Revision 1.13 1994/06/01 10:34:02 john
95 * Added robot morphing effect.
97 * Revision 1.12 1994/05/16 16:17:38 john
98 * Bunch of stuff on my Inferno Task list May16-23
100 * Revision 1.11 1994/05/10 18:32:50 john
101 * *** empty log message ***
103 * Revision 1.10 1994/04/29 14:35:52 matt
104 * Added second kind of fireball
106 * Revision 1.9 1994/04/11 10:36:31 yuan
107 * Started adding types for exploding hostages.
109 * Revision 1.8 1994/04/07 16:27:43 yuan
110 * Added SUPERPIG the robot with 200 hit points.
111 * Now robots can take multiple hits before blowing up.
113 * Revision 1.7 1994/04/07 13:45:58 yuan
114 * Defined Pclips... maybe shouldn't be in this file.
116 * Revision 1.6 1994/03/28 20:58:22 yuan
117 * Added blood vclip constant
119 * Revision 1.5 1994/03/15 16:31:56 yuan
120 * Cleaned up bm-loading code.
123 * Revision 1.4 1994/03/04 17:09:43 yuan
126 * Revision 1.3 1994/01/11 10:59:01 yuan
129 * Revision 1.2 1994/01/06 17:13:15 john
130 * Added Video clip functionality
132 * Revision 1.1 1994/01/06 15:10:15 john
147 #define VCLIP_SMALL_EXPLOSION 2
148 #define VCLIP_PLAYER_HIT 1
149 #define VCLIP_MORPHING_ROBOT 10
150 #define VCLIP_PLAYER_APPEARANCE 61
151 #define VCLIP_POWERUP_DISAPPEARANCE 62
152 #define VCLIP_VOLATILE_WALL_HIT 5
153 #define VCLIP_WATER_HIT 84
154 #define VCLIP_AFTERBURNER_BLOB 95
155 #define VCLIP_MONITOR_STATIC 99
157 #define VCLIP_MAXNUM 110
158 #define VCLIP_MAX_FRAMES 30
161 #define VF_ROD 1 // draw as a rod, not a blob
164 fix play_time; // total time (in seconds) of clip
166 fix frame_time; // time (in seconds) of each frame
169 bitmap_index frames[VCLIP_MAX_FRAMES];
173 extern int Num_vclips;
174 extern vclip Vclip[VCLIP_MAXNUM];
176 // draw an object which renders as a vclip.
177 void draw_vclip_object(object *obj, fix timeleft, int lighted, int vclip_num);
178 extern void draw_weapon_vclip(object *obj);
181 #define vclip_read_n(vc, n, fp) cfread(vc, sizeof(vclip), n, fp)
184 * reads n vclip structs from a CFILE
186 extern int vclip_read_n(vclip *vc, int n, CFILE *fp);
189 #endif /* _VCLIP_H */