mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	file_sys: tweaks
This commit is contained in:
		
							parent
							
								
									c03795300a
								
							
						
					
					
						commit
						83aa38b239
					
				@ -3,6 +3,7 @@
 | 
				
			|||||||
// Refer to the license.txt file included.
 | 
					// Refer to the license.txt file included.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <cinttypes>
 | 
					#include <cinttypes>
 | 
				
			||||||
 | 
					#include <utility>
 | 
				
			||||||
#include "common/file_util.h"
 | 
					#include "common/file_util.h"
 | 
				
			||||||
#include "common/logging/log.h"
 | 
					#include "common/logging/log.h"
 | 
				
			||||||
#include "core/file_sys/partition_filesystem.h"
 | 
					#include "core/file_sys/partition_filesystem.h"
 | 
				
			||||||
@ -44,8 +45,8 @@ Loader::ResultStatus PartitionFilesystem::Load(const std::string& file_path, siz
 | 
				
			|||||||
    return result;
 | 
					    return result;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Loader::ResultStatus PartitionFilesystem::Load(const std::vector<u8> file_data, size_t offset) {
 | 
					Loader::ResultStatus PartitionFilesystem::Load(const std::vector<u8>& file_data, size_t offset) {
 | 
				
			||||||
    size_t total_size = static_cast<size_t>(file_data.size() - offset);
 | 
					    size_t total_size = file_data.size() - offset;
 | 
				
			||||||
    if (total_size < sizeof(Header))
 | 
					    if (total_size < sizeof(Header))
 | 
				
			||||||
        return Loader::ResultStatus::Error;
 | 
					        return Loader::ResultStatus::Error;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -61,7 +62,7 @@ Loader::ResultStatus PartitionFilesystem::Load(const std::vector<u8> file_data,
 | 
				
			|||||||
        memcpy(&entry.fs_entry, &file_data[entries_offset + (i * entry_size)], sizeof(FSEntry));
 | 
					        memcpy(&entry.fs_entry, &file_data[entries_offset + (i * entry_size)], sizeof(FSEntry));
 | 
				
			||||||
        entry.name = std::string(reinterpret_cast<const char*>(
 | 
					        entry.name = std::string(reinterpret_cast<const char*>(
 | 
				
			||||||
            &file_data[strtab_offset + entry.fs_entry.strtab_offset]));
 | 
					            &file_data[strtab_offset + entry.fs_entry.strtab_offset]));
 | 
				
			||||||
        pfs_entries.push_back(entry);
 | 
					        pfs_entries.push_back(std::move(entry));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    content_offset = strtab_offset + pfs_header.strtab_size;
 | 
					    content_offset = strtab_offset + pfs_header.strtab_size;
 | 
				
			||||||
@ -69,7 +70,7 @@ Loader::ResultStatus PartitionFilesystem::Load(const std::vector<u8> file_data,
 | 
				
			|||||||
    return Loader::ResultStatus::Success;
 | 
					    return Loader::ResultStatus::Success;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 PartitionFilesystem::GetNumEntries(void) const {
 | 
					u32 PartitionFilesystem::GetNumEntries() const {
 | 
				
			||||||
    return pfs_header.num_entries;
 | 
					    return pfs_header.num_entries;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -24,9 +24,9 @@ namespace FileSys {
 | 
				
			|||||||
class PartitionFilesystem {
 | 
					class PartitionFilesystem {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    Loader::ResultStatus Load(const std::string& file_path, size_t offset = 0);
 | 
					    Loader::ResultStatus Load(const std::string& file_path, size_t offset = 0);
 | 
				
			||||||
    Loader::ResultStatus Load(const std::vector<u8> file_data, size_t offset = 0);
 | 
					    Loader::ResultStatus Load(const std::vector<u8>& file_data, size_t offset = 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 GetNumEntries(void) const;
 | 
					    u32 GetNumEntries() const;
 | 
				
			||||||
    u64 GetEntryOffset(int index) const;
 | 
					    u64 GetEntryOffset(int index) const;
 | 
				
			||||||
    u64 GetEntrySize(int index) const;
 | 
					    u64 GetEntrySize(int index) const;
 | 
				
			||||||
    std::string GetEntryName(int index) const;
 | 
					    std::string GetEntryName(int index) const;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user