mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	Archive: Added Init/Shutdown methods to reset kernel archive state.
This commit is contained in:
		@@ -144,4 +144,14 @@ Handle CreateArchive(FileSys::Archive* backend, const std::string& name) {
 | 
			
		||||
    return handle;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Initialize archives
 | 
			
		||||
void ArchiveInit() {
 | 
			
		||||
    g_archive_map.clear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Shutdown archives
 | 
			
		||||
void ArchiveShutdown() {
 | 
			
		||||
    g_archive_map.clear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace Kernel
 | 
			
		||||
 
 | 
			
		||||
@@ -29,4 +29,10 @@ Handle OpenArchive(FileSys::Archive::IdCode id_code);
 | 
			
		||||
 */
 | 
			
		||||
Handle CreateArchive(FileSys::Archive* backend, const std::string& name);
 | 
			
		||||
 | 
			
		||||
/// Initialize archives
 | 
			
		||||
void ArchiveInit();
 | 
			
		||||
 | 
			
		||||
/// Shutdown archives
 | 
			
		||||
void ArchiveShutdown();
 | 
			
		||||
 | 
			
		||||
} // namespace FileSys
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@
 | 
			
		||||
#include "core/core.h"
 | 
			
		||||
#include "core/hle/kernel/kernel.h"
 | 
			
		||||
#include "core/hle/kernel/thread.h"
 | 
			
		||||
#include "core/hle/kernel/archive.h"
 | 
			
		||||
 | 
			
		||||
namespace Kernel {
 | 
			
		||||
 | 
			
		||||
@@ -133,11 +134,13 @@ Object* ObjectPool::CreateByIDType(int type) {
 | 
			
		||||
/// Initialize the kernel
 | 
			
		||||
void Init() {
 | 
			
		||||
    Kernel::ThreadingInit();
 | 
			
		||||
    Kernel::ArchiveInit();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/// Shutdown the kernel
 | 
			
		||||
void Shutdown() {
 | 
			
		||||
    Kernel::ThreadingShutdown();
 | 
			
		||||
    Kernel::ArchiveShutdown();
 | 
			
		||||
 | 
			
		||||
    g_object_pool.Clear(); // Free all kernel objects
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user