p_pspr.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. #ifndef __P_PSPR__
  22. #define __P_PSPR__
  23. // Basic data types.
  24. // Needs fixed point, and BAM angles.
  25. #include "m_fixed.h"
  26. #include "tables.h"
  27. //
  28. // Needs to include the precompiled
  29. // sprite animation tables.
  30. // Header generated by multigen utility.
  31. // This includes all the data for thing animation,
  32. // i.e. the Thing Atrributes table
  33. // and the Frame Sequence table.
  34. #include "info.h"
  35. #ifdef __GNUG__
  36. #pragma interface
  37. #endif
  38. //
  39. // Frame flags:
  40. // handles maximum brightness (torches, muzzle flare, light sources)
  41. //
  42. #define FF_FULLBRIGHT 0x8000 // flag in thing->frame
  43. #define FF_FRAMEMASK 0x7fff
  44. //
  45. // Overlay psprites are scaled shapes
  46. // drawn directly on the view screen,
  47. // coordinates are given for a 320*200 view screen.
  48. //
  49. typedef enum
  50. {
  51. ps_weapon,
  52. ps_flash,
  53. NUMPSPRITES
  54. } psprnum_t;
  55. typedef struct
  56. {
  57. state_t* state; // a NULL state means not active
  58. int tics;
  59. fixed_t sx;
  60. fixed_t sy;
  61. } pspdef_t;
  62. #endif
  63. //-----------------------------------------------------------------------------
  64. //
  65. // $Log:$
  66. //
  67. //-----------------------------------------------------------------------------