same shit with Import Savefile

This commit is contained in:
Arisotura
2024-10-25 10:52:47 +02:00
parent 8b6628b070
commit 979f1ed615
3 changed files with 38 additions and 21 deletions

View File

@ -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)