]> icculus.org git repositories - taylor/freespace2.git/blob - include/bgbitmapdlg.h
rendering functions mostly done; more complete shader setup
[taylor/freespace2.git] / include / bgbitmapdlg.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/BgBitmapDlg.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  * Background space images manager dialog
16  *
17  * $Log$
18  * Revision 1.2  2002/06/09 04:41:12  relnev
19  * added copyright header
20  *
21  * Revision 1.1.1.1  2002/05/03 03:28:11  root
22  * Initial import.
23  *
24  * 
25  * 8     7/02/99 4:30p Dave
26  * Much more sophisticated lightning support.
27  * 
28  * 7     6/03/99 6:37p Dave
29  * More TNT fun. Made perspective bitmaps more flexible.
30  * 
31  * 6     4/26/99 8:47p Dave
32  * Made all pof related nebula stuff customizable through Fred.
33  * 
34  * 5     4/07/99 6:21p Dave
35  * Fred and Freespace support for multiple background bitmaps and suns.
36  * Fixed link errors on all subprojects. Moved encrypt_init() to
37  * cfile_init() and lcl_init(), since its safe to call twice.
38  * 
39  * 4     1/25/99 5:03a Dave
40  * First run of stealth, AWACS and TAG missile support. New mission type
41  * :)
42  * 
43  * 3     11/14/98 5:37p Dave
44  * Put in support for full nebulas.
45  * 
46  * 2     10/07/98 6:28p Dave
47  * Initial checkin. Renamed all relevant stuff to be Fred2 instead of
48  * Fred. Globalized mission and campaign file extensions. Removed Silent
49  * Threat specific code.
50  * 
51  * 1     10/07/98 3:01p Dave
52  * 
53  * 1     10/07/98 2:59p Dave
54  * 
55  * 12    4/13/98 10:25p Hoffoss
56  * Added a flag for subspace missions, and for aboard the Galatea or
57  * Bastion.
58  * 
59  * 11    12/08/97 4:48p Hoffoss
60  * Moved starfield editor controls to background editor.
61  * 
62  * 10    11/25/97 11:40a Hoffoss
63  * Added support for nebula placement editing.
64  * 
65  * 9     11/21/97 2:55p Hoffoss
66  * Added Nebula support to Fred.  Implemented loading and saving nebula
67  * info to/from mission files.
68  * 
69  * 8     3/31/97 6:07p Hoffoss
70  * Fixed several errors, including BG editor not graying fields, BG editor
71  * not updating image when changed, Removed obsolete data from Weapon
72  * editor, priority not being saved when missions saved, priority not
73  * editable in initial orders editor.
74  * 
75  * 7     3/27/97 2:24p Hoffoss
76  * Fixed bug in image not updating when new image selected from listbox of
77  * combo box.
78  * 
79  * 6     3/21/97 4:24p Hoffoss
80  * Fixed bug in changing image to an external image file.
81  * 
82  * 5     3/17/97 1:54p Hoffoss
83  * fixed bugs in BG editor, and added delete button functionality.
84  * 
85  * 4     3/12/97 4:33p Hoffoss
86  * added spin controls to orient editor, light intensity level can be
87  * specified in BG editor.
88  * 
89  * 3     2/04/97 3:09p Hoffoss
90  * Background bitmap editor implemented fully.
91  * 
92  * 2     1/30/97 2:24p Hoffoss
93  * Added remaining mission file structures and implemented load/save of
94  * them.
95  *
96  * $NoKeywords: $
97  */
98
99 #ifndef _BG_BITMAP_DLG_H
100 #define _BG_BITMAP_DLG_H
101
102 /////////////////////////////////////////////////////////////////////////////
103 // bg_bitmap_dlg dialog
104
105 class bg_bitmap_dlg : public CDialog
106 {
107 // Construction
108 public:
109         void update_data(int update = 1);
110         void create();
111
112         // sun data functions
113         void sun_data_init();
114         void sun_data_close();
115         void sun_data_save_current();
116
117         // bitmap data functions
118         void bitmap_data_init();
119         void bitmap_data_close();
120         void bitmap_data_save_current();
121
122         bg_bitmap_dlg(CWnd* pParent = NULL);   // standard constructor
123
124 // Dialog Data
125         //{{AFX_DATA(bg_bitmap_dlg)
126         enum { IDD = IDD_BG_BITMAP };   
127         CString m_neb_intensity;        
128         int             m_nebula_color;
129         int             m_nebula_index;
130         int             m_bank;
131         int             m_heading;
132         int             m_pitch;
133         CSliderCtrl                     m_slider;
134         int             m_neb2_texture;
135         BOOL            m_subspace;
136         BOOL            m_fullneb;
137         int             m_poof[6];      
138
139         // lightning storm data
140         CString m_storm_name;
141
142         // sun data
143         CString s_name;
144         int s_pitch, s_bank, s_heading;
145         float s_scale;
146         int s_index;
147
148         // bitmap data
149         CString b_name;
150         int b_pitch, b_bank, b_heading;
151         float b_scale_x, b_scale_y;
152         int b_div_x, b_div_y;
153         int b_index;
154
155         //}}AFX_DATA    
156
157 // Overrides
158         // ClassWizard generated virtual function overrides
159         //{{AFX_VIRTUAL(bg_bitmap_dlg)
160         protected:
161         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
162         //}}AFX_VIRTUAL
163
164 // Implementation
165 protected:
166         // clear and build the nebula filename list appropriately
167         void build_nebfile_list();
168
169         // Generated message map functions
170         //{{AFX_MSG(bg_bitmap_dlg)
171         afx_msg void OnClose(); 
172         afx_msg void OnSelchangeNebcolor();
173         afx_msg void OnSelchangeNebpattern();
174         afx_msg void OnFullNeb();
175         afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
176
177         // handlers for sun stuff
178         afx_msg void OnSunChange();
179         afx_msg void OnAddSun();
180         afx_msg void OnDelSun();
181         afx_msg void OnSunDropdownChange();
182
183         // handlers for bitmap stuff
184         afx_msg void OnBitmapChange();
185         afx_msg void OnAddBitmap();
186         afx_msg void OnDelBitmap();
187         afx_msg void OnBitmapDropdownChange();
188
189         //}}AFX_MSG
190         DECLARE_MESSAGE_MAP()
191
192 private:        
193 };
194
195 #endif
196