mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-16 03:38:30 +12:00
Initial support for title switching + better Wii U menu compatibility (#907)
This commit is contained in:
parent
bfbeeae6f6
commit
2200cc0ddf
95 changed files with 2549 additions and 746 deletions
|
@ -1429,6 +1429,7 @@ void RPLLoader_InitState()
|
|||
rplLoaderHeap_codeArea2.setHeapBase(memory_getPointerFromVirtualOffset(MEMORY_CODEAREA_ADDR));
|
||||
rplLoaderHeap_workarea.setHeapBase(memory_getPointerFromVirtualOffset(MEMORY_RPLLOADER_AREA_ADDR));
|
||||
g_heapTrampolineArea.setBaseAllocator(&rplLoaderHeap_lowerAreaCodeMem2);
|
||||
RPLLoader_ResetState();
|
||||
}
|
||||
|
||||
void RPLLoader_ResetState()
|
||||
|
@ -1436,8 +1437,7 @@ void RPLLoader_ResetState()
|
|||
// unload all RPL modules
|
||||
while (rplModuleCount > 0)
|
||||
RPLLoader_UnloadModule(rplModuleList[0]);
|
||||
// clear dependency list
|
||||
cemu_assert_debug(false);
|
||||
rplDependencyList.clear();
|
||||
// unload all remaining symbols
|
||||
rplSymbolStorage_unloadAll();
|
||||
// free all code imports
|
||||
|
@ -1448,8 +1448,6 @@ void RPLLoader_ResetState()
|
|||
rplLoader_applicationHasMemoryControl = false;
|
||||
rplLoader_maxCodeAddress = 0;
|
||||
rpl3_currentDataAllocatorAddr = 0x10000000;
|
||||
cemu_assert_debug(rplDependencyList.empty());
|
||||
rplDependencyList.clear();
|
||||
_currentTLSModuleIndex = 1;
|
||||
rplLoader_sdataAddr = MPTR_NULL;
|
||||
rplLoader_sdata2Addr = MPTR_NULL;
|
||||
|
|
|
@ -159,6 +159,7 @@ void rplSymbolStorage_unloadAll()
|
|||
// free strings
|
||||
for (auto it : rplSymbolStorage.list_strAllocatedBlocks)
|
||||
free(it);
|
||||
rplSymbolStorage.list_strAllocatedBlocks.clear();
|
||||
rplSymbolStorage.strAllocatorBlock = nullptr;
|
||||
rplSymbolStorage.strAllocatorOffset = 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue