VCLIP.H 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. #ifndef _VCLIP_H
  134. #define _VCLIP_H
  135. #include "gr.h"
  136. #include "object.h"
  137. #include "piggy.h"
  138. #define VCLIP_SMALL_EXPLOSION 2
  139. #define VCLIP_PLAYER_HIT 1
  140. #define VCLIP_MORPHING_ROBOT 10
  141. #define VCLIP_PLAYER_APPEARANCE 61
  142. #define VCLIP_POWERUP_DISAPPEARANCE 62
  143. #define VCLIP_VOLATILE_WALL_HIT 5
  144. #define VCLIP_MAXNUM 70
  145. #define VCLIP_MAX_FRAMES 30
  146. //vclip flags
  147. #define VF_ROD 1 //draw as a rod, not a blob
  148. typedef struct {
  149. fix play_time; //total time (in seconds) of clip
  150. int num_frames;
  151. fix frame_time; //time (in seconds) of each frame
  152. int flags;
  153. short sound_num;
  154. bitmap_index frames[VCLIP_MAX_FRAMES];
  155. fix light_value;
  156. } vclip;
  157. extern int Num_vclips;
  158. extern vclip Vclip[VCLIP_MAXNUM];
  159. //draw an object which renders as a vclip.
  160. draw_vclip_object(object *obj,fix timeleft,int lighted, int vclip_num);
  161. extern void draw_weapon_vclip(object *obj);
  162. #endif
  163.