FS2_Open
Open source remastering of the Freespace 2 engine
customwingnames.cpp
Go to the documentation of this file.
1 // CustomWingNames.cpp : implementation file
2 //
3 
4 #include "stdafx.h"
5 #include "fred.h"
6 #include "CustomWingNames.h"
7 #include "ship/ship.h"
8 
9 #ifdef _DEBUG
10 #undef THIS_FILE
11 static char THIS_FILE[] = __FILE__;
12 #endif
13 
15 // CustomWingNames dialog
16 
17 
18 CustomWingNames::CustomWingNames(CWnd* pParent /*=NULL*/)
19  : CDialog(CustomWingNames::IDD, pParent)
20 {
21  //{{AFX_DATA_INIT(CustomWingNames)
22  m_squadron_1 = _T("");
23  m_squadron_2 = _T("");
24  m_squadron_3 = _T("");
25  m_squadron_4 = _T("");
26  m_squadron_5 = _T("");
27  m_starting_1 = _T("");
28  m_starting_2 = _T("");
29  m_starting_3 = _T("");
30  m_tvt_1 = _T("");
31  m_tvt_2 = _T("");
32  //}}AFX_DATA_INIT
33 }
34 
35 
36 void CustomWingNames::DoDataExchange(CDataExchange* pDX)
37 {
38  CDialog::DoDataExchange(pDX);
39  //{{AFX_DATA_MAP(CustomWingNames)
40  DDX_Text(pDX, IDC_SQUADRON_WING_NAME_1, m_squadron_1);
41  DDX_Text(pDX, IDC_SQUADRON_WING_NAME_2, m_squadron_2);
42  DDX_Text(pDX, IDC_SQUADRON_WING_NAME_3, m_squadron_3);
43  DDX_Text(pDX, IDC_SQUADRON_WING_NAME_4, m_squadron_4);
44  DDX_Text(pDX, IDC_SQUADRON_WING_NAME_5, m_squadron_5);
45  DDX_Text(pDX, IDC_STARTING_WING_NAME_1, m_starting_1);
46  DDX_Text(pDX, IDC_STARTING_WING_NAME_2, m_starting_2);
47  DDX_Text(pDX, IDC_STARTING_WING_NAME_3, m_starting_3);
48  DDX_Text(pDX, IDC_TVT_WING_NAME_1, m_tvt_1);
49  DDX_Text(pDX, IDC_TVT_WING_NAME_2, m_tvt_2);
50  //}}AFX_DATA_MAP
51 }
52 
53 
54 BEGIN_MESSAGE_MAP(CustomWingNames, CDialog)
55  //{{AFX_MSG_MAP(CustomWingNames)
56  //}}AFX_MSG_MAP
57 END_MESSAGE_MAP()
58 
60 // CustomWingNames message handlers
61 
62 BOOL CustomWingNames::OnInitDialog()
63 {
64  // init starting wings
65  m_starting_1 = _T(Starting_wing_names[0]);
66  m_starting_2 = _T(Starting_wing_names[1]);
67  m_starting_3 = _T(Starting_wing_names[2]);
68 
69  // init squadron wings
70  m_squadron_1 = _T(Squadron_wing_names[0]);
71  m_squadron_2 = _T(Squadron_wing_names[1]);
72  m_squadron_3 = _T(Squadron_wing_names[2]);
73  m_squadron_4 = _T(Squadron_wing_names[3]);
74  m_squadron_5 = _T(Squadron_wing_names[4]);
75 
76  // init tvt wings
77  m_tvt_1 = _T(TVT_wing_names[0]);
78  m_tvt_2 = _T(TVT_wing_names[1]);
79 
80  CDialog::OnInitDialog();
81  UpdateData(FALSE);
82  return TRUE;
83 }
84 
86 {
87  UpdateData(TRUE);
88 
89  if (strcmp(m_starting_1, m_tvt_1))
90  {
91  MessageBox("The first starting wing and the first team-versus-team wing must have the same wing name.");
92  return;
93  }
94 
97  {
98  MessageBox("Duplicate wing names in starting wing list.");
99  return;
100  }
101 
106  {
107  MessageBox("Duplicate wing names in squadron wing list.");
108  return;
109  }
110 
111  if (!stricmp(m_tvt_1, m_tvt_2))
112  {
113  MessageBox("Duplicate wing names in team-versus-team wing list.");
114  return;
115  }
116 
117 
118  // copy starting wings
122 
123  // copy squadron wings
129 
130  // copy tvt wings
133 
135 
136  CDialog::OnOK();
137 }
138 
140 {
141  // TODO: Add extra cleanup here
142 
143  CDialog::OnCancel();
144 }
145 
147 {
148  int z;
149 
150  UpdateData(TRUE);
151 
152  if (query_modified()) {
153  z = MessageBox("Do you want to keep your changes?", "Close", MB_ICONQUESTION | MB_YESNOCANCEL);
154  if (z == IDCANCEL){
155  return;
156  }
157 
158  if (z == IDYES) {
159  OnOK();
160  return;
161  }
162  }
163 
164  CDialog::OnClose();
165 }
166 
168 {
171  || strcmp(TVT_wing_names[0], m_tvt_1) || strcmp(TVT_wing_names[1], m_tvt_2);
172 }
#define IDC_SQUADRON_WING_NAME_2
Definition: resource.h:810
char Starting_wing_names[MAX_STARTING_WINGS][NAME_LENGTH]
Definition: ship.cpp:139
CustomWingNames(CWnd *pParent=NULL)
void update_custom_wing_indexes()
#define MB_ICONQUESTION
Definition: config.h:188
#define TRUE
Definition: pstypes.h:399
#define MB_YESNOCANCEL
Definition: config.h:183
#define IDC_TVT_WING_NAME_1
Definition: resource.h:795
#define IDC_STARTING_WING_NAME_3
Definition: resource.h:826
#define IDC_STARTING_WING_NAME_1
Definition: resource.h:1111
char Squadron_wing_names[MAX_SQUADRON_WINGS][NAME_LENGTH]
Definition: ship.cpp:140
GLdouble GLdouble z
Definition: Glext.h:5451
#define IDC_SQUADRON_WING_NAME_4
Definition: resource.h:824
#define IDC_SQUADRON_WING_NAME_3
Definition: resource.h:821
int BOOL
Definition: config.h:80
virtual void DoDataExchange(CDataExchange *pDX)
#define IDC_STARTING_WING_NAME_2
Definition: resource.h:804
afx_msg void OnClose()
int MessageBox(HWND h, const char *s1, const char *s2, int i)
char TVT_wing_names[MAX_TVT_WINGS][NAME_LENGTH]
Definition: ship.cpp:141
#define IDC_SQUADRON_WING_NAME_1
Definition: resource.h:782
#define IDC_TVT_WING_NAME_2
Definition: resource.h:813
#define IDC_SQUADRON_WING_NAME_5
Definition: resource.h:818
#define FALSE
Definition: pstypes.h:400
#define stricmp(s1, s2)
Definition: config.h:271
#define strcpy_s(...)
Definition: safe_strings.h:67