]> icculus.org git repositories - btb/d2x.git/blob - main/vclip.h
remove rcs tags
[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 /*
15  *
16  * Stuff for video clips.
17  *
18  */
19
20
21 #ifndef _VCLIP_H
22 #define _VCLIP_H
23
24 #include "gr.h"
25 #include "object.h"
26 #include "piggy.h"
27 #include "cfile.h"
28
29 #define VCLIP_SMALL_EXPLOSION       2
30 #define VCLIP_PLAYER_HIT            1
31 #define VCLIP_MORPHING_ROBOT        10
32 #define VCLIP_PLAYER_APPEARANCE     61
33 #define VCLIP_POWERUP_DISAPPEARANCE 62
34 #define VCLIP_VOLATILE_WALL_HIT     5
35 #define VCLIP_WATER_HIT             84
36 #define VCLIP_AFTERBURNER_BLOB      95
37 #define VCLIP_MONITOR_STATIC        99
38
39 #define VCLIP_MAXNUM                110
40 #define VCLIP_MAX_FRAMES            30
41
42 // vclip flags
43 #define VF_ROD      1       // draw as a rod, not a blob
44
45 typedef struct {
46         fix             play_time;          // total time (in seconds) of clip
47         int             num_frames;
48         fix             frame_time;         // time (in seconds) of each frame
49         int             flags;
50         short           sound_num;
51         bitmap_index    frames[VCLIP_MAX_FRAMES];
52         fix             light_value;
53 } __pack__ vclip;
54
55 extern int Num_vclips;
56 extern vclip Vclip[VCLIP_MAXNUM];
57
58 // draw an object which renders as a vclip.
59 void draw_vclip_object(object *obj, fix timeleft, int lighted, int vclip_num);
60 extern void draw_weapon_vclip(object *obj);
61
62 #ifdef FAST_FILE_IO
63 #define vclip_read_n(vc, n, fp) cfread(vc, sizeof(vclip), n, fp)
64 #else
65 /*
66  * reads n vclip structs from a CFILE
67  */
68 extern int vclip_read_n(vclip *vc, int n, CFILE *fp);
69 #endif
70
71 #endif /* _VCLIP_H */