Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  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. //      Refresh/render internal state variables (global).
  19. //
  20. //-----------------------------------------------------------------------------
  21.  
  22.  
  23. #ifndef __R_STATE__
  24. #define __R_STATE__
  25.  
  26. // Need data structure definitions.
  27. #include "d_player.h"
  28. #include "r_data.h"
  29.  
  30.  
  31.  
  32. #ifdef __GNUG__
  33. #pragma interface
  34. #endif
  35.  
  36.  
  37.  
  38. //
  39. // Refresh internal data structures,
  40. //  for rendering.
  41. //
  42.  
  43. // needed for texture pegging
  44. extern fixed_t*         textureheight;
  45.  
  46. // needed for pre rendering (fracs)
  47. extern fixed_t*         spritewidth;
  48.  
  49. extern fixed_t*         spriteoffset;
  50. extern fixed_t*         spritetopoffset;
  51.  
  52. extern lighttable_t*    colormaps;
  53.  
  54. extern int              viewwidth;
  55. extern int              scaledviewwidth;
  56. extern int              viewheight;
  57.  
  58. extern int              firstflat;
  59.  
  60. // for global animation
  61. extern int*             flattranslation;       
  62. extern int*             texturetranslation;    
  63.  
  64.  
  65. // Sprite....
  66. extern int              firstspritelump;
  67. extern int              lastspritelump;
  68. extern int              numspritelumps;
  69.  
  70.  
  71.  
  72. //
  73. // Lookup tables for map data.
  74. //
  75. extern int              numsprites;
  76. extern spritedef_t*     sprites;
  77.  
  78. extern int              numvertexes;
  79. extern vertex_t*        vertexes;
  80.  
  81. extern int              numsegs;
  82. extern seg_t*           segs;
  83.  
  84. extern int              numsectors;
  85. extern sector_t*        sectors;
  86.  
  87. extern int              numsubsectors;
  88. extern subsector_t*     subsectors;
  89.  
  90. extern int              numnodes;
  91. extern node_t*          nodes;
  92.  
  93. extern int              numlines;
  94. extern line_t*          lines;
  95.  
  96. extern int              numsides;
  97. extern side_t*          sides;
  98.  
  99.  
  100. //
  101. // POV data.
  102. //
  103. extern fixed_t          viewx;
  104. extern fixed_t          viewy;
  105. extern fixed_t          viewz;
  106.  
  107. extern angle_t          viewangle;
  108. extern player_t*        viewplayer;
  109.  
  110.  
  111. // ?
  112. extern angle_t          clipangle;
  113.  
  114. extern int              viewangletox[FINEANGLES/2];
  115. extern angle_t          xtoviewangle[SCREENWIDTH+1];
  116. //extern fixed_t                finetangent[FINEANGLES/2];
  117.  
  118. extern fixed_t          rw_distance;
  119. extern angle_t          rw_normalangle;
  120.  
  121.  
  122.  
  123. // angle to line origin
  124. extern int              rw_angle1;
  125.  
  126. // Segs count?
  127. extern int              sscount;
  128.  
  129. extern visplane_t*      floorplane;
  130. extern visplane_t*      ceilingplane;
  131.  
  132.  
  133. #endif
  134. //-----------------------------------------------------------------------------
  135. //
  136. // $Log:$
  137. //
  138. //-----------------------------------------------------------------------------
  139.