MCPcopy Create free account
hub / github.com/amwatson/CitraVR / GetLoader

Function GetLoader

src/core/loader/loader.cpp:116–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114}
115
116std::unique_ptr<AppLoader> GetLoader(const std::string& filename) {
117 FileUtil::IOFile file(filename, "rb");
118 if (!file.IsOpen()) {
119 LOG_ERROR(Loader, "Failed to load file {}", filename);
120 return nullptr;
121 }
122
123 std::string filename_filename, filename_extension;
124 Common::SplitPath(filename, nullptr, &filename_filename, &filename_extension);
125
126 FileType type = IdentifyFile(file);
127 FileType filename_type = GuessFromExtension(filename_extension);
128
129 if (type != filename_type) {
130 LOG_WARNING(Loader, "File {} has a different type than its extension.", filename);
131 if (FileType::Unknown == type)
132 type = filename_type;
133 }
134
135 LOG_DEBUG(Loader, "Loading file {} as {}...", filename, GetFileTypeString(type));
136
137 auto& system = Core::System::GetInstance();
138 return GetFileLoader(system, std::move(file), type, filename_filename, filename);
139}
140
141} // namespace Loader

Callers 15

BootGameMethod · 0.85
OnGameListDumpRomFSMethod · 0.85
LoadConfigurationMethod · 0.85
LoadMethod · 0.85
AttemptLLEFunction · 0.85
InstallCIAFunction · 0.85
GetProgramInfoMethod · 0.85
LaunchTitleFunction · 0.85
GetSMDHDataFunction · 0.85
RunCitraFunction · 0.85

Calls 6

SplitPathFunction · 0.85
IdentifyFileFunction · 0.85
GuessFromExtensionFunction · 0.85
GetFileTypeStringFunction · 0.85
GetFileLoaderFunction · 0.85
IsOpenMethod · 0.45

Tested by

no test coverage detected