only load gameini settings if they exist
change D3D to use char[] for resolution settings in ini warning fixes for FrameAui.cpp git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4273 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
b7d6259405
commit
ca7a5b36dc
|
@ -292,33 +292,33 @@ void CFrame::OnTab(wxAuiNotebookEvent& event)
|
|||
MenuPopup.Append(new wxMenuItem(&MenuPopup));
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_LOGWINDOW, WindowNameFromId(IDM_LOGWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_LOGWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_LOGWINDOW_PARENT));
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_CONSOLEWINDOW, WindowNameFromId(IDM_CONSOLEWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_CONSOLEWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_CONSOLEWINDOW_PARENT));
|
||||
MenuPopup.Append(new wxMenuItem(&MenuPopup));
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_CODEWINDOW, WindowNameFromId(IDM_CODEWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_CODEWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_CODEWINDOW_PARENT));
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_REGISTERWINDOW, WindowNameFromId(IDM_REGISTERWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_REGISTERWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_REGISTERWINDOW_PARENT));
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_BREAKPOINTWINDOW, WindowNameFromId(IDM_BREAKPOINTWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_BREAKPOINTWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_BREAKPOINTWINDOW_PARENT));
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_MEMORYWINDOW, WindowNameFromId(IDM_MEMORYWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_MEMORYWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_MEMORYWINDOW_PARENT));
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_JITWINDOW, WindowNameFromId(IDM_JITWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_JITWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_JITWINDOW_PARENT));
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_SOUNDWINDOW, WindowNameFromId(IDM_SOUNDWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_SOUNDWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_SOUNDWINDOW_PARENT));
|
||||
Item->Enable(false);
|
||||
Item = new wxMenuItem(&MenuPopup, IDM_FLOAT_VIDEOWINDOW, WindowNameFromId(IDM_VIDEOWINDOW), wxT(""), wxITEM_CHECK);
|
||||
MenuPopup.Append(Item);
|
||||
Item->Check(FindWindowById(IDM_VIDEOWINDOW_PARENT));
|
||||
Item->Check(!!FindWindowById(IDM_VIDEOWINDOW_PARENT));
|
||||
Item->Enable(false);
|
||||
|
||||
// Line up our menu with the cursor
|
||||
|
|
|
@ -95,9 +95,6 @@ void VideoConfig::Load(const char *ini_file)
|
|||
iniFile.Get("Hardware", "Adapter", &iAdapter, 0);
|
||||
if (iAdapter == -1)
|
||||
iAdapter = 0;
|
||||
// iniFile.Get("Hardware", "WindowedRes", &iWindowedRes, 0);
|
||||
iniFile.Get("Hardware", "VSync", &bVsync, 0);
|
||||
// iniFile.Get("Hardware", "FullscreenRes", &iFSResolution, 0);
|
||||
iniFile.Get("Hardware", "SimpleFB", &bSimpleFB, false);
|
||||
|
||||
// Load common settings
|
||||
|
@ -111,16 +108,27 @@ void VideoConfig::GameIniLoad(const char *ini_file)
|
|||
{
|
||||
IniFile iniFile;
|
||||
iniFile.Load(ini_file);
|
||||
iniFile.Get("Video", "ForceFiltering", &bForceFiltering, 0);
|
||||
iniFile.Get("Video", "MaxAnisotropy", &iMaxAnisotropy, 3); // NOTE - this is x in (1 << x)
|
||||
iniFile.Get("Video", "EFBCopyDisable", &bEFBCopyDisable, 0);
|
||||
iniFile.Get("Video", "EFBCopyDisableHotKey", &bEFBCopyDisableHotKey, 0);
|
||||
iniFile.Get("Video", "EFBToRAMEnable", &bCopyEFBToRAM, 0);
|
||||
iniFile.Get("Video", "SafeTextureCache", &bSafeTextureCache, false);
|
||||
iniFile.Get("Video", "MSAA", &iMultisampleMode, 0);
|
||||
iniFile.Get("Video", "DstAlphaPass", &bDstAlphaPass, false);
|
||||
iniFile.Get("Video", "UseXFB", &bUseXFB, 0);
|
||||
iniFile.Get("Video", "ProjectionHack", &iPhackvalue, 0);
|
||||
|
||||
if (iniFile.Exists("Video", "ForceFiltering"))
|
||||
iniFile.Get("Video", "ForceFiltering", &bForceFiltering, 0);
|
||||
if (iniFile.Exists("Video", "MaxAnisotropy"))
|
||||
iniFile.Get("Video", "MaxAnisotropy", &iMaxAnisotropy, 3); // NOTE - this is x in (1 << x)
|
||||
if (iniFile.Exists("Video", "EFBCopyDisable"))
|
||||
iniFile.Get("Video", "EFBCopyDisable", &bEFBCopyDisable, 0);
|
||||
if (iniFile.Exists("Video", "EFBCopyDisableHotKey"))
|
||||
iniFile.Get("Video", "EFBCopyDisableHotKey", &bEFBCopyDisableHotKey, 0);
|
||||
if (iniFile.Exists("Video", "EFBToRAMEnable"))
|
||||
iniFile.Get("Video", "EFBToRAMEnable", &bCopyEFBToRAM, 0);
|
||||
if (iniFile.Exists("Video", "SafeTextureCache"))
|
||||
iniFile.Get("Video", "SafeTextureCache", &bSafeTextureCache, false);
|
||||
if (iniFile.Exists("Video", "MSAA"))
|
||||
iniFile.Get("Video", "MSAA", &iMultisampleMode, 0);
|
||||
if (iniFile.Exists("Video", "DstAlphaPass"))
|
||||
iniFile.Get("Video", "DstAlphaPass", &bDstAlphaPass, false);
|
||||
if (iniFile.Exists("Video", "UseXFB"))
|
||||
iniFile.Get("Video", "UseXFB", &bUseXFB, 0);
|
||||
if (iniFile.Exists("Video", "ProjectionHack"))
|
||||
iniFile.Get("Video", "ProjectionHack", &iPhackvalue, 0);
|
||||
}
|
||||
|
||||
void VideoConfig::Save(const char *ini_file)
|
||||
|
@ -174,9 +182,6 @@ void VideoConfig::Save(const char *ini_file)
|
|||
iniFile.Set("Hacks", "ProjectionHack", iPhackvalue);
|
||||
|
||||
iniFile.Set("Hardware", "Adapter", iAdapter);
|
||||
// iniFile.Set("Hardware", "WindowedRes", iWindowedRes);
|
||||
iniFile.Set("Hardware", "VSync", bVsync);
|
||||
// iniFile.Set("Hardware", "FullscreenRes", iFSResolution);
|
||||
iniFile.Set("Hardware", "SimpleFB", bSimpleFB);
|
||||
|
||||
iniFile.Save(ini_file);
|
||||
|
|
|
@ -123,10 +123,6 @@ struct VideoConfig
|
|||
|
||||
// D3D only config, mostly to be merged into the above
|
||||
int iAdapter;
|
||||
int iWindowedRes;
|
||||
int iFSResolution;
|
||||
|
||||
bool bVsync;
|
||||
|
||||
// With this enabled, the plugin renders directly to the backbuffer. Many features are
|
||||
// disabled but it might be faster on really old GPUs.
|
||||
|
|
|
@ -232,11 +232,11 @@ void EnableAlphaToCoverage()
|
|||
D3DCREATE_HARDWARE_VERTEXPROCESSING,
|
||||
&d3dpp, &dev)))
|
||||
{
|
||||
MessageBoxA(wnd,
|
||||
"Sorry, but it looks like your 3D accelerator is too old,\n"
|
||||
"or doesn't support features that Dolphin requires.\n"
|
||||
"Falling back to software vertex processing.\n",
|
||||
"Dolphin Direct3D plugin", MB_OK | MB_ICONERROR);
|
||||
MessageBox(wnd,
|
||||
_T("Sorry, but it looks like your 3D accelerator is too old,\n")
|
||||
_T("or doesn't support features that Dolphin requires.\n")
|
||||
_T("Falling back to software vertex processing.\n"),
|
||||
_T("Dolphin Direct3D plugin"), MB_OK | MB_ICONERROR);
|
||||
if (FAILED(D3D->CreateDevice(
|
||||
adapter,
|
||||
D3DDEVTYPE_HAL,
|
||||
|
@ -246,9 +246,9 @@ void EnableAlphaToCoverage()
|
|||
//D3DCREATE_SOFTWARE_VERTEXPROCESSING ,
|
||||
&d3dpp, &dev)))
|
||||
{
|
||||
MessageBoxA(wnd,
|
||||
"Software VP failed too. Upgrade your graphics card.",
|
||||
"Dolphin Direct3D plugin", MB_OK | MB_ICONERROR);
|
||||
MessageBox(wnd,
|
||||
_T("Software VP failed too. Upgrade your graphics card."),
|
||||
_T("Dolphin Direct3D plugin"), MB_OK | MB_ICONERROR);
|
||||
return E_FAIL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,7 +26,8 @@
|
|||
#include "VideoConfig.h"
|
||||
|
||||
#include "TextureCache.h"
|
||||
|
||||
// TODO: remove if/when ini files use unicode
|
||||
#define ComboBox_GetTextA(hwndCtl, lpch, cchMax) GetWindowTextA((hwndCtl), (lpch), (cchMax))
|
||||
#define NUMWNDRES 6
|
||||
int g_Res[NUMWNDRES][2] =
|
||||
{
|
||||
|
@ -72,8 +73,9 @@ struct TabDirect3D : public W32Util::Tab
|
|||
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, r.name, -1, tempwstr, 2000);
|
||||
ComboBox_AddString(GetDlgItem(hDlg,IDC_RESOLUTION), tempwstr);
|
||||
}
|
||||
ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_RESOLUTION), g_Config.iFSResolution);
|
||||
|
||||
|
||||
for (int i = 0; i <16; i++) tempwstr[i] = g_Config.cFSResolution[i];
|
||||
ComboBox_SelectString(GetDlgItem(hDlg,IDC_RESOLUTION), -1, tempwstr);
|
||||
for (int i = 0; i < NUMWNDRES; i++)
|
||||
{
|
||||
char temp[256];
|
||||
|
@ -81,10 +83,11 @@ struct TabDirect3D : public W32Util::Tab
|
|||
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, temp, -1, tempwstr, 2000);
|
||||
ComboBox_AddString(GetDlgItem(hDlg,IDC_RESOLUTIONWINDOWED),tempwstr);
|
||||
}
|
||||
ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_RESOLUTIONWINDOWED),g_Config.iWindowedRes);
|
||||
for (int i = 0; i < 16; i++) tempwstr[i] = g_Config.cInternalRes[i];
|
||||
ComboBox_SelectString(GetDlgItem(hDlg,IDC_RESOLUTIONWINDOWED), -1, tempwstr);
|
||||
|
||||
CheckDlgButton(hDlg, IDC_FULLSCREENENABLE, g_Config.bFullscreen ? TRUE : FALSE);
|
||||
CheckDlgButton(hDlg, IDC_VSYNC, g_Config.bVsync ? TRUE : FALSE);
|
||||
CheckDlgButton(hDlg, IDC_VSYNC, g_Config.bVSync ? TRUE : FALSE);
|
||||
CheckDlgButton(hDlg, IDC_RENDER_TO_MAINWINDOW, g_Config.RenderToMainframe ? TRUE : FALSE);
|
||||
CheckDlgButton(hDlg, IDC_ASPECT_16_9, g_Config.bKeepAR169 ? TRUE : FALSE);
|
||||
CheckDlgButton(hDlg, IDC_ASPECT_4_3, g_Config.bKeepAR43 ? TRUE : FALSE);
|
||||
|
@ -118,12 +121,13 @@ struct TabDirect3D : public W32Util::Tab
|
|||
|
||||
void Apply(HWND hDlg)
|
||||
{
|
||||
ComboBox_GetTextA(GetDlgItem(hDlg, IDC_RESOLUTIONWINDOWED), g_Config.cInternalRes, 16);
|
||||
ComboBox_GetTextA(GetDlgItem(hDlg, IDC_RESOLUTION), g_Config.cFSResolution, 16);
|
||||
|
||||
g_Config.iAdapter = ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_ADAPTER));
|
||||
g_Config.iWindowedRes = ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_RESOLUTIONWINDOWED));
|
||||
g_Config.iMultisampleMode = ComboBox_GetCurSel(GetDlgItem(hDlg, IDC_ANTIALIASMODE));
|
||||
g_Config.iFSResolution = ComboBox_GetCurSel(GetDlgItem(hDlg,IDC_RESOLUTION));
|
||||
g_Config.bFullscreen = Button_GetCheck(GetDlgItem(hDlg, IDC_FULLSCREENENABLE)) ? true : false;
|
||||
g_Config.bVsync = Button_GetCheck(GetDlgItem(hDlg, IDC_VSYNC)) ? true : false;
|
||||
g_Config.bVSync = Button_GetCheck(GetDlgItem(hDlg, IDC_VSYNC)) ? true : false;
|
||||
g_Config.RenderToMainframe = Button_GetCheck(GetDlgItem(hDlg, IDC_RENDER_TO_MAINWINDOW)) ? true : false;
|
||||
g_Config.Save(FULL_CONFIG_DIR "gfx_dx9.ini");
|
||||
}
|
||||
|
|
|
@ -88,11 +88,24 @@ void TeardownDeviceObjects()
|
|||
bool Renderer::Init()
|
||||
{
|
||||
UpdateActiveConfig();
|
||||
EmuWindow::SetSize(g_Res[g_ActiveConfig.iWindowedRes][0], g_Res[g_ActiveConfig.iWindowedRes][1]);
|
||||
int fullScreenRes,
|
||||
w_temp,
|
||||
h_temp;
|
||||
sscanf(g_Config.cInternalRes, "%dx%d", &w_temp, &h_temp);
|
||||
EmuWindow::SetSize(w_temp, h_temp);
|
||||
|
||||
int backbuffer_ms_mode = 0; // g_ActiveConfig.iMultisampleMode;
|
||||
D3D::Create(g_ActiveConfig.iAdapter, EmuWindow::GetWnd(), g_ActiveConfig.bFullscreen,
|
||||
g_ActiveConfig.iFSResolution, backbuffer_ms_mode);
|
||||
|
||||
sscanf(g_Config.cFSResolution, "%dx%d", &w_temp, &h_temp);
|
||||
|
||||
for (fullScreenRes = 0; fullScreenRes < D3D::GetNumAdapters(); fullScreenRes++)
|
||||
{
|
||||
if ((D3D::GetAdapter(fullScreenRes).resolutions[fullScreenRes].xres == w_temp) &&
|
||||
(D3D::GetAdapter(fullScreenRes).resolutions[fullScreenRes].yres == h_temp))
|
||||
break;
|
||||
}
|
||||
D3D::Create(g_ActiveConfig.iAdapter, EmuWindow::GetWnd(), g_ActiveConfig.bFullscreen,
|
||||
fullScreenRes, backbuffer_ms_mode);
|
||||
|
||||
s_backbuffer_width = D3D::GetBackBufferWidth();
|
||||
s_backbuffer_height = D3D::GetBackBufferHeight();
|
||||
|
|
Loading…
Reference in New Issue