summaryrefslogtreecommitdiffstats
path: root/src/core/loader
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/loader')
-rw-r--r--src/core/loader/3dsx.cpp14
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;