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_H__
24 #define __R_STATE_H__
25 
26 // Need data structure definitions.
27 #include "doomtype.h"
28 #include "r_defs.h"
29 #include "r_data/sprites.h"
30 
31 //
32 // Refresh internal data structures,
33 //	for rendering.
34 //
35 
36 extern "C" int			viewwidth;
37 extern "C" int			viewheight;
38 
39 //
40 // Lookup tables for map data.
41 //
42 extern TArray<spritedef_t> sprites;
43 extern DWORD NumStdSprites;
44 
45 extern int				numvertexes;
46 extern vertex_t*		vertexes;
47 extern int				numvertexdatas;
48 extern vertexdata_t*		vertexdatas;
49 
50 extern int				numsegs;
51 extern seg_t*			segs;
52 
53 extern int				numsectors;
54 extern sector_t*		sectors;
55 
56 extern int				numsubsectors;
57 extern subsector_t* 	subsectors;
58 
59 extern int				numnodes;
60 extern node_t*			nodes;
61 
62 extern int				numlines;
63 extern line_t*			lines;
64 
65 extern int				numsides;
66 extern side_t*			sides;
67 
68 extern int				numzones;
69 extern zone_t*			zones;
70 
71 extern node_t * 		gamenodes;
72 extern int 				numgamenodes;
73 
74 extern subsector_t * 	gamesubsectors;
75 extern int 				numgamesubsectors;
76 
77 
78 //
79 // POV data.
80 //
81 extern fixed_t			viewz;
82 extern angle_t			viewangle;
83 
84 extern AActor*			camera;		// [RH] camera instead of viewplayer
85 extern sector_t*		viewsector;	// [RH] keep track of sector viewing from
86 
87 extern angle_t			xtoviewangle[MAXWIDTH+1];
88 extern int				FieldOfView;
89 
90 int R_FindSkin (const char *name, int pclass);	// [RH] Find a skin
91 
92 #endif // __R_STATE_H__
93