mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-10 16:19:28 +01:00
don't fool with sysconf if you're booting a gc game, and add back ability to double click on initial gamelistitem in order to add a GCMPath.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1922 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
4930a6d6cb
commit
5708e14a0e
@ -141,54 +141,57 @@ bool BootCore(const std::string& _rFilename)
|
|||||||
ini.Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
|
ini.Get("Core", "OptimizeQuantizers", &StartUp.bOptimizeQuantizers, StartUp.bOptimizeQuantizers);
|
||||||
ini.Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
|
ini.Get("Core", "TLBHack", &StartUp.iTLBHack, StartUp.iTLBHack);
|
||||||
|
|
||||||
// ------------------------------------------------
|
if (StartUp.bWii)
|
||||||
// Update SYSCONF with game specific settings
|
|
||||||
// ----------------
|
|
||||||
bool bEnableProgressiveScan, bEnableWideScreen;
|
|
||||||
//bRefreshList = false;
|
|
||||||
FILE* pStream; // file handle
|
|
||||||
u8 m_SYSCONF[0x4000]; // SYSCONF file
|
|
||||||
u16 IPL_PGS = 0x17CC; // pregressive scan
|
|
||||||
u16 IPL_AR = 0x04D9; // widescreen
|
|
||||||
std::string FullSYSCONFPath = FULL_WII_USER_DIR "shared2/sys/SYSCONF";
|
|
||||||
|
|
||||||
// Load Wii SYSCONF
|
|
||||||
pStream = NULL;
|
|
||||||
pStream = fopen(FullSYSCONFPath.c_str(), "rb");
|
|
||||||
if (pStream != NULL)
|
|
||||||
{
|
{
|
||||||
fread(m_SYSCONF, 1, 0x4000, pStream);
|
// ------------------------------------------------
|
||||||
fclose(pStream);
|
// Update SYSCONF with game specific settings
|
||||||
|
// ----------------
|
||||||
|
bool bEnableProgressiveScan, bEnableWideScreen;
|
||||||
|
//bRefreshList = false;
|
||||||
|
FILE* pStream; // file handle
|
||||||
|
u8 m_SYSCONF[0x4000]; // SYSCONF file
|
||||||
|
u16 IPL_PGS = 0x17CC; // pregressive scan
|
||||||
|
u16 IPL_AR = 0x04D9; // widescreen
|
||||||
|
std::string FullSYSCONFPath = FULL_WII_USER_DIR "shared2/sys/SYSCONF";
|
||||||
|
|
||||||
//wxMessageBox(wxString::Format(": %02x", m_SYSCONF[IPL_AR]));
|
// Load Wii SYSCONF
|
||||||
|
|
||||||
ini.Get("Core", "EnableProgressiveScan", &bEnableProgressiveScan, m_SYSCONF[IPL_PGS] != 0);
|
|
||||||
ini.Get("Core", "EnableWideScreen", &bEnableWideScreen, m_SYSCONF[IPL_AR] != 0);
|
|
||||||
|
|
||||||
m_SYSCONF[IPL_PGS] = bEnableProgressiveScan;
|
|
||||||
m_SYSCONF[IPL_AR] = bEnableWideScreen;
|
|
||||||
|
|
||||||
//wxMessageBox(wxString::Format(": %02x", m_SYSCONF[IPL_AR]));
|
|
||||||
|
|
||||||
// Enable custom Wii SYSCONF settings by saving the file to shared2
|
|
||||||
pStream = NULL;
|
pStream = NULL;
|
||||||
pStream = fopen(FullSYSCONFPath.c_str(), "wb");
|
pStream = fopen(FullSYSCONFPath.c_str(), "rb");
|
||||||
if (pStream != NULL)
|
if (pStream != NULL)
|
||||||
{
|
{
|
||||||
fwrite(m_SYSCONF, 1, 0x4000, pStream);
|
fread(m_SYSCONF, 1, 0x4000, pStream);
|
||||||
fclose(pStream);
|
fclose(pStream);
|
||||||
|
|
||||||
|
//wxMessageBox(wxString::Format(": %02x", m_SYSCONF[IPL_AR]));
|
||||||
|
|
||||||
|
ini.Get("Core", "EnableProgressiveScan", &bEnableProgressiveScan, m_SYSCONF[IPL_PGS] != 0);
|
||||||
|
ini.Get("Core", "EnableWideScreen", &bEnableWideScreen, m_SYSCONF[IPL_AR] != 0);
|
||||||
|
|
||||||
|
m_SYSCONF[IPL_PGS] = bEnableProgressiveScan;
|
||||||
|
m_SYSCONF[IPL_AR] = bEnableWideScreen;
|
||||||
|
|
||||||
|
//wxMessageBox(wxString::Format(": %02x", m_SYSCONF[IPL_AR]));
|
||||||
|
|
||||||
|
// Enable custom Wii SYSCONF settings by saving the file to shared2
|
||||||
|
pStream = NULL;
|
||||||
|
pStream = fopen(FullSYSCONFPath.c_str(), "wb");
|
||||||
|
if (pStream != NULL)
|
||||||
|
{
|
||||||
|
fwrite(m_SYSCONF, 1, 0x4000, pStream);
|
||||||
|
fclose(pStream);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
PanicAlert("Could not write to %s", FullSYSCONFPath.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PanicAlert("Could not write to %s", FullSYSCONFPath.c_str());
|
PanicAlert("Could not read %s", FullSYSCONFPath.c_str());
|
||||||
}
|
}
|
||||||
|
// ---------
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
PanicAlert("Could not read %s", FullSYSCONFPath.c_str());
|
|
||||||
}
|
|
||||||
// ---------
|
|
||||||
}
|
}
|
||||||
// ==============
|
// ==============
|
||||||
|
|
||||||
|
@ -106,7 +106,7 @@ void CGameListCtrl::BrowseForDirectory()
|
|||||||
wxGetHomeDir(&dirHome);
|
wxGetHomeDir(&dirHome);
|
||||||
|
|
||||||
// browse
|
// browse
|
||||||
wxDirDialog dialog(this, _("Browse directory"), dirHome, wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST);
|
wxDirDialog dialog(this, _("Browse for a directory to add"), dirHome, wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST);
|
||||||
|
|
||||||
if (dialog.ShowModal() == wxID_OK)
|
if (dialog.ShowModal() == wxID_OK)
|
||||||
{
|
{
|
||||||
@ -549,15 +549,28 @@ void CGameListCtrl::OnRightClick(wxMouseEvent& event)
|
|||||||
|
|
||||||
const GameListItem * CGameListCtrl::GetSelectedISO()
|
const GameListItem * CGameListCtrl::GetSelectedISO()
|
||||||
{
|
{
|
||||||
long item = GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
|
if (m_ISOFiles.size() == 0)
|
||||||
if (item == -1)
|
{
|
||||||
|
// There are no detected games, so add a GCMPath
|
||||||
|
BrowseForDirectory();
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (GetSelectedItemCount() > 1)
|
long item = GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
|
||||||
SetItemState(item, 0, wxLIST_STATE_SELECTED);
|
if (item == -1) // -1 means the selection is bogus, not a gamelistitem
|
||||||
|
return 0;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Here is a little workaround for multiselections:
|
||||||
|
// when > 1 item is selected, return info on the first one
|
||||||
|
// and deselect it so the next time GetSelectedISO() is called,
|
||||||
|
// the next item's info is returned
|
||||||
|
if (GetSelectedItemCount() > 1)
|
||||||
|
SetItemState(item, 0, wxLIST_STATE_SELECTED);
|
||||||
|
|
||||||
return &m_ISOFiles[GetItemData(item)];
|
return &m_ISOFiles[GetItemData(item)];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user