summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorLPFaint99 <lpfaint99@gmail.com>2009-02-22 02:39:16 +0000
committerLPFaint99 <lpfaint99@gmail.com>2009-02-22 02:39:16 +0000
commit3d0fcfaaacc271be18e47af2f3d191f68d46832e (patch)
treec05b6e1dceb80e5e5f4542055f8cf4aac764faa2 /Source
parentcfd2a1285786499ee2d51da38bf7cdb0ec563fad (diff)
Enable Loading backup from drive for GC for windows
takes about 60-90 seconds on loading about the same speed ingame as running from the hard drive changed to the correct flag for CreateFile git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2352 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/Src/CoreParameter.cpp7
-rw-r--r--Source/Core/DiscIO/Src/DriveBlob.cpp3
-rw-r--r--Source/Core/DolphinWX/Src/FrameTools.cpp5
3 files changed, 11 insertions, 4 deletions
diff --git a/Source/Core/Core/Src/CoreParameter.cpp b/Source/Core/Core/Src/CoreParameter.cpp
index ed3136cccf..b32e86ae8a 100644
--- a/Source/Core/Core/Src/CoreParameter.cpp
+++ b/Source/Core/Core/Src/CoreParameter.cpp
@@ -92,7 +92,12 @@ bool SCoreStartupParameter::AutoSetup(EBootBios _BootBios)
// Check if we have a Wii disc
bWii = DiscIO::IsVolumeWiiDisc(pVolume);
-
+ if(bootDrive && bWii){
+ // TODO: (lpfaint99) determine why wii backup is not loading, maybe I am not waiting long enough :p
+
+ PanicAlert("WII backup from drive not yet supported");
+ return false;
+ }
switch (pVolume->GetCountry())
{
case DiscIO::IVolume::COUNTRY_USA:
diff --git a/Source/Core/DiscIO/Src/DriveBlob.cpp b/Source/Core/DiscIO/Src/DriveBlob.cpp
index edca16638b..fd104f441f 100644
--- a/Source/Core/DiscIO/Src/DriveBlob.cpp
+++ b/Source/Core/DiscIO/Src/DriveBlob.cpp
@@ -28,7 +28,8 @@ namespace DiscIO
path[2] = 0;
sprintf(path, "\\\\.\\%s", drive);
- hDisc = CreateFile(path, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
+ hDisc = CreateFile(path, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, NULL);
if (hDisc == INVALID_HANDLE_VALUE)
{
PanicAlert("Load from DVD backup failed");
diff --git a/Source/Core/DolphinWX/Src/FrameTools.cpp b/Source/Core/DolphinWX/Src/FrameTools.cpp
index 15745e00cd..138d947c37 100644
--- a/Source/Core/DolphinWX/Src/FrameTools.cpp
+++ b/Source/Core/DolphinWX/Src/FrameTools.cpp
@@ -101,9 +101,10 @@ void CFrame::CreateMenu()
m_pMenuItemOpen = fileMenu->Append(wxID_OPEN, _T("&Open...\tCtrl+O"));
fileMenu->Append(wxID_REFRESH, _T("&Refresh"));
fileMenu->Append(IDM_BROWSE, _T("&Browse for ISOs..."));
-// change to test drive loading, currently very slow on win32, not tested on linux/os x
+// not tested on linux/os x
// works ok on a virtual drive with GC Games, Wii games do not load
-#if 0
+// backups take about 60-90 seconds to load from real cd drive
+#ifdef _WIN32
wxMenu *externalDrive = new wxMenu;
fileMenu->AppendSubMenu(externalDrive, _T("&Load From Drive"));
GetAllRemovableDrives(&drives);