2 * Copyright (C) Volition, Inc. 1999. All rights reserved.
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
10 * $Logfile: /Freespace2/code/FRED2/FredRender.h $
15 * Handles all view rendering in FRED.
18 * Revision 1.2 2002/06/09 04:41:13 relnev
19 * added copyright header
21 * Revision 1.1.1.1 2002/05/03 03:28:12 root
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.
30 * 1 10/07/98 3:01p Dave
32 * 1 10/07/98 3:00p Dave
34 * 26 3/19/98 11:41a Hoffoss
35 * Fixed problems with rendering and reading of flying controls in Fred.
37 * 25 10/30/97 3:30p Hoffoss
38 * Made anti-aliased gridlines an option in Fred.
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.
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.
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.
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.
57 * 20 6/26/97 5:18p Hoffoss
58 * Major rework of briefing editor functionality.
60 * 19 6/23/97 3:00p Hoffoss
63 * 18 6/23/97 2:58p Hoffoss
64 * Added briefing lookat point variables.
66 * 17 6/18/97 11:36p Lawrance
67 * move grid rendering code to MissionGrid.cpp
69 * 16 6/12/97 11:27a Lawrance
70 * separating FRED dependant briefing code
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.
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.
80 * 13 12/02/96 3:36p Hoffoss
81 * Show horizon now implemented.
83 * 12 11/22/96 12:24p Hoffoss
84 * Editor functionality added.
86 * 11 11/21/96 12:52p Hoffoss
87 * Changes to flying controls, etc.
89 * 10 11/21/96 9:20a Hoffoss
90 * New show distances feature.
92 * 9 11/20/96 5:16p Hoffoss
93 * New grid system working as suggested.
95 * 8 11/20/96 10:01a Hoffoss
96 * A few minor improvements.
98 * 7 11/19/96 9:50a Hoffoss
99 * New interface working, but not finished yet.
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.
105 * 5 11/14/96 10:43a Hoffoss
106 * Made changes to grid display and how it works, etc.
108 * 4 11/13/96 10:15a Hoffoss
109 * Waypoint editing added, but not quite finished yet.
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.
115 * 2 11/11/96 3:47p Hoffoss
118 * 1 10/29/96 12:17p Hoffoss
123 #include "missiongrid.h"
125 #define BRIEFING_LOOKAT_POINT_ID 99999
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;
150 void fred_render_init();
151 void generate_starfield();
152 void move_mouse(int btn, int mdx, int mdy);
153 void game_do_frame();
155 void level_controlled();
156 void verticalize_controlled();