mirror of
				https://github.com/hedge-dev/XenonRecomp.git
				synced 2025-10-30 07:11:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Referenced from: https://github.com/xenia-canary/xenia-canary/blob/canary_experimental/src/xenia/cpu/xex_module.cc
 | |
| 
 | |
| /**
 | |
|  ******************************************************************************
 | |
|  * Xenia : Xbox 360 Emulator Research Project                                 *
 | |
|  ******************************************************************************
 | |
|  * Copyright 2023 Ben Vanik. All rights reserved.                             *
 | |
|  * Released under the BSD license - see LICENSE in the root for more details. *
 | |
|  ******************************************************************************
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <cstdint>
 | |
| #include <filesystem>
 | |
| #include <span>
 | |
| #include <vector>
 | |
| 
 | |
| struct XexPatcher
 | |
| {
 | |
|     enum class Result {
 | |
|         Success,
 | |
|         FileOpenFailed,
 | |
|         FileWriteFailed,
 | |
|         XexFileUnsupported,
 | |
|         XexFileInvalid,
 | |
|         PatchFileInvalid,
 | |
|         PatchIncompatible,
 | |
|         PatchFailed,
 | |
|         PatchUnsupported
 | |
|     };
 | |
| 
 | |
|     static Result apply(const uint8_t* xexBytes, size_t xexBytesSize, const uint8_t* patchBytes, size_t patchBytesSize, std::vector<uint8_t> &outBytes, bool skipData);
 | |
|     static Result apply(const std::filesystem::path &baseXexPath, const std::filesystem::path &patchXexPath, const std::filesystem::path &newXexPath);
 | |
| };
 | 
