diff options
Diffstat (limited to 'src/core/loader')
-rw-r--r-- | src/core/loader/3dsx.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/core/loader/3dsx.cpp b/src/core/loader/3dsx.cpp index 15032e0ae..54ee992fc 100644 --- a/src/core/loader/3dsx.cpp +++ b/src/core/loader/3dsx.cpp @@ -86,11 +86,6 @@ struct THREEloadinfo u32 seg_sizes[3]; }; -class THREEDSXReader { -public: - static int Load3DSXFile(const std::string& filename, u32 base_addr); -}; - static u32 TranslateAddr(u32 addr, THREEloadinfo *loadinfo, u32* offsets) { if (addr < offsets[0]) @@ -100,12 +95,11 @@ static u32 TranslateAddr(u32 addr, THREEloadinfo *loadinfo, u32* offsets) return loadinfo->seg_addrs[2] + addr - offsets[1]; } -int THREEDSXReader::Load3DSXFile(const std::string& filename, u32 base_addr) +static THREEDSX_Error Load3DSXFile(FileUtil::IOFile& file, u32 base_addr) { - FileUtil::IOFile file(filename, "rb"); - if (!file.IsOpen()) { + if (!file.IsOpen()) return ERROR_FILE; - } + THREEDSX_Header hdr; if (file.ReadBytes(&hdr, sizeof(hdr)) != sizeof(hdr)) return ERROR_READ; @@ -222,7 +216,7 @@ ResultStatus AppLoader_THREEDSX::Load() { FileUtil::IOFile file(filename, "rb"); if (file.IsOpen()) { - THREEDSXReader::Load3DSXFile(filename, 0x00100000); + Load3DSXFile(file, 0x00100000); Kernel::LoadExec(0x00100000); } else { return ResultStatus::Error; |