[Project64] Cleanup Settings/SettingsPage-Game-Plugin.cpp
This commit is contained in:
parent
c664e9a578
commit
95a9841458
|
@ -15,336 +15,336 @@
|
||||||
|
|
||||||
CGamePluginPage::CGamePluginPage(HWND hParent, const RECT & rcDispay)
|
CGamePluginPage::CGamePluginPage(HWND hParent, const RECT & rcDispay)
|
||||||
{
|
{
|
||||||
if (!Create(hParent, rcDispay))
|
if (!Create(hParent, rcDispay))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Set the text for all gui Items
|
//Set the text for all gui Items
|
||||||
SetDlgItemTextW(m_hWnd, RSP_ABOUT, GS(PLUG_ABOUT));
|
SetDlgItemTextW(m_hWnd, RSP_ABOUT, GS(PLUG_ABOUT));
|
||||||
SetDlgItemTextW(m_hWnd, GFX_ABOUT, GS(PLUG_ABOUT));
|
SetDlgItemTextW(m_hWnd, GFX_ABOUT, GS(PLUG_ABOUT));
|
||||||
SetDlgItemTextW(m_hWnd, AUDIO_ABOUT, GS(PLUG_ABOUT));
|
SetDlgItemTextW(m_hWnd, AUDIO_ABOUT, GS(PLUG_ABOUT));
|
||||||
SetDlgItemTextW(m_hWnd, CONT_ABOUT, GS(PLUG_ABOUT));
|
SetDlgItemTextW(m_hWnd, CONT_ABOUT, GS(PLUG_ABOUT));
|
||||||
|
|
||||||
SetDlgItemTextW(m_hWnd, IDC_RSP_NAME, GS(PLUG_RSP));
|
SetDlgItemTextW(m_hWnd, IDC_RSP_NAME, GS(PLUG_RSP));
|
||||||
SetDlgItemTextW(m_hWnd, IDC_GFX_NAME, GS(PLUG_GFX));
|
SetDlgItemTextW(m_hWnd, IDC_GFX_NAME, GS(PLUG_GFX));
|
||||||
SetDlgItemTextW(m_hWnd, IDC_AUDIO_NAME, GS(PLUG_AUDIO));
|
SetDlgItemTextW(m_hWnd, IDC_AUDIO_NAME, GS(PLUG_AUDIO));
|
||||||
SetDlgItemTextW(m_hWnd, IDC_CONT_NAME, GS(PLUG_CTRL));
|
SetDlgItemTextW(m_hWnd, IDC_CONT_NAME, GS(PLUG_CTRL));
|
||||||
|
|
||||||
SetDlgItemTextW(m_hWnd, IDC_HLE_GFX, GS(PLUG_HLE_GFX));
|
SetDlgItemTextW(m_hWnd, IDC_HLE_GFX, GS(PLUG_HLE_GFX));
|
||||||
SetDlgItemTextW(m_hWnd, IDC_HLE_AUDIO, GS(PLUG_HLE_AUDIO));
|
SetDlgItemTextW(m_hWnd, IDC_HLE_AUDIO, GS(PLUG_HLE_AUDIO));
|
||||||
|
|
||||||
m_GfxGroup.Attach(GetDlgItem(IDC_GFX_NAME));
|
m_GfxGroup.Attach(GetDlgItem(IDC_GFX_NAME));
|
||||||
m_AudioGroup.Attach(GetDlgItem(IDC_AUDIO_NAME));
|
m_AudioGroup.Attach(GetDlgItem(IDC_AUDIO_NAME));
|
||||||
m_ControlGroup.Attach(GetDlgItem(IDC_CONT_NAME));
|
m_ControlGroup.Attach(GetDlgItem(IDC_CONT_NAME));
|
||||||
m_RspGroup.Attach(GetDlgItem(IDC_RSP_NAME));
|
m_RspGroup.Attach(GetDlgItem(IDC_RSP_NAME));
|
||||||
|
|
||||||
AddPlugins(GFX_LIST, Game_EditPlugin_Gfx, PLUGIN_TYPE_GFX);
|
AddPlugins(GFX_LIST, Game_EditPlugin_Gfx, PLUGIN_TYPE_GFX);
|
||||||
AddPlugins(AUDIO_LIST, Game_EditPlugin_Audio, PLUGIN_TYPE_AUDIO);
|
AddPlugins(AUDIO_LIST, Game_EditPlugin_Audio, PLUGIN_TYPE_AUDIO);
|
||||||
AddPlugins(CONT_LIST, Game_EditPlugin_Contr, PLUGIN_TYPE_CONTROLLER);
|
AddPlugins(CONT_LIST, Game_EditPlugin_Contr, PLUGIN_TYPE_CONTROLLER);
|
||||||
AddPlugins(RSP_LIST, Game_EditPlugin_RSP, PLUGIN_TYPE_RSP);
|
AddPlugins(RSP_LIST, Game_EditPlugin_RSP, PLUGIN_TYPE_RSP);
|
||||||
|
|
||||||
AddModCheckBox(GetDlgItem(IDC_HLE_GFX), Game_UseHleGfx);
|
AddModCheckBox(GetDlgItem(IDC_HLE_GFX), Game_UseHleGfx);
|
||||||
AddModCheckBox(GetDlgItem(IDC_HLE_AUDIO), Game_UseHleAudio);
|
AddModCheckBox(GetDlgItem(IDC_HLE_AUDIO), Game_UseHleAudio);
|
||||||
|
|
||||||
UpdatePageSettings();
|
UpdatePageSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::AddPlugins(int ListId, SettingID Type, PLUGIN_TYPE PluginType)
|
void CGamePluginPage::AddPlugins(int ListId, SettingID Type, PLUGIN_TYPE PluginType)
|
||||||
{
|
{
|
||||||
stdstr Default;
|
stdstr Default;
|
||||||
bool PluginSelected = g_Settings->LoadStringVal(Type, Default);
|
bool PluginSelected = g_Settings->LoadStringVal(Type, Default);
|
||||||
|
|
||||||
CModifiedComboBox * ComboBox;
|
CModifiedComboBox * ComboBox;
|
||||||
ComboBox = AddModComboBox(GetDlgItem(ListId), Type);
|
ComboBox = AddModComboBox(GetDlgItem(ListId), Type);
|
||||||
if (!PluginSelected)
|
if (!PluginSelected)
|
||||||
{
|
{
|
||||||
ComboBox->SetDefault(NULL);
|
ComboBox->SetDefault(NULL);
|
||||||
}
|
}
|
||||||
ComboBox->AddItemW(GS(PLUG_DEFAULT), NULL);
|
ComboBox->AddItemW(GS(PLUG_DEFAULT), NULL);
|
||||||
|
|
||||||
for (int i = 0, n = m_PluginList.GetPluginCount(); i < n; i++)
|
for (int i = 0, n = m_PluginList.GetPluginCount(); i < n; i++)
|
||||||
{
|
{
|
||||||
const CPluginList::PLUGIN * Plugin = m_PluginList.GetPluginInfo(i);
|
const CPluginList::PLUGIN * Plugin = m_PluginList.GetPluginInfo(i);
|
||||||
if (Plugin == NULL)
|
if (Plugin == NULL)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (Plugin->Info.Type != PluginType)
|
if (Plugin->Info.Type != PluginType)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (PluginSelected && _stricmp(Default.c_str(), Plugin->FileName.c_str()) == 0)
|
if (PluginSelected && _stricmp(Default.c_str(), Plugin->FileName.c_str()) == 0)
|
||||||
{
|
{
|
||||||
ComboBox->SetDefault((WPARAM)Plugin);
|
ComboBox->SetDefault((WPARAM)Plugin);
|
||||||
}
|
}
|
||||||
ComboBox->AddItem(Plugin->Info.Name, (WPARAM)Plugin);
|
ComboBox->AddItem(Plugin->Info.Name, (WPARAM)Plugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::ShowAboutButton(int id)
|
void CGamePluginPage::ShowAboutButton(int id)
|
||||||
{
|
{
|
||||||
CModifiedComboBox * ComboBox = NULL;
|
CModifiedComboBox * ComboBox = NULL;
|
||||||
for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++)
|
for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++)
|
||||||
{
|
{
|
||||||
if ((int)(cb_iter->second->GetMenu()) != id)
|
if ((int)(cb_iter->second->GetMenu()) != id)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ComboBox = cb_iter->second;
|
ComboBox = cb_iter->second;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ComboBox == NULL)
|
if (ComboBox == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int index = ComboBox->GetCurSel();
|
int index = ComboBox->GetCurSel();
|
||||||
if (index == CB_ERR)
|
if (index == CB_ERR)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox->GetItemDataPtr(index);
|
const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox->GetItemDataPtr(index);
|
||||||
if (PluginPtr == NULL)
|
if (PluginPtr == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const CPluginList::PLUGIN * Plugin = *PluginPtr;
|
const CPluginList::PLUGIN * Plugin = *PluginPtr;
|
||||||
if (Plugin == NULL)
|
if (Plugin == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Load the plugin
|
//Load the plugin
|
||||||
UINT LastErrorMode = SetErrorMode(SEM_FAILCRITICALERRORS);
|
UINT LastErrorMode = SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||||
HMODULE hLib = LoadLibrary(Plugin->FullPath);
|
HMODULE hLib = LoadLibrary(Plugin->FullPath);
|
||||||
SetErrorMode(LastErrorMode);
|
SetErrorMode(LastErrorMode);
|
||||||
if (hLib == NULL)
|
if (hLib == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get DLL about
|
//Get DLL about
|
||||||
void(__cdecl *DllAbout) (HWND hWnd);
|
void(__cdecl *DllAbout) (HWND hWnd);
|
||||||
DllAbout = (void(__cdecl *)(HWND))GetProcAddress(hLib, "DllAbout");
|
DllAbout = (void(__cdecl *)(HWND))GetProcAddress(hLib, "DllAbout");
|
||||||
|
|
||||||
//call the function from the dll
|
//call the function from the dll
|
||||||
DllAbout(m_hWnd);
|
DllAbout(m_hWnd);
|
||||||
|
|
||||||
FreeLibrary(hLib);
|
FreeLibrary(hLib);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::PluginItemChanged(int id, int AboutID, bool bSetChanged)
|
void CGamePluginPage::PluginItemChanged(int id, int AboutID, bool bSetChanged)
|
||||||
{
|
{
|
||||||
CModifiedComboBox * ComboBox = NULL;
|
CModifiedComboBox * ComboBox = NULL;
|
||||||
for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++)
|
for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++)
|
||||||
{
|
{
|
||||||
if ((int)(cb_iter->second->GetMenu()) != id)
|
if ((int)(cb_iter->second->GetMenu()) != id)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ComboBox = cb_iter->second;
|
ComboBox = cb_iter->second;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ComboBox == NULL)
|
if (ComboBox == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int index = ComboBox->GetCurSel();
|
int index = ComboBox->GetCurSel();
|
||||||
if (index == CB_ERR)
|
if (index == CB_ERR)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox->GetItemDataPtr(index);
|
const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox->GetItemDataPtr(index);
|
||||||
if (PluginPtr)
|
if (PluginPtr)
|
||||||
{
|
{
|
||||||
const CPluginList::PLUGIN * Plugin = *PluginPtr;
|
const CPluginList::PLUGIN * Plugin = *PluginPtr;
|
||||||
if (Plugin)
|
if (Plugin)
|
||||||
{
|
{
|
||||||
::EnableWindow(GetDlgItem(AboutID), Plugin->AboutFunction);
|
::EnableWindow(GetDlgItem(AboutID), Plugin->AboutFunction);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bSetChanged)
|
if (bSetChanged)
|
||||||
{
|
{
|
||||||
ComboBox->SetChanged(true);
|
ComboBox->SetChanged(true);
|
||||||
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
|
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::UpdatePageSettings(void)
|
void CGamePluginPage::UpdatePageSettings(void)
|
||||||
{
|
{
|
||||||
UpdateCheckBoxes();
|
UpdateCheckBoxes();
|
||||||
for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++)
|
for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++)
|
||||||
{
|
{
|
||||||
CModifiedComboBox * ComboBox = cb_iter->second;
|
CModifiedComboBox * ComboBox = cb_iter->second;
|
||||||
stdstr SelectedValue;
|
stdstr SelectedValue;
|
||||||
|
|
||||||
bool PluginChanged = g_Settings->LoadStringVal(cb_iter->first, SelectedValue);
|
bool PluginChanged = g_Settings->LoadStringVal(cb_iter->first, SelectedValue);
|
||||||
ComboBox->SetChanged(PluginChanged);
|
ComboBox->SetChanged(PluginChanged);
|
||||||
if (PluginChanged)
|
if (PluginChanged)
|
||||||
{
|
{
|
||||||
for (int i = 0, n = m_PluginList.GetPluginCount(); i < n; i++)
|
for (int i = 0, n = m_PluginList.GetPluginCount(); i < n; i++)
|
||||||
{
|
{
|
||||||
const CPluginList::PLUGIN * Plugin = m_PluginList.GetPluginInfo(i);
|
const CPluginList::PLUGIN * Plugin = m_PluginList.GetPluginInfo(i);
|
||||||
if (Plugin == NULL)
|
if (Plugin == NULL)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (_stricmp(SelectedValue.c_str(), Plugin->FileName.c_str()) != 0)
|
if (_stricmp(SelectedValue.c_str(), Plugin->FileName.c_str()) != 0)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ComboBox->SetDefault((WPARAM)Plugin);
|
ComboBox->SetDefault((WPARAM)Plugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ComboBox->SetDefault(NULL);
|
ComboBox->SetDefault(NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PluginItemChanged(GFX_LIST, GFX_ABOUT, false);
|
PluginItemChanged(GFX_LIST, GFX_ABOUT, false);
|
||||||
PluginItemChanged(AUDIO_LIST, AUDIO_ABOUT, false);
|
PluginItemChanged(AUDIO_LIST, AUDIO_ABOUT, false);
|
||||||
PluginItemChanged(CONT_LIST, CONT_ABOUT, false);
|
PluginItemChanged(CONT_LIST, CONT_ABOUT, false);
|
||||||
PluginItemChanged(RSP_LIST, RSP_ABOUT, false);
|
PluginItemChanged(RSP_LIST, RSP_ABOUT, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::HidePage()
|
void CGamePluginPage::HidePage()
|
||||||
{
|
{
|
||||||
ShowWindow(SW_HIDE);
|
ShowWindow(SW_HIDE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::ShowPage()
|
void CGamePluginPage::ShowPage()
|
||||||
{
|
{
|
||||||
ShowWindow(SW_SHOW);
|
ShowWindow(SW_SHOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::ApplySettings(bool UpdateScreen)
|
void CGamePluginPage::ApplySettings(bool UpdateScreen)
|
||||||
{
|
{
|
||||||
CSettingsPageImpl<CGamePluginPage>::ApplySettings(UpdateScreen);
|
CSettingsPageImpl<CGamePluginPage>::ApplySettings(UpdateScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CGamePluginPage::EnableReset(void)
|
bool CGamePluginPage::EnableReset(void)
|
||||||
{
|
{
|
||||||
if (CSettingsPageImpl<CGamePluginPage>::EnableReset()) { return true; }
|
if (CSettingsPageImpl<CGamePluginPage>::EnableReset()) { return true; }
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::ResetPage()
|
void CGamePluginPage::ResetPage()
|
||||||
{
|
{
|
||||||
CSettingsPageImpl<CGamePluginPage>::ResetPage();
|
CSettingsPageImpl<CGamePluginPage>::ResetPage();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::ApplyComboBoxes(void)
|
void CGamePluginPage::ApplyComboBoxes(void)
|
||||||
{
|
{
|
||||||
for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++)
|
for (ComboBoxList::iterator cb_iter = m_ComboBoxList.begin(); cb_iter != m_ComboBoxList.end(); cb_iter++)
|
||||||
{
|
{
|
||||||
CModifiedComboBox * ComboBox = cb_iter->second;
|
CModifiedComboBox * ComboBox = cb_iter->second;
|
||||||
if (ComboBox->IsChanged())
|
if (ComboBox->IsChanged())
|
||||||
{
|
{
|
||||||
int index = ComboBox->GetCurSel();
|
int index = ComboBox->GetCurSel();
|
||||||
if (index == CB_ERR)
|
if (index == CB_ERR)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox->GetItemDataPtr(index);
|
const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox->GetItemDataPtr(index);
|
||||||
if (PluginPtr == NULL)
|
if (PluginPtr == NULL)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const CPluginList::PLUGIN * Plugin = *PluginPtr;
|
const CPluginList::PLUGIN * Plugin = *PluginPtr;
|
||||||
|
|
||||||
if (Plugin)
|
if (Plugin)
|
||||||
{
|
{
|
||||||
if (g_Settings->LoadStringVal(cb_iter->first) != Plugin->FileName.c_str())
|
if (g_Settings->LoadStringVal(cb_iter->first) != Plugin->FileName.c_str())
|
||||||
{
|
{
|
||||||
g_Settings->SaveString(cb_iter->first, Plugin->FileName.c_str());
|
g_Settings->SaveString(cb_iter->first, Plugin->FileName.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
g_Settings->DeleteSetting(cb_iter->first);
|
g_Settings->DeleteSetting(cb_iter->first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ComboBox->IsReset())
|
if (ComboBox->IsReset())
|
||||||
{
|
{
|
||||||
g_Settings->DeleteSetting(cb_iter->first);
|
g_Settings->DeleteSetting(cb_iter->first);
|
||||||
ComboBox->SetReset(false);
|
ComboBox->SetReset(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CGamePluginPage::ResetComboBox(CModifiedComboBox & ComboBox, SettingID /*Type*/)
|
bool CGamePluginPage::ResetComboBox(CModifiedComboBox & ComboBox, SettingID /*Type*/)
|
||||||
{
|
{
|
||||||
if (!ComboBox.IsChanged())
|
if (!ComboBox.IsChanged())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ComboBox.SetReset(true);
|
ComboBox.SetReset(true);
|
||||||
for (int i = 0, n = ComboBox.GetCount(); i < n; i++)
|
for (int i = 0, n = ComboBox.GetCount(); i < n; i++)
|
||||||
{
|
{
|
||||||
const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox.GetItemDataPtr(i);
|
const CPluginList::PLUGIN ** PluginPtr = (const CPluginList::PLUGIN **)ComboBox.GetItemDataPtr(i);
|
||||||
if (PluginPtr == NULL)
|
if (PluginPtr == NULL)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (*PluginPtr != NULL)
|
if (*PluginPtr != NULL)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ComboBox.SetCurSel(i);
|
ComboBox.SetCurSel(i);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::HleGfxChanged(UINT /*Code*/, int id, HWND /*ctl*/)
|
void CGamePluginPage::HleGfxChanged(UINT /*Code*/, int id, HWND /*ctl*/)
|
||||||
{
|
{
|
||||||
for (ButtonList::iterator iter = m_ButtonList.begin(); iter != m_ButtonList.end(); iter++)
|
for (ButtonList::iterator iter = m_ButtonList.begin(); iter != m_ButtonList.end(); iter++)
|
||||||
{
|
{
|
||||||
CModifiedButton * Button = iter->second;
|
CModifiedButton * Button = iter->second;
|
||||||
if ((int)Button->GetMenu() != id)
|
if ((int)Button->GetMenu() != id)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ((Button->GetCheck() & BST_CHECKED) == 0)
|
if ((Button->GetCheck() & BST_CHECKED) == 0)
|
||||||
{
|
{
|
||||||
int res = MessageBoxW(m_hWnd, GS(MSG_SET_LLE_GFX_MSG), GS(MSG_SET_LLE_GFX_TITLE), MB_YESNO | MB_ICONWARNING);
|
int res = MessageBoxW(m_hWnd, GS(MSG_SET_LLE_GFX_MSG), GS(MSG_SET_LLE_GFX_TITLE), MB_YESNO | MB_ICONWARNING);
|
||||||
if (res != IDYES)
|
if (res != IDYES)
|
||||||
{
|
{
|
||||||
Button->SetCheck(BST_CHECKED);
|
Button->SetCheck(BST_CHECKED);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Button->SetChanged(true);
|
Button->SetChanged(true);
|
||||||
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
|
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGamePluginPage::HleAudioChanged(UINT /*Code*/, int id, HWND /*ctl*/)
|
void CGamePluginPage::HleAudioChanged(UINT /*Code*/, int id, HWND /*ctl*/)
|
||||||
{
|
{
|
||||||
for (ButtonList::iterator iter = m_ButtonList.begin(); iter != m_ButtonList.end(); iter++)
|
for (ButtonList::iterator iter = m_ButtonList.begin(); iter != m_ButtonList.end(); iter++)
|
||||||
{
|
{
|
||||||
CModifiedButton * Button = iter->second;
|
CModifiedButton * Button = iter->second;
|
||||||
if ((int)Button->GetMenu() != id)
|
if ((int)Button->GetMenu() != id)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ((Button->GetCheck() & BST_CHECKED) != 0)
|
if ((Button->GetCheck() & BST_CHECKED) != 0)
|
||||||
{
|
{
|
||||||
int res = MessageBoxW(m_hWnd, GS(MSG_SET_HLE_AUD_MSG), GS(MSG_SET_HLE_AUD_TITLE), MB_ICONWARNING | MB_YESNO);
|
int res = MessageBoxW(m_hWnd, GS(MSG_SET_HLE_AUD_MSG), GS(MSG_SET_HLE_AUD_TITLE), MB_ICONWARNING | MB_YESNO);
|
||||||
if (res != IDYES)
|
if (res != IDYES)
|
||||||
{
|
{
|
||||||
Button->SetCheck(BST_UNCHECKED);
|
Button->SetCheck(BST_UNCHECKED);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Button->SetChanged(true);
|
Button->SetChanged(true);
|
||||||
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
|
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -14,56 +14,56 @@
|
||||||
#include <Project64\Plugins\PluginList.h>
|
#include <Project64\Plugins\PluginList.h>
|
||||||
|
|
||||||
class CGamePluginPage :
|
class CGamePluginPage :
|
||||||
public CSettingsPageImpl<CGamePluginPage>,
|
public CSettingsPageImpl<CGamePluginPage>,
|
||||||
public CSettingsPage
|
public CSettingsPage
|
||||||
{
|
{
|
||||||
BEGIN_MSG_MAP_EX(CGamePluginPage)
|
BEGIN_MSG_MAP_EX(CGamePluginPage)
|
||||||
COMMAND_HANDLER_EX(GFX_LIST, LBN_SELCHANGE, GfxPluginChanged)
|
COMMAND_HANDLER_EX(GFX_LIST, LBN_SELCHANGE, GfxPluginChanged)
|
||||||
COMMAND_HANDLER_EX(AUDIO_LIST, LBN_SELCHANGE, AudioPluginChanged)
|
COMMAND_HANDLER_EX(AUDIO_LIST, LBN_SELCHANGE, AudioPluginChanged)
|
||||||
COMMAND_HANDLER_EX(CONT_LIST, LBN_SELCHANGE, ControllerPluginChanged)
|
COMMAND_HANDLER_EX(CONT_LIST, LBN_SELCHANGE, ControllerPluginChanged)
|
||||||
COMMAND_HANDLER_EX(RSP_LIST, LBN_SELCHANGE, RspPluginChanged)
|
COMMAND_HANDLER_EX(RSP_LIST, LBN_SELCHANGE, RspPluginChanged)
|
||||||
COMMAND_ID_HANDLER_EX(GFX_ABOUT, GfxPluginAbout)
|
COMMAND_ID_HANDLER_EX(GFX_ABOUT, GfxPluginAbout)
|
||||||
COMMAND_ID_HANDLER_EX(AUDIO_ABOUT, AudioPluginAbout)
|
COMMAND_ID_HANDLER_EX(AUDIO_ABOUT, AudioPluginAbout)
|
||||||
COMMAND_ID_HANDLER_EX(CONT_ABOUT, ControllerPluginAbout)
|
COMMAND_ID_HANDLER_EX(CONT_ABOUT, ControllerPluginAbout)
|
||||||
COMMAND_ID_HANDLER_EX(RSP_ABOUT, RspPluginAbout)
|
COMMAND_ID_HANDLER_EX(RSP_ABOUT, RspPluginAbout)
|
||||||
COMMAND_ID_HANDLER_EX(IDC_HLE_GFX, HleGfxChanged)
|
COMMAND_ID_HANDLER_EX(IDC_HLE_GFX, HleGfxChanged)
|
||||||
COMMAND_ID_HANDLER_EX(IDC_HLE_AUDIO, HleAudioChanged)
|
COMMAND_ID_HANDLER_EX(IDC_HLE_AUDIO, HleAudioChanged)
|
||||||
END_MSG_MAP()
|
END_MSG_MAP()
|
||||||
|
|
||||||
enum { IDD = IDD_Settings_GamePlugin };
|
enum { IDD = IDD_Settings_GamePlugin };
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CGamePluginPage(HWND hParent, const RECT & rcDispay);
|
CGamePluginPage(HWND hParent, const RECT & rcDispay);
|
||||||
|
|
||||||
LanguageStringID PageTitle(void) { return TAB_PLUGIN; }
|
LanguageStringID PageTitle(void) { return TAB_PLUGIN; }
|
||||||
void HidePage(void);
|
void HidePage(void);
|
||||||
void ShowPage(void);
|
void ShowPage(void);
|
||||||
void ApplySettings(bool UpdateScreen);
|
void ApplySettings(bool UpdateScreen);
|
||||||
bool EnableReset(void);
|
bool EnableReset(void);
|
||||||
void ResetPage(void);
|
void ResetPage(void);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void GfxPluginAbout(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { ShowAboutButton(GFX_LIST); }
|
void GfxPluginAbout(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { ShowAboutButton(GFX_LIST); }
|
||||||
void AudioPluginAbout(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { ShowAboutButton(AUDIO_LIST); }
|
void AudioPluginAbout(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { ShowAboutButton(AUDIO_LIST); }
|
||||||
void ControllerPluginAbout(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { ShowAboutButton(CONT_LIST); }
|
void ControllerPluginAbout(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { ShowAboutButton(CONT_LIST); }
|
||||||
void RspPluginAbout(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { ShowAboutButton(RSP_LIST); }
|
void RspPluginAbout(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { ShowAboutButton(RSP_LIST); }
|
||||||
|
|
||||||
void GfxPluginChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { PluginItemChanged(GFX_LIST, GFX_ABOUT); }
|
void GfxPluginChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { PluginItemChanged(GFX_LIST, GFX_ABOUT); }
|
||||||
void AudioPluginChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { PluginItemChanged(AUDIO_LIST, AUDIO_ABOUT); }
|
void AudioPluginChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { PluginItemChanged(AUDIO_LIST, AUDIO_ABOUT); }
|
||||||
void ControllerPluginChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { PluginItemChanged(CONT_LIST, CONT_ABOUT); }
|
void ControllerPluginChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { PluginItemChanged(CONT_LIST, CONT_ABOUT); }
|
||||||
void RspPluginChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { PluginItemChanged(RSP_LIST, RSP_ABOUT); }
|
void RspPluginChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/) { PluginItemChanged(RSP_LIST, RSP_ABOUT); }
|
||||||
|
|
||||||
void HleGfxChanged(UINT Code, int id, HWND ctl);
|
void HleGfxChanged(UINT Code, int id, HWND ctl);
|
||||||
void HleAudioChanged(UINT Code, int id, HWND ctl);
|
void HleAudioChanged(UINT Code, int id, HWND ctl);
|
||||||
|
|
||||||
void ShowAboutButton(int id);
|
void ShowAboutButton(int id);
|
||||||
void PluginItemChanged(int id, int AboutID, bool bSetChanged = true);
|
void PluginItemChanged(int id, int AboutID, bool bSetChanged = true);
|
||||||
|
|
||||||
void AddPlugins(int ListId, SettingID Type, PLUGIN_TYPE PluginType);
|
void AddPlugins(int ListId, SettingID Type, PLUGIN_TYPE PluginType);
|
||||||
void UpdatePageSettings(void);
|
void UpdatePageSettings(void);
|
||||||
void ApplyComboBoxes(void);
|
void ApplyComboBoxes(void);
|
||||||
bool ResetComboBox(CModifiedComboBox & ComboBox, SettingID Type);
|
bool ResetComboBox(CModifiedComboBox & ComboBox, SettingID Type);
|
||||||
|
|
||||||
CPartialGroupBox m_GfxGroup, m_AudioGroup, m_ControlGroup, m_RspGroup;
|
CPartialGroupBox m_GfxGroup, m_AudioGroup, m_ControlGroup, m_RspGroup;
|
||||||
CPluginList m_PluginList;
|
CPluginList m_PluginList;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue