[UI] Add 64DD Tab in Options

This commit is contained in:
LuigiBlood 2019-08-12 19:55:10 +02:00
parent bbabf5d98d
commit bfd793c184
11 changed files with 55 additions and 56 deletions

View File

@ -234,6 +234,7 @@ enum LanguageStringID
TAB_ROMSTATUS = 410,
TAB_RECOMPILER = 411,
TAB_DEFAULTS = 412,
TAB_DISKDRIVE = 413,
//Plugin Dialog
PLUG_ABOUT = 420,
@ -271,6 +272,8 @@ enum LanguageStringID
OPTION_CHECK_RUNNING = 467,
OPTION_UNIQUE_SAVE_DIR = 468,
OPTION_IPL_ROM_PATH = 469,
OPTION_IPL_ROM_USA_PATH = 470,
OPTION_IPL_ROM_TOOL_PATH = 471,
//Rom Browser Tab
RB_MAX_ROMS = 480,

View File

@ -201,6 +201,7 @@ void CLanguage::LoadDefaultStrings(void)
DEF_STR(TAB_ROMSTATUS, "Status");
DEF_STR(TAB_RECOMPILER, "Recompiler");
DEF_STR(TAB_DEFAULTS, "Defaults");
DEF_STR(TAB_DISKDRIVE, "64DD");
//Plugin Dialog
DEF_STR(PLUG_ABOUT, "About");
@ -237,7 +238,9 @@ void CLanguage::LoadDefaultStrings(void)
DEF_STR(OPTION_CHECK_RUNNING, "Check if Project64 is already running");
DEF_STR(OPTION_UNIQUE_SAVE_DIR, "Unique Game Save Directory");
DEF_STR(OPTION_CHANGE_FR, "Speed display:");
DEF_STR(OPTION_IPL_ROM_PATH, "64DD IPL ROM Path:");
DEF_STR(OPTION_IPL_ROM_PATH, "Japanese Retail 64DD IPL ROM Path:");
DEF_STR(OPTION_IPL_ROM_USA_PATH, "American Retail 64DD IPL ROM Path:");
DEF_STR(OPTION_IPL_ROM_TOOL_PATH, "Development 64DD IPL ROM Path:");
//ROM Browser Tab
DEF_STR(RB_MAX_ROMS, "Max # of ROMs remembered (0-10):");

View File

@ -118,6 +118,7 @@
<ClCompile Include="UserInterface\Settings\SettingsPage-AdvancedOptions.cpp" />
<ClCompile Include="UserInterface\Settings\SettingsPage-Defaults.cpp" />
<ClCompile Include="UserInterface\Settings\SettingsPage-Directories.cpp" />
<ClCompile Include="UserInterface\Settings\SettingsPage-DiskDrive.cpp" />
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-General.cpp" />
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-Plugin.cpp" />
<ClCompile Include="UserInterface\Settings\SettingsPage-Game-Recompiler.cpp" />
@ -187,6 +188,7 @@
<ClInclude Include="UserInterface\Settings\SettingsPage-AdvancedOptions.h" />
<ClInclude Include="UserInterface\Settings\SettingsPage-Defaults.h" />
<ClInclude Include="UserInterface\Settings\SettingsPage-Directories.h" />
<ClInclude Include="UserInterface\Settings\SettingsPage-DiskDrive.h" />
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-General.h" />
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-Plugin.h" />
<ClInclude Include="UserInterface\Settings\SettingsPage-Game-Recompiler.h" />

View File

@ -234,6 +234,9 @@
<ClCompile Include="UserInterface\Debugger\Debugger-ExceptionBreakpoints.cpp">
<Filter>Source Files\User Interface Source\Debugger Source</Filter>
</ClCompile>
<ClCompile Include="UserInterface\Settings\SettingsPage-DiskDrive.cpp">
<Filter>Source Files\User Interface Source\Settings Source</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="UserInterface\resource.h">
@ -449,6 +452,9 @@
<ClInclude Include="UserInterface\Debugger\Debugger-ExceptionBreakpoints.h">
<Filter>Header Files\User Interface Headers\Debugger Headers</Filter>
</ClInclude>
<ClInclude Include="UserInterface\Settings\SettingsPage-DiskDrive.h">
<Filter>Header Files\User Interface Headers\Settings Header</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="res\divider.cur">

View File

@ -27,7 +27,6 @@ CAdvancedOptionsPage::CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay)
SetDlgItemTextW(m_hWnd, IDC_UNIQUE_SAVE_DIR, wGS(OPTION_UNIQUE_SAVE_DIR).c_str());
SetDlgItemTextW(m_hWnd, IDC_CHECK_RUNNING, wGS(OPTION_CHECK_RUNNING).c_str());
SetDlgItemTextW(m_hWnd, IDC_DISPLAY_FRAMERATE, wGS(OPTION_CHANGE_FR).c_str());
SetDlgItemTextW(m_hWnd, IDC_IPLDIR_TXT, wGS(OPTION_IPL_ROM_PATH).c_str());
AddModCheckBox(GetDlgItem(IDC_START_ON_ROM_OPEN), Setting_AutoStart);
AddModCheckBox(GetDlgItem(IDC_ZIP), Setting_AutoZipInstantSave);
@ -48,8 +47,6 @@ CAdvancedOptionsPage::CAdvancedOptionsPage(HWND hParent, const RECT & rcDispay)
ComboBox->AddItemW(wGS(STR_FR_DLS_VIS).c_str(), FR_VIs_DLs);
}
m_IplDir.Attach(GetDlgItem(IDC_IPL_DIR));
UpdatePageSettings();
}
@ -65,16 +62,6 @@ void CAdvancedOptionsPage::ShowPage()
void CAdvancedOptionsPage::ApplySettings(bool UpdateScreen)
{
if (m_IplDir.IsChanged())
{
stdstr file = m_IplDir.GetWindowText();
g_Settings->SaveString(File_DiskIPLPath, file.c_str());
}
if (m_IplDir.IsReset())
{
g_Settings->DeleteSetting(File_DiskIPLPath);
}
CSettingsPageImpl<CAdvancedOptionsPage>::ApplySettings(UpdateScreen);
}
@ -89,39 +76,9 @@ void CAdvancedOptionsPage::ResetPage()
CSettingsPageImpl<CAdvancedOptionsPage>::ResetPage();
}
void CAdvancedOptionsPage::SelectIplDir(UINT /*Code*/, int /*id*/, HWND /*ctl*/)
{
SelectFile(DIR_SELECT_PLUGIN, m_IplDir);
}
void CAdvancedOptionsPage::IplDirChanged(UINT /*Code*/, int /*id*/, HWND /*ctl*/)
{
if (m_InUpdateSettings) { return; }
m_IplDir.SetChanged(true);
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
}
void CAdvancedOptionsPage::UpdatePageSettings(void)
{
m_InUpdateSettings = true;
CSettingsPageImpl<CAdvancedOptionsPage>::UpdatePageSettings();
stdstr File;
g_Settings->LoadStringVal(File_DiskIPLPath, File);
m_IplDir.SetWindowText(File.c_str());
m_InUpdateSettings = false;
}
void CAdvancedOptionsPage::SelectFile(LanguageStringID /*Title*/, CModifiedEditBox & EditBox)
{
const char * Filter = "64DD IPL ROM Image (*.zip, *.7z, *.?64, *.rom, *.usa, *.jap, *.pal, *.bin)\0*.?64;*.zip;*.7z;*.bin;*.rom;*.usa;*.jap;*.pal\0All files (*.*)\0*.*\0";
CPath FileName;
if (FileName.SelectFile(m_hWnd, g_Settings->LoadStringVal(RomList_GameDir).c_str(), Filter, true))
{
EditBox.SetChanged(true);
EditBox.SetWindowText(FileName);
SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
}
}

View File

@ -24,8 +24,6 @@ class CAdvancedOptionsPage :
COMMAND_ID_HANDLER_EX(IDC_CHECK_RUNNING, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_UNIQUE_SAVE_DIR, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_DISPLAY_FRAMERATE, CheckBoxChanged)
COMMAND_ID_HANDLER_EX(IDC_SELECT_IPL_DIR, SelectIplDir)
COMMAND_HANDLER_EX(IDC_IPL_DIR, EN_UPDATE, IplDirChanged)
COMMAND_HANDLER_EX(IDC_FRAME_DISPLAY_TYPE,LBN_SELCHANGE,ComboBoxChanged)
END_MSG_MAP()
@ -42,11 +40,7 @@ public:
void ResetPage ( void );
private:
void SelectIplDir(UINT Code, int id, HWND ctl);
void IplDirChanged(UINT Code, int id, HWND ctl);
void UpdatePageSettings(void);
void SelectFile(LanguageStringID Title, CModifiedEditBox & EditBox);
CModifiedEditBox m_IplDir;
bool m_InUpdateSettings;
};

View File

@ -592,3 +592,4 @@ public:
#include "SettingsPage-KeyboardShortcuts.h"
#include "SettingsPage-Options.h"
#include "SettingsPage-Plugin.h"
#include "SettingsPage-DiskDrive.h"

View File

@ -131,12 +131,14 @@ LRESULT CSettingConfig::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*
m_GeneralOptionsPage = new CGeneralOptionsPage(this, this->m_hWnd, rcSettingInfo);
m_AdvancedPage = new CAdvancedOptionsPage(this->m_hWnd, rcSettingInfo);
m_DefaultsPage = new CDefaultsOptionsPage(this->m_hWnd, rcSettingInfo);
m_DiskDrivePage = new CDiskDrivePage(this->m_hWnd, rcSettingInfo);
SettingsSection = new CConfigSettingSection(wGS(TAB_OPTIONS).c_str());
SettingsSection->AddPage(m_GeneralOptionsPage);
SettingsSection->AddPage(m_AdvancedPage);
SettingsSection->AddPage(m_DefaultsPage);
SettingsSection->AddPage(new COptionsDirectoriesPage(this->m_hWnd, rcSettingInfo));
SettingsSection->AddPage(m_DiskDrivePage);
m_Sections.push_back(SettingsSection);
SettingsSection = new CConfigSettingSection(wGS(TAB_ROMSELECTION).c_str());

View File

@ -42,7 +42,7 @@ private:
CTreeViewCtrl m_PagesTreeList;
SETTING_SECTIONS m_Sections;
CSettingsPage * m_CurrentPage, *m_GeneralOptionsPage, *m_AdvancedPage, *m_DefaultsPage;
CSettingsPage * m_CurrentPage, *m_GeneralOptionsPage, *m_AdvancedPage, *m_DefaultsPage, *m_DiskDrivePage;
bool m_GameConfig;
bool m_bTVNSelChangedSupported;
};

View File

@ -343,9 +343,6 @@ BEGIN
CONTROL "Frame rate display",IDC_DISPLAY_FRAMERATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,113,86,10
COMBOBOX IDC_FRAME_DISPLAY_TYPE,101,112,99,57,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "Unique Game Save Directory",IDC_UNIQUE_SAVE_DIR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,98,189,10
EDITTEXT IDC_IPL_DIR,4,140,184,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SELECT_IPL_DIR,194,140,14,12
LTEXT "64DD IPL ROM Path:",IDC_IPLDIR_TXT,6,130,145,10
CONTROL "Always use interpreter core",IDC_INTERPRETER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,53,191,10
END
@ -1368,6 +1365,22 @@ BEGIN
COMBOBOX IDC_CMB_VALUE,7,18,95,13,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
END
IDD_Settings_DiskDrive DIALOGEX 0, 0, 220, 155
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
EXSTYLE WS_EX_CONTROLPARENT
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
EDITTEXT IDC_IPL_JP_DIR,7,20,184,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SELECT_IPL_JP_DIR,197,20,14,12
LTEXT "Japanese 64DD IPL ROM Path:",IDC_IPLDIR_JP_TXT,9,10,145,10
EDITTEXT IDC_IPL_US_DIR,7,49,184,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SELECT_IPL_US_DIR,197,49,14,12
LTEXT "American 64DD IPL ROM Path:",IDC_IPLDIR_US_TXT,9,38,145,10
EDITTEXT IDC_IPL_TL_DIR,7,78,184,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SELECT_IPL_TL_DIR,197,78,14,12
LTEXT "Development 64DD IPL ROM Path:",IDC_IPLDIR_TL_TXT,9,67,145,10
END
/////////////////////////////////////////////////////////////////////////////
//
@ -1834,6 +1847,14 @@ BEGIN
TOPMARGIN, 7
BOTTOMMARGIN, 49
END
IDD_Settings_DiskDrive, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 213
TOPMARGIN, 7
BOTTOMMARGIN, 148
END
END
#endif // APSTUDIO_INVOKED

View File

@ -81,6 +81,7 @@
#define IDD_Enhancement_GS 205
#define IDD_Debugger_ExceptionBP 207
#define IDD_Debugger_Search_SetValue 210
#define IDD_Settings_DiskDrive 215
#define IDC_MENU_ITEM_TEXT 1000
#define IDC_CLOSE_BUTTON 1001
#define IDC_LIST2 1003
@ -685,6 +686,15 @@
#define IDC_CHK_UNSIGNED 1535
#define IDC_CHK_IGNORECASE 1536
#define IDC_CHK_UNKENCODING 1537
#define IDC_IPLDIR_JP_TXT 1538
#define IDC_IPL_JP_DIR 1539
#define IDC_SELECT_IPL_JP_DIR 1540
#define IDC_IPL_US_DIR 1541
#define IDC_SELECT_IPL_US_DIR 1542
#define IDC_IPLDIR_US_TXT 1543
#define IDC_IPL_TL_DIR 1544
#define IDC_SELECT_IPL_TL_DIR 1545
#define IDC_IPLDIR_TL_TXT 1546
#define ID_POPUPMENU_PLAYGAMEWITHDISK 40008
#define ID_POPUPMENU_ADDSYMBOL 40013
#define ID_POPUPMENU_VIEWDISASM 40017
@ -743,9 +753,9 @@
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 213
#define _APS_NEXT_RESOURCE_VALUE 217
#define _APS_NEXT_COMMAND_VALUE 40092
#define _APS_NEXT_CONTROL_VALUE 1538
#define _APS_NEXT_CONTROL_VALUE 1541
#define _APS_NEXT_SYMED_VALUE 102
#endif
#endif