Libretro: Enable softpatching support

This commit is contained in:
Sour 2018-08-06 19:48:57 -04:00
parent ffb86f79c6
commit 47ba3f8282
3 changed files with 13 additions and 2 deletions

View file

@ -36,6 +36,14 @@ VirtualFile::VirtualFile(const string & file)
}
}
VirtualFile::VirtualFile(const void *buffer, size_t bufferSize, string fileName)
{
_path = fileName;
_data.resize(bufferSize);
memcpy(_data.data(), buffer, bufferSize);
}
VirtualFile::VirtualFile(std::istream & input, string filePath)
{
_path = filePath;

View file

@ -20,6 +20,7 @@ public:
VirtualFile();
VirtualFile(const string &archivePath, const string innerFile);
VirtualFile(const string &file);
VirtualFile(const void *buffer, size_t bufferSize, string fileName = "noname");
VirtualFile(std::istream &input, string filePath);
operator std::string() const;

View file

@ -977,7 +977,9 @@ extern "C" {
_console->GetSettings()->SetControllerType(1, ControllerType::StandardController);
_console->GetSettings()->SetControllerType(2, ControllerType::None);
_console->GetSettings()->SetControllerType(3, ControllerType::None);
bool result = _console->Initialize(game->path);
VirtualFile romData(game->data, game->size, game->path);
bool result = _console->Initialize(romData);
if(result) {
//Set default dipswitches for some VS System games
@ -1026,7 +1028,7 @@ extern "C" {
info->library_name = "Mesen";
info->library_version = _mesenVersion.c_str();
info->need_fullpath = true;
info->need_fullpath = false;
info->valid_extensions = "nes|fds|unf|unif";
info->block_extract = false;
}