mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	core/loader: Track the NSO build ID of the current process
This commit is contained in:
		
							parent
							
								
									943662dc3c
								
							
						
					
					
						commit
						f6c53526b3
					
				| @ -339,6 +339,7 @@ struct System::Impl { | |||||||
| 
 | 
 | ||||||
|     std::unique_ptr<Memory::CheatEngine> cheat_engine; |     std::unique_ptr<Memory::CheatEngine> cheat_engine; | ||||||
|     std::unique_ptr<Tools::Freezer> memory_freezer; |     std::unique_ptr<Tools::Freezer> memory_freezer; | ||||||
|  |     std::array<u8, 0x20> build_id{}; | ||||||
| 
 | 
 | ||||||
|     /// Frontend applets
 |     /// Frontend applets
 | ||||||
|     Service::AM::Applets::AppletManager applet_manager; |     Service::AM::Applets::AppletManager applet_manager; | ||||||
| @ -640,6 +641,14 @@ bool System::GetExitLock() const { | |||||||
|     return impl->exit_lock; |     return impl->exit_lock; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void System::SetCurrentProcessBuildID(std::array<u8, 32> id) { | ||||||
|  |     impl->build_id = id; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const std::array<u8, 32>& System::GetCurrentProcessBuildID() const { | ||||||
|  |     return impl->build_id; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) { | System::ResultStatus System::Init(Frontend::EmuWindow& emu_window) { | ||||||
|     return impl->Init(*this, emu_window); |     return impl->Init(*this, emu_window); | ||||||
| } | } | ||||||
|  | |||||||
| @ -330,6 +330,10 @@ public: | |||||||
| 
 | 
 | ||||||
|     bool GetExitLock() const; |     bool GetExitLock() const; | ||||||
| 
 | 
 | ||||||
|  |     void SetCurrentProcessBuildID(std::array<u8, 0x20> id); | ||||||
|  | 
 | ||||||
|  |     const std::array<u8, 0x20>& GetCurrentProcessBuildID() const; | ||||||
|  | 
 | ||||||
| private: | private: | ||||||
|     System(); |     System(); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -150,6 +150,7 @@ std::optional<VAddr> AppLoader_NSO::LoadModule(Kernel::Process& process, | |||||||
|     // Apply cheats if they exist and the program has a valid title ID
 |     // Apply cheats if they exist and the program has a valid title ID
 | ||||||
|     if (pm) { |     if (pm) { | ||||||
|         auto& system = Core::System::GetInstance(); |         auto& system = Core::System::GetInstance(); | ||||||
|  |         system.SetCurrentProcessBuildID(nso_header.build_id); | ||||||
|         const auto cheats = pm->CreateCheatList(system, nso_header.build_id); |         const auto cheats = pm->CreateCheatList(system, nso_header.build_id); | ||||||
|         if (!cheats.empty()) { |         if (!cheats.empty()) { | ||||||
|             system.RegisterCheatList(cheats, nso_header.build_id, load_base, image_size); |             system.RegisterCheatList(cheats, nso_header.build_id, load_base, image_size); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Zach Hilman
						Zach Hilman