/* * Descent 3 * Copyright (C) 2024 Parallax Software * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ // VideoDetectDlg.cpp : implementation file // #include "stdafx.h" #include "d3launch.h" #include "VideoDetectDlg.h" #include "OS_Config.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif #define DETECT_DIRECT3D 0x01 #define DETECT_OPENGL 0x02 #define DETECT_GLIDE 0x04 ///////////////////////////////////////////////////////////////////////////// // CVideoDetectDlg dialog CVideoDetectDlg::CVideoDetectDlg(CWnd* pParent /*=NULL*/) : CDialog(CVideoDetectDlg::IDD, pParent) { //{{AFX_DATA_INIT(CVideoDetectDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT DetectDirect3D=TRUE; DetectOpenGL=TRUE; DetectGlide=TRUE; } void CVideoDetectDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CVideoDetectDlg) DDX_Control(pDX, IDC_OPENGL_CHECK, m_OpenGLCheck); DDX_Control(pDX, IDC_GLIDE_CHECK, m_GlideCheck); DDX_Control(pDX, IDC_DIRECT3D_CHECK, m_Direct3DCheck); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CVideoDetectDlg, CDialog) //{{AFX_MSG_MAP(CVideoDetectDlg) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CVideoDetectDlg message handlers void CVideoDetectDlg::OnOK() { // TODO: Add extra validation here DetectDirect3D=m_Direct3DCheck.GetCheck(); DetectOpenGL=m_OpenGLCheck.GetCheck(); DetectGlide=m_GlideCheck.GetCheck(); // Store these settings for next time int settings=0; if(DetectDirect3D) settings |= DETECT_DIRECT3D; if(DetectOpenGL) settings |= DETECT_OPENGL; if(DetectGlide) settings |= DETECT_GLIDE; os_config_write_uint(szSectionName, "VideoDetectSettings", settings); RenderersDetected=TRUE; CDialog::OnOK(); } BOOL CVideoDetectDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here int settings; // Get the settings from last time user chose settings=os_config_read_uint(szSectionName, "VideoDetectSettings", DETECT_DIRECT3D|DETECT_GLIDE); DetectDirect3D=settings & DETECT_DIRECT3D; DetectOpenGL=settings & DETECT_OPENGL; DetectGlide=settings & DETECT_GLIDE; // Set the check marks appropriately m_Direct3DCheck.SetCheck(DetectDirect3D); m_OpenGLCheck.SetCheck(DetectOpenGL); m_GlideCheck.SetCheck(DetectGlide); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }