mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Bugfix.
This commit is contained in:
parent
f6f81eca93
commit
4c6005545b
2 changed files with 10 additions and 7 deletions
|
@ -24,10 +24,13 @@
|
||||||
#include "Core/HLE/sceKernelThread.h"
|
#include "Core/HLE/sceKernelThread.h"
|
||||||
#include "Core/HLE/sceKernelInterrupt.h"
|
#include "Core/HLE/sceKernelInterrupt.h"
|
||||||
#include "Core/HLE/KernelWaitHelpers.h"
|
#include "Core/HLE/KernelWaitHelpers.h"
|
||||||
|
|
||||||
#include "Core/FileSystems/BlockDevices.h"
|
#include "Core/FileSystems/BlockDevices.h"
|
||||||
#include "Core/FileSystems/ISOFileSystem.h"
|
#include "Core/FileSystems/ISOFileSystem.h"
|
||||||
#include "Core/FileSystems/VirtualDiscFileSystem.h"
|
#include "Core/FileSystems/VirtualDiscFileSystem.h"
|
||||||
|
|
||||||
|
#include "file/file_util.h"
|
||||||
|
|
||||||
const u64 MICRO_DELAY_ACTIVATE = 4000;
|
const u64 MICRO_DELAY_ACTIVATE = 4000;
|
||||||
|
|
||||||
static u8 umdActivated = 1;
|
static u8 umdActivated = 1;
|
||||||
|
@ -440,7 +443,7 @@ u32 sceUmdGetErrorStat()
|
||||||
return umdErrorStat;
|
return umdErrorStat;
|
||||||
}
|
}
|
||||||
|
|
||||||
void __UmdReplace(std::string filename) {
|
void __UmdReplace(std::string filepath) {
|
||||||
// Unmount old umd first.
|
// Unmount old umd first.
|
||||||
pspFileSystem.Unmount("umd0:", currentUMD);
|
pspFileSystem.Unmount("umd0:", currentUMD);
|
||||||
pspFileSystem.Unmount("umd1:", currentUMD);
|
pspFileSystem.Unmount("umd1:", currentUMD);
|
||||||
|
@ -448,13 +451,13 @@ void __UmdReplace(std::string filename) {
|
||||||
pspFileSystem.Unmount("umd:", currentUMD);
|
pspFileSystem.Unmount("umd:", currentUMD);
|
||||||
|
|
||||||
IFileSystem* umd2;
|
IFileSystem* umd2;
|
||||||
PSPFileInfo info = pspFileSystem.GetFileInfo(filename);
|
FileInfo info;
|
||||||
if(!info.exists) // This shouldn't happen, but for safety.
|
if (!getFileInfo(filepath.c_str(), &info)) // This shouldn't happen, but for safety.
|
||||||
return;
|
return;
|
||||||
if (info.type == FILETYPE_DIRECTORY) {
|
if (info.isDirectory) {
|
||||||
umd2 = new VirtualDiscFileSystem(&pspFileSystem, filename);
|
umd2 = new VirtualDiscFileSystem(&pspFileSystem, filepath);
|
||||||
} else {
|
} else {
|
||||||
auto bd = constructBlockDevice(filename.c_str());
|
auto bd = constructBlockDevice(filepath.c_str());
|
||||||
if (!bd)
|
if (!bd)
|
||||||
return;
|
return;
|
||||||
umd2 = new ISOFileSystem(&pspFileSystem, bd);
|
umd2 = new ISOFileSystem(&pspFileSystem, bd);
|
||||||
|
|
|
@ -41,6 +41,6 @@ enum pspUmdType {
|
||||||
void __UmdInit();
|
void __UmdInit();
|
||||||
void __UmdDoState(PointerWrap &p);
|
void __UmdDoState(PointerWrap &p);
|
||||||
|
|
||||||
void __UmdReplace(std::string filename);
|
void __UmdReplace(std::string filepath);
|
||||||
|
|
||||||
void Register_sceUmdUser();
|
void Register_sceUmdUser();
|
||||||
|
|
Loading…
Add table
Reference in a new issue