mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2025-07-21 05:09:46 -06:00
same shit with Import Savefile
This commit is contained in:
@ -618,6 +618,26 @@ void EmuThread::handleMessages()
|
||||
emuInstance->undoStateLoad();
|
||||
msgResult = 1;
|
||||
break;
|
||||
|
||||
case msg_ImportSavefile:
|
||||
{
|
||||
msgResult = 0;
|
||||
auto f = Platform::OpenFile(msg.param.value<QString>().toStdString(), Platform::FileMode::Read);
|
||||
if (!f) break;
|
||||
|
||||
u32 len = FileLength(f);
|
||||
|
||||
std::unique_ptr<u8[]> data = std::make_unique<u8[]>(len);
|
||||
Platform::FileRewind(f);
|
||||
Platform::FileRead(data.get(), len, 1, f);
|
||||
|
||||
assert(emuInstance->nds != nullptr);
|
||||
emuInstance->nds->SetNDSSave(data.get(), len);
|
||||
|
||||
CloseFile(f);
|
||||
msgResult = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
msgSemaphore.release();
|
||||
@ -771,6 +791,14 @@ int EmuThread::undoStateLoad()
|
||||
return msgResult;
|
||||
}
|
||||
|
||||
int EmuThread::importSavefile(const QString& filename)
|
||||
{
|
||||
sendMessage(msg_EmuReset);
|
||||
sendMessage({.type = msg_ImportSavefile, .param = filename});
|
||||
waitMessage(2);
|
||||
return msgResult;
|
||||
}
|
||||
|
||||
void EmuThread::updateRenderer()
|
||||
{
|
||||
if (videoRenderer != lastVideoRenderer)
|
||||
|
Reference in New Issue
Block a user