]> icculus.org git repositories - taylor/freespace2.git/blob - include/fredrender.h
rendering functions mostly done; more complete shader setup
[taylor/freespace2.git] / include / fredrender.h
1 /*
2  * Copyright (C) Volition, Inc. 1999.  All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell 
5  * or otherwise commercially exploit the source or things you created based on
6  * the source.
7  */
8
9 /*
10  * $Logfile: /Freespace2/code/FRED2/FredRender.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  * Handles all view rendering in FRED.
16  *
17  * $Log$
18  * Revision 1.2  2002/06/09 04:41:13  relnev
19  * added copyright header
20  *
21  * Revision 1.1.1.1  2002/05/03 03:28:12  root
22  * Initial import.
23  *
24  * 
25  * 2     10/07/98 6:28p Dave
26  * Initial checkin. Renamed all relevant stuff to be Fred2 instead of
27  * Fred. Globalized mission and campaign file extensions. Removed Silent
28  * Threat specific code.
29  * 
30  * 1     10/07/98 3:01p Dave
31  * 
32  * 1     10/07/98 3:00p Dave
33  * 
34  * 26    3/19/98 11:41a Hoffoss
35  * Fixed problems with rendering and reading of flying controls in Fred.
36  * 
37  * 25    10/30/97 3:30p Hoffoss
38  * Made anti-aliased gridlines an option in Fred.
39  * 
40  * 24    9/09/97 2:12p Hoffoss
41  * Added code to allow briefing editor view to be a 1:1 pixel size fixed
42  * as the FreeSpace view will have.
43  * 
44  * 23    8/25/97 5:58p Hoffoss
45  * Created menu items for keypress functions in Fred, and fixed bug this
46  * uncovered with wing_delete function.
47  * 
48  * 22    8/07/97 6:01p Hoffoss
49  * Added a rotate about selected object button to toolbar and
50  * functionality, as requested by Comet.
51  * 
52  * 21    8/06/97 6:10p Hoffoss
53  * Changed Fred to display a forced aspect ratio while briefing editor is
54  * open.  This aspect ratio is the same as the briefing view in FreeSpace,
55  * so icons appear on and off screen the same as would be in FreeSpace.
56  * 
57  * 20    6/26/97 5:18p Hoffoss
58  * Major rework of briefing editor functionality.
59  * 
60  * 19    6/23/97 3:00p Hoffoss
61  * Added a define.
62  * 
63  * 18    6/23/97 2:58p Hoffoss
64  * Added briefing lookat point variables.
65  * 
66  * 17    6/18/97 11:36p Lawrance
67  * move grid rendering code to MissionGrid.cpp
68  * 
69  * 16    6/12/97 11:27a Lawrance
70  * separating FRED dependant briefing code
71  * 
72  * 15    3/06/97 3:35p Hoffoss
73  * Added Show_outline stuff, moved show options to the view menu, fixed a
74  * bug in message dialog editor.
75  * 
76  * 14    2/20/97 4:03p Hoffoss
77  * Several ToDo items: new reinforcement clears arrival cue, reinforcement
78  * control from ship and wing dialogs, show grid toggle.
79  * 
80  * 13    12/02/96 3:36p Hoffoss
81  * Show horizon now implemented.
82  * 
83  * 12    11/22/96 12:24p Hoffoss
84  * Editor functionality added.
85  * 
86  * 11    11/21/96 12:52p Hoffoss
87  * Changes to flying controls, etc.
88  * 
89  * 10    11/21/96 9:20a Hoffoss
90  * New show distances feature.
91  * 
92  * 9     11/20/96 5:16p Hoffoss
93  * New grid system working as suggested.
94  * 
95  * 8     11/20/96 10:01a Hoffoss
96  * A few minor improvements.
97  * 
98  * 7     11/19/96 9:50a Hoffoss
99  * New interface working, but not finished yet.
100  * 
101  * 6     11/15/96 1:43p Hoffoss
102  * Improvements to the Ship Dialog editor window.  It is now an
103  * independant window that updates data correctly.
104  * 
105  * 5     11/14/96 10:43a Hoffoss
106  * Made changes to grid display and how it works, etc.
107  * 
108  * 4     11/13/96 10:15a Hoffoss
109  * Waypoint editing added, but not quite finished yet.
110  * 
111  * 3     11/12/96 11:14a Hoffoss
112  * Everything check in because I don't know what's changed and what's not
113  * to prevent compiling.
114  * 
115  * 2     11/11/96 3:47p Hoffoss
116  * Milestone Checkin.
117  * 
118  * 1     10/29/96 12:17p Hoffoss
119  * 
120  * $NoKeywords: $
121  */
122
123 #include "missiongrid.h"
124
125 #define BRIEFING_LOOKAT_POINT_ID        99999
126
127 extern int      Aa_gridlines;
128 extern int      player_start1;
129 extern int      Editing_mode;
130 extern int      Control_mode;
131 extern int      Show_grid;
132 extern int      Show_grid_positions;
133 extern int      Show_coordinates;
134 extern int      Show_outlines;
135 extern int      Single_axis_constraint;
136 extern int      Show_distances;
137 extern int      Universal_heading;
138 extern int      Flying_controls_mode;
139 extern int      Group_rotate;
140 extern int      Show_horizon;
141 extern int      Lookat_mode;
142 extern int      True_rw, True_rh;
143 extern int      Fixed_briefing_size;
144 extern vector   Constraint, Anticonstraint;
145 extern vector   Tp1, Tp2;  // test points
146 extern physics_info view_physics;
147 extern vector view_pos, eye_pos;
148 extern matrix view_orient, eye_orient;
149
150 void fred_render_init();
151 void generate_starfield();
152 void move_mouse(int btn, int mdx, int mdy);
153 void game_do_frame();
154 void render_frame();
155 void level_controlled();
156 void verticalize_controlled();
157