| 144 | #define GET_CHECK(id) (((CButton *)GetDlgItem(id))->GetCheck() != 0) |
| 145 | |
| 146 | void CPreferencesDialog::OnOK() { |
| 147 | CSliderCtrl *slew_slider = (CSliderCtrl *)GetDlgItem(IDC_SLEWSLIDER); |
| 148 | bool joyslew; |
| 149 | |
| 150 | if (GET_CHECK(IDC_WINDOWED)) |
| 151 | D3EditState.game_render_mode = GM_WINDOWED; |
| 152 | else if (GET_CHECK(IDC_FULLSCREEN_SW)) |
| 153 | D3EditState.game_render_mode = GM_FULLSCREEN_SW; |
| 154 | else if (GET_CHECK(IDC_FULLSCREEN_HW)) |
| 155 | D3EditState.game_render_mode = GM_FULLSCREEN_HW; |
| 156 | else |
| 157 | Int3(); // unknown game render mode |
| 158 | |
| 159 | // Do we want fullscreen debug mode? |
| 160 | if (GET_CHECK(IDC_DEBUG_CHECK)) |
| 161 | D3EditState.fullscreen_debug_state = true; |
| 162 | else |
| 163 | D3EditState.fullscreen_debug_state = false; |
| 164 | |
| 165 | if (GET_CHECK(IDC_USE_OPENGL)) |
| 166 | PreferredRenderer = RENDERER_OPENGL; |
| 167 | else if (GET_CHECK(IDC_USE_GLIDE)) |
| 168 | PreferredRenderer = RENDERER_GLIDE; |
| 169 | else if (GET_CHECK(IDC_USE_D3D)) |
| 170 | PreferredRenderer = RENDERER_DIRECT3D; |
| 171 | else |
| 172 | Int3(); // unknown hardware renderer |
| 173 | |
| 174 | joyslew = (GET_CHECK(IDC_JOYENABLE)) ? true : false; |
| 175 | |
| 176 | if (joyslew != D3EditState.joy_slewing) { |
| 177 | D3EditState.joy_slewing = joyslew; |
| 178 | SlewControlInit(); |
| 179 | } |
| 180 | |
| 181 | Render_preferred_state.filtering = GET_CHECK(IDC_BILINEAR_CHECK); |
| 182 | Render_preferred_state.mipping = GET_CHECK(IDC_MIPPING_CHECK); |
| 183 | |
| 184 | CComboBox *combo = (CComboBox *)GetDlgItem(IDC_DEFAULT_PILOT); |
| 185 | if (combo->GetCount()) { |
| 186 | combo->GetLBText(combo->GetCurSel(), Default_pilot); |
| 187 | } else { |
| 188 | strcpy(Default_pilot, " "); |
| 189 | } |
| 190 | |
| 191 | Slew_key_speed = (slew_slider->GetPos() * 0.5) + 0.5; |
| 192 | |
| 193 | CDialog::OnOK(); |
| 194 | } |
| 195 | |
| 196 | BOOL CPreferencesDialog::OnInitDialog() { |
| 197 | CDialog::OnInitDialog(); |
nothing calls this directly
no test coverage detected