|
|
@@ -72,12 +72,30 @@ static FileType GuessFromFilename(const std::string& filename) {
|
|
|
return FileType::Unknown;
|
|
|
}
|
|
|
|
|
|
-ResultStatus LoadFile(const std::string& filename) {
|
|
|
- LOG_INFO(Loader, "Loading file %s...", filename.c_str());
|
|
|
+static const char* GetFileTypeString(FileType type) {
|
|
|
+ switch (type) {
|
|
|
+ case FileType::CCI:
|
|
|
+ return "NCSD";
|
|
|
+ case FileType::CXI:
|
|
|
+ return "NCCH";
|
|
|
+ case FileType::ELF:
|
|
|
+ return "ELF";
|
|
|
+ case FileType::THREEDSX:
|
|
|
+ return "3DSX";
|
|
|
+ case FileType::BIN:
|
|
|
+ return "raw";
|
|
|
+ case FileType::Error:
|
|
|
+ case FileType::Unknown:
|
|
|
+ return "unknown";
|
|
|
+ }
|
|
|
+}
|
|
|
|
|
|
+ResultStatus LoadFile(const std::string& filename) {
|
|
|
std::unique_ptr<FileUtil::IOFile> file(new FileUtil::IOFile(filename, "rb"));
|
|
|
- if (!file->IsOpen())
|
|
|
+ if (!file->IsOpen()) {
|
|
|
+ LOG_ERROR(Loader, "Failed to load file %s", filename.c_str());
|
|
|
return ResultStatus::Error;
|
|
|
+ }
|
|
|
|
|
|
FileType type = IdentifyFile(*file);
|
|
|
FileType filename_type = GuessFromFilename(filename);
|
|
|
@@ -88,6 +106,8 @@ ResultStatus LoadFile(const std::string& filename) {
|
|
|
type = filename_type;
|
|
|
}
|
|
|
|
|
|
+ LOG_INFO(Loader, "Loading file %s as %s...", filename.c_str(), GetFileTypeString(type));
|
|
|
+
|
|
|
switch (type) {
|
|
|
|
|
|
//3DSX file format...
|