Prompt for jabo or glide plugin

This commit is contained in:
zilmar 2021-03-01 20:08:29 +10:30
parent dc227d7c2a
commit 88144f53c9
6 changed files with 39 additions and 18 deletions

View File

@ -389,8 +389,9 @@ void CSettings::AddHowToHandleSetting(const char * BaseDirectory)
AddHandler(Plugin_AUDIO_Current, new CSettingTypeApplication("Plugin", "Audio Dll", "Audio\\Project64-Audio_d.dll"));
AddHandler(Plugin_CONT_Current, new CSettingTypeApplication("Plugin", "Controller Dll", "Input\\Project64-Input_d.dll"));
#else
AddHandler(Plugin_GFX_Current, new CSettingTypeApplication("Plugin", "Graphics Dll", "GFX\\Project64-Video.dll"));
AddHandler(Plugin_AUDIO_Current, new CSettingTypeApplication("Plugin", "Audio Dll", "Audio\\Project64-Audio.dll"));
AddHandler(Plugin_GFX_Default, new CSettingTypeApplication("Plugin", "Graphics Dll Default", "GFX\\Project64-Video.dll"));
AddHandler(Plugin_GFX_Current, new CSettingTypeApplication("Plugin", "Graphics Dll", Plugin_GFX_Default));
AddHandler(Plugin_AUDIO_Current, new CSettingTypeApplication("Plugin", "Audio Dll", "Audio\\Project64-Audio.dll"));
AddHandler(Plugin_CONT_Current, new CSettingTypeApplication("Plugin", "Controller Dll", "Input\\Project64-Input.dll"));
#endif
#else

View File

@ -302,6 +302,7 @@ enum SettingID
//Plugins
Plugin_RSP_Current,
Plugin_RSP_CurVer,
Plugin_GFX_Default,
Plugin_GFX_Current,
Plugin_GFX_CurVer,
Plugin_AUDIO_Current,

View File

@ -470,18 +470,23 @@ BEGIN
PUSHBUTTON "Close",IDCANCEL,154,110,50,14
END
IDD_Welcome DIALOGEX 0, 0, 234, 126
IDD_Welcome DIALOGEX 0, 0, 234, 167
STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION
CAPTION "Project64 - Welcome"
FONT 8, "MS Shell Dlg", 0, 0, 0x0
BEGIN
DEFPUSHBUTTON "OK",IDOK,90,108,50,12
DEFPUSHBUTTON "OK",IDOK,90,149,50,12
LTEXT "Select Language:",IDC_SELECT_LANG,12,77,86,12
COMBOBOX IDC_LANG_SEL,82,77,130,120,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP
CONTROL "",IDC_BMP_LOGO,"Static",SS_BLACKFRAME,1,0,232,74
LTEXT "Game Directory:",IDC_GAME_DIR_STATIC,12,91,86,12
LTEXT "Game Directory:",IDC_GAME_DIR_STATIC,12,92,86,12
EDITTEXT IDC_GAME_DIR,82,91,130,12,ES_AUTOHSCROLL
PUSHBUTTON "...",IDC_SELECT_GAME_DIR,215,91,14,12
CONTROL "GlideN64\n________\nModern Design\nFor newer computers",IDC_RADIO_GLIDEN64,
"Button",BS_AUTORADIOBUTTON | BS_MULTILINE,76,107,80,35
CONTROL "Project64-Video\n_____________\nWorks on basically any computer",IDC_RADIO_PJ64_VIDEO,
"Button",BS_AUTORADIOBUTTON | BS_MULTILINE,157,107,73,35
LTEXT "Video Plugin:",IDC_VIDEO_PLUGIN_STATIC,12,108,61,14
END
IDD_Debugger_Memory DIALOGEX 0, 0, 321, 199
@ -1589,7 +1594,7 @@ BEGIN
IDD_Welcome, DIALOG
BEGIN
RIGHTMARGIN, 233
BOTTOMMARGIN, 120
BOTTOMMARGIN, 161
END
IDD_Debugger_Memory, DIALOG

View File

@ -49,7 +49,7 @@ LRESULT WelcomeScreen::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*l
{
m_Logo.SubclassWindow(GetDlgItem(IDC_BMP_LOGO));
m_Logo.SetBitmap(MAKEINTRESOURCE(IDB_ABOUT_LOGO));
LanguageList LangList = g_Lang->GetLangList();
CComboBox LangCB(GetDlgItem(IDC_LANG_SEL));
for (LanguageList::iterator Language = LangList.begin(); Language != LangList.end(); Language++)
@ -64,10 +64,11 @@ LRESULT WelcomeScreen::OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*l
{
LangCB.SetCurSel(0);
}
CButton(GetDlgItem(IDC_RADIO_GLIDEN64)).SetCheck(BST_CHECKED);
return TRUE;
}
LRESULT WelcomeScreen::OnColorStatic(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/)
LRESULT WelcomeScreen::OnCtlColorStatic(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
HDC hdcStatic = (HDC)wParam;
SetTextColor(hdcStatic, RGB(0, 0, 0));
@ -75,20 +76,26 @@ LRESULT WelcomeScreen::OnColorStatic(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lPar
return (LONG)(LRESULT)((HBRUSH)GetStockObject(NULL_BRUSH));
}
LRESULT WelcomeScreen::OnEraseBackground(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& /*bHandled*/)
BOOL WelcomeScreen::OnEraseBackground(CDCHandle dc)
{
static HPEN outline = CreatePen(PS_SOLID, 1, 0x00FFFFFF);
static HBRUSH fill = CreateSolidBrush(0x00FFFFFF);
SelectObject((HDC)wParam, outline);
SelectObject((HDC)wParam, fill);
dc.SelectPen(outline);
dc.SelectBrush(fill);
RECT rect;
GetClientRect(&rect);
Rectangle((HDC)wParam, rect.left, rect.top, rect.right, rect.bottom);
dc.Rectangle(&rect);
return TRUE;
}
HBRUSH WelcomeScreen::OnCtlColorStatic(CDCHandle dc, CStatic /*wndStatic*/)
{
dc.SetBkColor(RGB(255, 255, 255));
dc.SetDCBrushColor(RGB(255, 255, 255));
return (HBRUSH)GetStockObject(DC_BRUSH);
}
LRESULT WelcomeScreen::OnOkCmd(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL & /*bHandled*/)
{
CComboBox LangCB(GetDlgItem(IDC_LANG_SEL));
@ -106,6 +113,8 @@ LRESULT WelcomeScreen::OnOkCmd(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCt
g_Settings->SaveString(RomList_GameDir, GameDir.GetDriveDirectory().c_str());
Notify().AddRecentDir(GameDir);
}
g_Settings->SaveString(Plugin_GFX_Default, CButton(GetDlgItem(IDC_RADIO_GLIDEN64)).GetCheck() == BST_CHECKED ? "GFX\\GLideN64\\GLideN64.dll" : "GFX\\Project64-Video.dll");
EndDialog(0);
return TRUE;
}

View File

@ -18,8 +18,8 @@ class WelcomeScreen :
public:
BEGIN_MSG_MAP_EX(WelcomeScreen)
MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
MESSAGE_HANDLER(WM_CTLCOLORSTATIC, OnColorStatic)
MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBackground)
MSG_WM_CTLCOLORSTATIC(OnCtlColorStatic)
MSG_WM_ERASEBKGND(OnEraseBackground)
COMMAND_ID_HANDLER_EX(IDC_SELECT_GAME_DIR, SelectGameDir)
COMMAND_ID_HANDLER(IDOK, OnOkCmd)
END_MSG_MAP()
@ -35,8 +35,9 @@ private:
void SelectGameDir(UINT Code, int id, HWND ctl);
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
LRESULT OnColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL & bHandled);
LRESULT OnCtlColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
HBRUSH OnCtlColorStatic(CDCHandle dc, CStatic wndStatic);
BOOL OnEraseBackground(CDCHandle dc);
LRESULT OnOkCmd(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL & bHandled);
static int CALLBACK SelectDirCallBack(HWND hwnd, DWORD uMsg, DWORD lp, DWORD lpData);

View File

@ -243,6 +243,7 @@
#define IDC_MENU_ITEMS 1089
#define IDC_PAGELIST 1090
#define IDC_GAME_DIR_STATIC 1090
#define IDC_VIDEO_PLUGIN_STATIC 1091
#define IDC_CPU_TYPE_TEXT 1092
#define IDC_ZIP 1092
#define IDC_SETTING_INFO 1092
@ -864,6 +865,9 @@
#define IDC_OK 1723
#define IDC_CANCEL 1724
#define IDC_APPLY 1725
#define IDC_RADIO_GLIDEN64 1728
#define IDC_RADIO_JABO 1729
#define IDC_RADIO_PJ64_VIDEO 1729
#define ID_POPUPMENU_PLAYGAMEWITHDISK 40008
#define ID_POPUPMENU_ADDSYMBOL 40013
#define ID_POPUPMENU_VIEWDISASM 40017
@ -937,7 +941,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 225
#define _APS_NEXT_COMMAND_VALUE 40121
#define _APS_NEXT_CONTROL_VALUE 1726
#define _APS_NEXT_CONTROL_VALUE 1730
#define _APS_NEXT_SYMED_VALUE 102
#endif
#endif