1 // 2 // Copyright(C) 1993-1996 Id Software, Inc. 3 // Copyright(C) 2005-2014 Simon Howard 4 // 5 // This program is free software; you can redistribute it and/or 6 // modify it under the terms of the GNU General Public License 7 // as published by the Free Software Foundation; either version 2 8 // of the License, or (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // DESCRIPTION: 16 // Refresh/render internal state variables (global). 17 // 18 19 20 #ifndef __R_STATE__ 21 #define __R_STATE__ 22 23 // Need data structure definitions. 24 #include "d_player.h" 25 #include "r_data.h" 26 27 28 29 30 31 32 // 33 // Refresh internal data structures, 34 // for rendering. 35 // 36 37 // needed for texture pegging 38 extern fixed_t* textureheight; 39 40 // needed for pre rendering (fracs) 41 extern fixed_t* spritewidth; 42 43 extern fixed_t* spriteoffset; 44 extern fixed_t* spritetopoffset; 45 46 extern lighttable_t* colormaps; 47 48 extern int viewwidth; 49 extern int scaledviewwidth; 50 extern int viewheight; 51 52 extern int firstflat; 53 54 // for global animation 55 extern int* flattranslation; 56 extern int* texturetranslation; 57 58 59 // Sprite.... 60 extern int firstspritelump; 61 extern int lastspritelump; 62 extern int numspritelumps; 63 64 65 66 // 67 // Lookup tables for map data. 68 // 69 extern int numsprites; 70 extern spritedef_t* sprites; 71 72 extern int numvertexes; 73 extern vertex_t* vertexes; 74 75 extern int numsegs; 76 extern seg_t* segs; 77 78 extern int numsectors; 79 extern sector_t* sectors; 80 81 extern int numsubsectors; 82 extern subsector_t* subsectors; 83 84 extern int numnodes; 85 extern node_t* nodes; 86 87 extern int numlines; 88 extern line_t* lines; 89 90 extern int numsides; 91 extern side_t* sides; 92 93 94 // 95 // POV data. 96 // 97 extern fixed_t viewx; 98 extern fixed_t viewy; 99 extern fixed_t viewz; 100 101 extern angle_t viewangle; 102 extern player_t* viewplayer; 103 104 105 // ? 106 extern angle_t clipangle; 107 108 extern int viewangletox[FINEANGLES/2]; 109 extern angle_t xtoviewangle[SCREENWIDTH+1]; 110 //extern fixed_t finetangent[FINEANGLES/2]; 111 112 extern fixed_t rw_distance; 113 extern angle_t rw_normalangle; 114 115 116 117 // angle to line origin 118 extern int rw_angle1; 119 120 // Segs count? 121 extern int sscount; 122 123 extern visplane_t* floorplane; 124 extern visplane_t* ceilingplane; 125 126 127 #endif 128