u64 GameInfo::GetInstallDataSizeInBytes() { if (fileType == FILETYPE_PSP_SAVEDATA_DIRECTORY || fileType == FILETYPE_PPSSPP_SAVESTATE) { return 0; } std::vector<std::string> saveDataDir = GetSaveDataDirectories(); u64 totalSize = 0; u64 filesSizeInDir = 0; for (size_t j = 0; j < saveDataDir.size(); j++) { std::vector<FileInfo> fileInfo; getFilesInDir(saveDataDir[j].c_str(), &fileInfo); // Note: getFileInDir does not fill in fileSize properly. for (size_t i = 0; i < fileInfo.size(); i++) { FileInfo finfo; getFileInfo(fileInfo[i].fullName.c_str(), &finfo); if (!finfo.isDirectory) filesSizeInDir += finfo.size; } if (filesSizeInDir >= 0xA00000) { // HACK: Generally the savedata size in a dir shouldn't be more than 10MB. // This is probably GameInstall data. totalSize += filesSizeInDir; } filesSizeInDir = 0; } return totalSize; }
bool GameInfo::DeleteAllSaveData() { std::vector<std::string> saveDataDir = GetSaveDataDirectories(); for (size_t j = 0; j < saveDataDir.size(); j++) { std::vector<FileInfo> fileInfo; getFilesInDir(saveDataDir[j].c_str(), &fileInfo); u64 totalSize = 0; for (size_t i = 0; i < fileInfo.size(); i++) { deleteFile(fileInfo[i].fullName.c_str()); } deleteDir(saveDataDir[j].c_str()); } return true; }
u64 GameInfo::GetSaveDataSizeInBytes() { std::vector<std::string> saveDataDir = GetSaveDataDirectories(); u64 totalSize = 0; for (size_t j = 0; j < saveDataDir.size(); j++) { std::vector<FileInfo> fileInfo; getFilesInDir(saveDataDir[j].c_str(), &fileInfo); // Note: getFileInDir does not fill in fileSize properly. for (size_t i = 0; i < fileInfo.size(); i++) { FileInfo finfo; getFileInfo(fileInfo[i].fullName.c_str(), &finfo); if (!finfo.isDirectory) totalSize += finfo.size; } } return totalSize; }
u64 GameInfo::GetSaveDataSizeInBytes() { std::vector<std::string> saveDataDir = GetSaveDataDirectories(); u64 totalSize = 0; u64 filesSizeInDir = 0; for (size_t j = 0; j < saveDataDir.size(); j++) { std::vector<FileInfo> fileInfo; getFilesInDir(saveDataDir[j].c_str(), &fileInfo); // Note: getFileInDir does not fill in fileSize properly. for (size_t i = 0; i < fileInfo.size(); i++) { FileInfo finfo; getFileInfo(fileInfo[i].fullName.c_str(), &finfo); if (!finfo.isDirectory) filesSizeInDir += finfo.size; } if (filesSizeInDir < 0xA00000) { //Generally the savedata size in a dir shouldn't be more than 10MB. totalSize += filesSizeInDir; } filesSizeInDir = 0; } return totalSize; }