Remove RomFS::GetFilePointer

This commit is contained in:
B3n30 2018-07-26 12:59:31 +02:00
parent b62978b5a1
commit b1f8c2fe67
3 changed files with 5 additions and 20 deletions

View file

@ -65,11 +65,6 @@ u64 RomFSFile::Length() const {
return length;
}
const u8* GetFilePointer(const u8* romfs, const std::vector<std::u16string>& path) {
RomFSFile file = GetFile(romfs, path);
return file.Data();
}
const RomFSFile GetFile(const u8* romfs, const std::vector<std::u16string>& path) {
constexpr u32 INVALID_FIELD = 0xFFFFFFFF;
@ -109,8 +104,7 @@ const RomFSFile GetFile(const u8* romfs, const std::vector<std::u16string>& path
const u8* current_file = romfs + header.file_table_offset + file_offset;
std::memcpy(&file, current_file, sizeof(file));
if (MatchName(current_file + sizeof(file), file.name_length, file_name)) {
RomFSFile res(romfs + header.data_offset + file.data_offset, file.data_length);
return res;
return RomFSFile(romfs + header.data_offset + file.data_offset, file.data_length);
}
file_offset = file.next_file_offset;
}

View file

@ -22,15 +22,6 @@ private:
u64 length;
};
/**
* Gets the pointer to a file in a RomFS image.
* @param romfs The pointer to the RomFS image
* @param path A vector containing the directory names and file name of the path to the file
* @return the pointer to the file
* @todo reimplement this with a full RomFS manager
*/
const u8* GetFilePointer(const u8* romfs, const std::vector<std::u16string>& path);
/**
* Gets a RomFSFile class to a file in a RomFS image.
* @param romfs The pointer to the RomFS image

View file

@ -143,9 +143,9 @@ bool Module::LoadSharedFont() {
const char16_t* file_name[4] = {u"cbf_std.bcfnt.lz", u"cbf_zh-Hans-CN.bcfnt.lz",
u"cbf_ko-Hang-KR.bcfnt.lz", u"cbf_zh-Hant-TW.bcfnt.lz"};
const u8* font_file =
RomFS::GetFilePointer(romfs_buffer.data(), {file_name[font_region_code - 1]});
if (font_file == nullptr)
const RomFS::RomFSFile font_file =
RomFS::GetFile(romfs_buffer.data(), {file_name[font_region_code - 1]});
if (font_file.Data() == nullptr)
return false;
struct {
@ -159,7 +159,7 @@ bool Module::LoadSharedFont() {
shared_font_header.status = 2; // successfully loaded
shared_font_header.region = font_region_code;
shared_font_header.decompressed_size =
DecompressLZ11(font_file, shared_font_mem->GetPointer(0x80));
DecompressLZ11(font_file.Data(), shared_font_mem->GetPointer(0x80));
std::memcpy(shared_font_mem->GetPointer(), &shared_font_header, sizeof(shared_font_header));
*shared_font_mem->GetPointer(0x83) = 'U'; // Change the magic from "CFNT" to "CFNU"