Some improvements to rocklife (FS#10087, but slightly less paranoid). Main improvemen...
[kugel-rb.git] / apps / plugins / doom / r_state.h
blobe04a8170f039d834d6e5505a6aad99c06896a9da
1 /* Emacs style mode select -*- C++ -*-
2 *-----------------------------------------------------------------------------
5 * PrBoom a Doom port merged with LxDoom and LSDLDoom
6 * based on BOOM, a modified and improved DOOM engine
7 * Copyright (C) 1999 by
8 * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
9 * Copyright (C) 1999-2000 by
10 * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
25 * 02111-1307, USA.
27 * DESCRIPTION:
28 * Refresh/render internal state variables (global).
30 *-----------------------------------------------------------------------------*/
33 #ifndef __R_STATE__
34 #define __R_STATE__
36 // Need data structure definitions.
37 #include "d_player.h"
38 #include "r_data.h"
40 #ifdef __GNUG__
41 #pragma interface
42 #endif
46 // Refresh internal data structures,
47 // for rendering.
50 // needed for texture pegging
51 extern fixed_t *textureheight;
53 // needed for pre rendering (fracs)
54 extern fixed_t *spritewidth;
56 extern fixed_t *spriteoffset;
57 extern fixed_t *spritetopoffset;
59 extern int viewwidth;
60 extern int scaledviewwidth;
61 extern int viewheight;
63 extern int firstflat;
65 // for global animation
66 extern int *flattranslation;
67 extern int *texturetranslation;
69 // Sprite....
70 extern int firstspritelump;
71 extern int lastspritelump;
72 extern int numspritelumps;
75 // Lookup tables for map data.
77 extern int numsprites;
78 extern spritedef_t *sprites;
80 extern int numvertexes;
81 extern vertex_t *vertexes;
83 extern int numsegs;
84 extern seg_t *segs;
86 extern int numsectors;
87 extern sector_t *sectors;
89 extern int numsubsectors;
90 extern subsector_t *subsectors;
92 extern int numnodes;
93 extern node_t *nodes;
95 extern int numlines;
96 extern line_t *lines;
98 extern int numsides;
99 extern side_t *sides;
103 // POV data.
105 extern fixed_t viewx;
106 extern fixed_t viewy;
107 extern fixed_t viewz;
108 extern angle_t viewangle;
109 extern player_t *viewplayer;
110 extern angle_t clipangle;
111 extern int *viewangletox;
112 extern angle_t xtoviewangle[MAX_SCREENWIDTH+1]; // killough 2/8/98
113 extern fixed_t rw_distance;
114 extern angle_t rw_normalangle;
116 // angle to line origin
117 extern int rw_angle1;
119 // Segs count?
120 extern int sscount;
122 extern visplane_t *floorplane;
123 extern visplane_t *ceilingplane;
125 #endif