mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	
						commit
						86d1649b32
					
				| @ -69,29 +69,18 @@ FileType AppLoader_NSO::IdentifyType(const FileSys::VirtualFile& file) { | ||||
| static std::vector<u8> DecompressSegment(const std::vector<u8>& compressed_data, | ||||
|                                          const NsoSegmentHeader& header) { | ||||
|     std::vector<u8> uncompressed_data(header.size); | ||||
|     const int bytes_uncompressed = LZ4_decompress_safe( | ||||
|         reinterpret_cast<const char*>(compressed_data.data()), | ||||
|         reinterpret_cast<char*>(uncompressed_data.data()), compressed_data.size(), header.size); | ||||
|     const int bytes_uncompressed = | ||||
|         LZ4_decompress_safe(reinterpret_cast<const char*>(compressed_data.data()), | ||||
|                             reinterpret_cast<char*>(uncompressed_data.data()), | ||||
|                             static_cast<int>(compressed_data.size()), header.size); | ||||
| 
 | ||||
|     ASSERT_MSG(bytes_uncompressed == header.size && bytes_uncompressed == uncompressed_data.size(), | ||||
|     ASSERT_MSG(bytes_uncompressed == static_cast<int>(header.size) && | ||||
|                    bytes_uncompressed == static_cast<int>(uncompressed_data.size()), | ||||
|                "{} != {} != {}", bytes_uncompressed, header.size, uncompressed_data.size()); | ||||
| 
 | ||||
|     return uncompressed_data; | ||||
| } | ||||
| 
 | ||||
| static std::vector<u8> ReadSegment(FileUtil::IOFile& file, const NsoSegmentHeader& header, | ||||
|                                    size_t compressed_size) { | ||||
|     std::vector<u8> compressed_data(compressed_size); | ||||
| 
 | ||||
|     file.Seek(header.offset, SEEK_SET); | ||||
|     if (compressed_size != file.ReadBytes(compressed_data.data(), compressed_size)) { | ||||
|         LOG_CRITICAL(Loader, "Failed to read {} NSO LZ4 compressed bytes", compressed_size); | ||||
|         return {}; | ||||
|     } | ||||
| 
 | ||||
|     return DecompressSegment(compressed_data, header); | ||||
| } | ||||
| 
 | ||||
| static constexpr u32 PageAlignSize(u32 size) { | ||||
|     return (size + Memory::PAGE_MASK) & ~Memory::PAGE_MASK; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei