mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-08 16:01:19 +12:00
Fix various issues
This commit is contained in:
parent
1b7c4d8a2f
commit
f44e12f4d8
16 changed files with 216 additions and 84 deletions
|
@ -1003,10 +1003,7 @@ namespace CafeSystem
|
|||
PauseTitle();
|
||||
// memory
|
||||
memory_Serialize(writer);
|
||||
// gpu
|
||||
writer.writeData(LatteGPUState.contextRegister, sizeof(LatteGPUState.contextRegister));
|
||||
writer.writeData(LatteGPUState.contextRegisterShadowAddr, sizeof(LatteGPUState.contextRegister));
|
||||
writer.writeData(LatteGPUState.sharedArea, sizeof(gx2GPUSharedArea_t));
|
||||
|
||||
|
||||
nn::temp::save(writer);
|
||||
nn::aoc::save(writer);
|
||||
|
@ -1015,6 +1012,11 @@ namespace CafeSystem
|
|||
iosu::fsa::save(writer);
|
||||
iosu::odm::save(writer);
|
||||
|
||||
// gpu
|
||||
writer.writeData(LatteGPUState.contextRegister, sizeof(LatteGPUState.contextRegister));
|
||||
writer.writeData(LatteGPUState.contextRegisterShadowAddr, sizeof(LatteGPUState.contextRegister));
|
||||
writer.writeData(LatteGPUState.sharedArea, sizeof(gx2GPUSharedArea_t));
|
||||
|
||||
FileStream* stream = FileStream::createFile(path);
|
||||
stream->writeData(writer.getResult().data(), writer.getResult().size_bytes());
|
||||
delete stream;
|
||||
|
@ -1025,8 +1027,10 @@ namespace CafeSystem
|
|||
|
||||
void LoadState(std::string path)
|
||||
{
|
||||
|
||||
PauseTitle();
|
||||
//coreinit::__OSDeleteAllActivePPCThreads();
|
||||
DestroyMemorySpace();
|
||||
|
||||
cemuLog_log(LogType::SaveStates, "Loading state...", path);
|
||||
|
||||
auto data = FileStream::LoadIntoMemory(path);
|
||||
|
@ -1034,12 +1038,8 @@ namespace CafeSystem
|
|||
MemStreamReader reader(data->data(), data->size());
|
||||
|
||||
// memory
|
||||
DestroyMemorySpace();
|
||||
|
||||
memory_Deserialize(reader);
|
||||
// gpu
|
||||
reader.readData(LatteGPUState.contextRegister, sizeof(LatteGPUState.contextRegister));
|
||||
reader.readData(LatteGPUState.contextRegisterShadowAddr, sizeof(LatteGPUState.contextRegister));
|
||||
reader.readData(LatteGPUState.sharedArea, sizeof(gx2GPUSharedArea_t));
|
||||
|
||||
nn::temp::restore(reader);
|
||||
nn::aoc::restore(reader);
|
||||
|
@ -1048,6 +1048,11 @@ namespace CafeSystem
|
|||
iosu::fsa::restore(reader);
|
||||
iosu::odm::restore(reader);
|
||||
|
||||
// gpu
|
||||
reader.readData(LatteGPUState.contextRegister, sizeof(LatteGPUState.contextRegister));
|
||||
reader.readData(LatteGPUState.contextRegisterShadowAddr, sizeof(LatteGPUState.contextRegister));
|
||||
reader.readData(LatteGPUState.sharedArea, sizeof(gx2GPUSharedArea_t));
|
||||
|
||||
cemuLog_log(LogType::SaveStates, "Loaded state from {}.", path);
|
||||
|
||||
ResumeTitle(/*isThreadRunning*/);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue