97 lines
3.8 KiB
C++
97 lines
3.8 KiB
C++
// Copyright (C) 2003-2008 Dolphin Project.
|
|
|
|
// 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, version 2.0.
|
|
|
|
// 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 2.0 for more details.
|
|
|
|
// A copy of the GPL 2.0 should have been included with the program.
|
|
// If not, see http://www.gnu.org/licenses/
|
|
|
|
// Official SVN repository and contact information can be found at
|
|
// http://code.google.com/p/dolphin-emu/
|
|
|
|
#include "resource.h"
|
|
|
|
#include "Config.h"
|
|
#include "ConfigDlg.h"
|
|
|
|
LRESULT
|
|
CConfigDlg::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
|
|
{
|
|
// Load config settings
|
|
g_Config.Load();
|
|
|
|
// Center window
|
|
//CenterWindow(this->GetParent());
|
|
CenterWindow(GetParent());
|
|
|
|
// Get button handles
|
|
m_buttonEnableHLEAudio = GetDlgItem(IDC_ENABLE_HLE_AUDIO);
|
|
m_buttonEnableDTKMusic = GetDlgItem(IDC_ENABLE_DTK_MUSIC);
|
|
m_buttonEnableThrottle = GetDlgItem(IDC_ENABLE_THROTTLE);
|
|
m_buttonAntiGap = GetDlgItem(IDC_ANTIGAP);
|
|
m_buttonDumpSamples = GetDlgItem(IDC_DUMPSAMPLES);
|
|
m_editDumpSamplePath = GetDlgItem(IDC_SAMPLEDUMPPATH);
|
|
m_comboSampleRate = GetDlgItem(IDC_SAMPLERATE);
|
|
|
|
// Update checkboxes
|
|
m_buttonEnableHLEAudio.SetCheck(g_Config.m_EnableHLEAudio ? BST_CHECKED : BST_UNCHECKED);
|
|
m_buttonEnableDTKMusic.SetCheck(g_Config.m_EnableDTKMusic ? BST_CHECKED : BST_UNCHECKED);
|
|
m_buttonEnableThrottle.SetCheck(g_Config.m_EnableThrottle ? BST_CHECKED : BST_UNCHECKED);
|
|
m_buttonAntiGap.SetCheck(g_Config.m_AntiGap ? BST_CHECKED : BST_UNCHECKED);
|
|
m_buttonDumpSamples.SetCheck(g_Config.m_DumpSamples ? BST_CHECKED : BST_UNCHECKED);
|
|
m_editDumpSamplePath.SetWindowText(g_Config.m_szSamplePath.c_str());
|
|
m_comboSampleRate.AddString("44100");
|
|
m_comboSampleRate.AddString("48000");
|
|
m_comboSampleRate.SetCurSel(g_Config.m_SampleRate == 44100 ? 0 : 1);
|
|
|
|
// Add tooltips
|
|
CToolTipCtrl ToolTips;
|
|
ToolTips.Create(m_hWnd);
|
|
ToolTips.Activate(true);
|
|
ToolTips.SetMaxTipWidth(220); // limit the width
|
|
ToolTips.SetDelayTime(TTDT_AUTOPOP, 20 * 1000); // give us time to read it
|
|
CToolInfo tiHLE(TTF_SUBCLASS, m_buttonEnableHLEAudio, 0, NULL,
|
|
"This is the most common sound type");
|
|
CToolInfo tiDTK(TTF_SUBCLASS, m_buttonEnableDTKMusic, 0, NULL,
|
|
"This is sometimes used to play music tracks from the disc");
|
|
CToolInfo tiOther(TTF_SUBCLASS, m_buttonEnableThrottle, 0, NULL,
|
|
"This is sometimes used together with pre-rendered movies. Disabling this"
|
|
" also disables the speed throttle that is causes. Meaning that"
|
|
" there will be no upper limit on your FPS.");
|
|
ToolTips.AddTool(tiHLE);
|
|
ToolTips.AddTool(tiDTK);
|
|
ToolTips.AddTool(tiOther);
|
|
|
|
return(TRUE);
|
|
}
|
|
|
|
|
|
LRESULT
|
|
CConfigDlg::OnCloseCmd(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
|
|
{
|
|
// Save settings
|
|
if (wID == IDOK)
|
|
{
|
|
g_Config.m_EnableHLEAudio = (m_buttonEnableHLEAudio.GetCheck() == BST_CHECKED) ? true : false;
|
|
g_Config.m_EnableDTKMusic = (m_buttonEnableDTKMusic.GetCheck() == BST_CHECKED) ? true : false;
|
|
g_Config.m_EnableThrottle = (m_buttonEnableThrottle.GetCheck() == BST_CHECKED) ? true : false;
|
|
g_Config.m_DumpSamples = (m_buttonDumpSamples.GetCheck() == BST_CHECKED) ? true : false;
|
|
g_Config.m_AntiGap = (m_buttonAntiGap.GetCheck() == BST_CHECKED) ? true : false;
|
|
char temp[MAX_PATH];
|
|
m_editDumpSamplePath.GetWindowText(temp, MAX_PATH);
|
|
g_Config.m_szSamplePath = temp;
|
|
g_Config.m_SampleRate = (m_comboSampleRate.GetCurSel() == 0 ? 44100 : 48000);
|
|
g_Config.Save();
|
|
}
|
|
|
|
EndDialog(wID);
|
|
g_Config.Save();
|
|
return(0);
|
|
}
|