1 // SONIC ROBO BLAST 2 2 //----------------------------------------------------------------------------- 3 // Copyright (C) 1993-1996 by id Software, Inc. 4 // Copyright (C) 1998-2000 by DooM Legacy Team. 5 // Copyright (C) 1999-2020 by Sonic Team Junior. 6 // 7 // This program is free software distributed under the 8 // terms of the GNU General Public License, version 2. 9 // See the 'LICENSE' file for more details. 10 //----------------------------------------------------------------------------- 11 /// \file r_state.h 12 /// \brief Refresh/render internal state variables (global) 13 14 #ifndef __R_STATE__ 15 #define __R_STATE__ 16 17 // Need data structure definitions. 18 #include "d_player.h" 19 #include "r_data.h" 20 21 #ifdef __GNUG__ 22 #pragma interface 23 #endif 24 25 // 26 // Refresh internal data structures, for rendering. 27 // 28 29 // needed for pre rendering (fracs) 30 typedef struct 31 { 32 fixed_t width; 33 fixed_t offset; 34 fixed_t topoffset; 35 fixed_t height; 36 } sprcache_t; 37 38 extern sprcache_t *spritecachedinfo; 39 40 extern lighttable_t *colormaps; 41 extern lighttable_t *fadecolormap; 42 43 // Boom colormaps. 44 extern extracolormap_t *extra_colormaps; 45 46 // for global animation 47 extern INT32 *texturetranslation; 48 49 // Sprites 50 extern size_t numspritelumps, max_spritelumps; 51 52 // 53 // Lookup tables for map data. 54 // 55 extern boolean udmf; 56 57 extern size_t numsprites; 58 extern spritedef_t *sprites; 59 60 extern size_t numvertexes; 61 extern vertex_t *vertexes; 62 63 extern size_t numsegs; 64 extern seg_t *segs; 65 66 extern size_t numsectors; 67 extern sector_t *sectors; 68 extern sector_t *spawnsectors; 69 70 extern size_t numsubsectors; 71 extern subsector_t *subsectors; 72 73 extern size_t numnodes; 74 extern node_t *nodes; 75 76 extern size_t numlines; 77 extern line_t *lines; 78 extern line_t *spawnlines; 79 80 extern size_t numsides; 81 extern side_t *sides; 82 extern side_t *spawnsides; 83 84 // 85 // POV data. 86 // 87 extern fixed_t viewx, viewy, viewz; 88 extern angle_t viewangle, aimingangle; 89 extern sector_t *viewsector; 90 extern player_t *viewplayer; 91 extern mobj_t *r_viewmobj; 92 93 extern consvar_t cv_allowmlook; 94 extern consvar_t cv_maxportals; 95 96 extern angle_t clipangle; 97 extern angle_t doubleclipangle; 98 99 extern INT32 viewangletox[FINEANGLES/2]; 100 extern angle_t xtoviewangle[MAXVIDWIDTH+1]; 101 102 extern fixed_t rw_distance; 103 extern angle_t rw_normalangle; 104 105 // angle to line origin 106 extern angle_t rw_angle1; 107 108 #endif 109