home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser-CD 2000 January / LCD_01_2000.iso / games / doom / pmdoom / include / p_pspr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-12-17  |  2.1 KB  |  83 lines

  1. /*  Emacs style mode select   -*- C++ -*-  */
  2. /* ----------------------------------------------------------------------------- */
  3. /*  */
  4. /*  $Id:$ */
  5. /*  */
  6. /*  Copyright (C) 1993-1996 by id Software, Inc. */
  7. /*  */
  8. /*  This source is available for distribution and/or modification */
  9. /*  only under the terms of the DOOM Source Code License as */
  10. /*  published by id Software. All rights reserved. */
  11. /*  */
  12. /*  The source is distributed in the hope that it will be useful, */
  13. /*  but WITHOUT ANY WARRANTY; without even the implied warranty of */
  14. /*  FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License */
  15. /*  for more details. */
  16. /*  */
  17. /*  DESCRIPTION: */
  18. /*   Sprite animation. */
  19. /*  */
  20. /* ----------------------------------------------------------------------------- */
  21.  
  22.  
  23. #ifndef __P_PSPR__
  24. #define __P_PSPR__
  25.  
  26. /*  Basic data types. */
  27. /*  Needs fixed point, and BAM angles. */
  28. #include "m_fixed.h"
  29. #include "tables.h"
  30.  
  31.  
  32. /*  */
  33. /*  Needs to include the precompiled */
  34. /*   sprite animation tables. */
  35. /*  Header generated by multigen utility. */
  36. /*  This includes all the data for thing animation, */
  37. /*  i.e. the Thing Atrributes table */
  38. /*  and the Frame Sequence table. */
  39. #include "info.h"
  40.  
  41. #ifdef __GNUG__
  42. #pragma interface
  43. #endif
  44.  
  45.  
  46. /*  */
  47. /*  Frame flags: */
  48. /*  handles maximum brightness (torches, muzzle flare, light sources) */
  49. /*  */
  50. #define FF_FULLBRIGHT    0x8000    /*  flag in thing->frame */
  51. #define FF_FRAMEMASK    0x7fff
  52.  
  53.  
  54.  
  55. /*  */
  56. /*  Overlay psprites are scaled shapes */
  57. /*  drawn directly on the view screen, */
  58. /*  coordinates are given for a 320*200 view screen. */
  59. /*  */
  60. typedef enum
  61. {
  62.     ps_weapon,
  63.     ps_flash,
  64.     NUMPSPRITES
  65.  
  66. } psprnum_t;
  67.  
  68. typedef struct
  69. {
  70.     state_t*    state;    /*  a NULL state means not active */
  71.     int        tics;
  72.     fixed_t    sx;
  73.     fixed_t    sy;
  74.  
  75. } pspdef_t;
  76.  
  77. #endif
  78. /* ----------------------------------------------------------------------------- */
  79. /*  */
  80. /*  $Log:$ */
  81. /*  */
  82. /* ----------------------------------------------------------------------------- */
  83.