This commit was manufactured by cvs2svn to create tag 'd2x-0_1_2'.
[btb/d2x.git] / main / vclip.h
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-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 #ifndef _VCLIP_H
15 #define _VCLIP_H
16
17 #include "gr.h"
18 #include "object.h"
19 #include "piggy.h"
20
21 #define VCLIP_SMALL_EXPLOSION           2
22 #define VCLIP_PLAYER_HIT                        1
23 #define VCLIP_MORPHING_ROBOT            10
24 #define VCLIP_PLAYER_APPEARANCE 61
25 #define VCLIP_POWERUP_DISAPPEARANCE     62
26 #define VCLIP_VOLATILE_WALL_HIT 5
27 #define VCLIP_WATER_HIT                         84
28 #define VCLIP_AFTERBURNER_BLOB  95
29 #define VCLIP_MONITOR_STATIC            99
30
31 #define VCLIP_MAXNUM                    110
32 #define VCLIP_MAX_FRAMES        30
33
34 //vclip flags
35 #define VF_ROD          1               //draw as a rod, not a blob
36
37 typedef struct {
38         fix                             play_time;                      //total time (in seconds) of clip
39         int                             num_frames;
40         fix                             frame_time;                     //time (in seconds) of each frame
41         int                             flags;
42         short                           sound_num;
43         bitmap_index    frames[VCLIP_MAX_FRAMES];
44         fix                             light_value;
45 } __pack__ vclip;
46
47 extern int Num_vclips;
48 extern vclip Vclip[VCLIP_MAXNUM];
49
50 //draw an object which renders as a vclip.
51 void draw_vclip_object(object *obj,fix timeleft,int lighted, int vclip_num);
52 extern void draw_weapon_vclip(object *obj);
53
54 #endif