diff options
| author | 2015-07-16 18:08:46 -0400 | |
|---|---|---|
| committer | 2015-07-16 18:08:46 -0400 | |
| commit | 946f0ee2f4f5e150167ad90f86a425b50baec144 (patch) | |
| tree | 47586aae7237dddc7278ef5e579cf82ad1b64e11 /src/core/loader/loader.cpp | |
| parent | Merge pull request #931 from neobrain/move_default_attr_handler (diff) | |
| parent | Loader: Fix variable type and remove unused variable (diff) | |
| download | yuzu-946f0ee2f4f5e150167ad90f86a425b50baec144.tar.gz yuzu-946f0ee2f4f5e150167ad90f86a425b50baec144.tar.xz yuzu-946f0ee2f4f5e150167ad90f86a425b50baec144.zip | |
Merge pull request #918 from yuriks/romfs
Do not load entire RomFS to memory, read from the file as needed instead (rebased)
Diffstat (limited to 'src/core/loader/loader.cpp')
| -rw-r--r-- | src/core/loader/loader.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index 2e450fce4..9ef2f8900 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp | |||
| @@ -90,8 +90,8 @@ static const char* GetFileTypeString(FileType type) { | |||
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | ResultStatus LoadFile(const std::string& filename) { | 92 | ResultStatus LoadFile(const std::string& filename) { |
| 93 | std::unique_ptr<FileUtil::IOFile> file(new FileUtil::IOFile(filename, "rb")); | 93 | FileUtil::IOFile file(filename, "rb"); |
| 94 | if (!file->IsOpen()) { | 94 | if (!file.IsOpen()) { |
| 95 | LOG_ERROR(Loader, "Failed to load file %s", filename.c_str()); | 95 | LOG_ERROR(Loader, "Failed to load file %s", filename.c_str()); |
| 96 | return ResultStatus::Error; | 96 | return ResultStatus::Error; |
| 97 | } | 97 | } |
| @@ -99,7 +99,7 @@ ResultStatus LoadFile(const std::string& filename) { | |||
| 99 | std::string filename_filename, filename_extension; | 99 | std::string filename_filename, filename_extension; |
| 100 | Common::SplitPath(filename, nullptr, &filename_filename, &filename_extension); | 100 | Common::SplitPath(filename, nullptr, &filename_filename, &filename_extension); |
| 101 | 101 | ||
| 102 | FileType type = IdentifyFile(*file); | 102 | FileType type = IdentifyFile(file); |
| 103 | FileType filename_type = GuessFromExtension(filename_extension); | 103 | FileType filename_type = GuessFromExtension(filename_extension); |
| 104 | 104 | ||
| 105 | if (type != filename_type) { | 105 | if (type != filename_type) { |
| @@ -124,7 +124,7 @@ ResultStatus LoadFile(const std::string& filename) { | |||
| 124 | case FileType::CXI: | 124 | case FileType::CXI: |
| 125 | case FileType::CCI: | 125 | case FileType::CCI: |
| 126 | { | 126 | { |
| 127 | AppLoader_NCCH app_loader(std::move(file)); | 127 | AppLoader_NCCH app_loader(std::move(file), filename); |
| 128 | 128 | ||
| 129 | // Load application and RomFS | 129 | // Load application and RomFS |
| 130 | if (ResultStatus::Success == app_loader.Load()) { | 130 | if (ResultStatus::Success == app_loader.Load()) { |