diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GameDetailsDialog.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GameDetailsDialog.java index 17d04a6138..a6c0148032 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GameDetailsDialog.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/dialogs/GameDetailsDialog.java @@ -90,7 +90,7 @@ public final class GameDetailsDialog extends DialogFragment long blockSize = gameFile.getBlockSize(); String compression = gameFile.getCompressionMethod(); - textFileFormat.setText(String.format("%1$s (%2$s)", gameFile.getBlobTypeString(), fileSize)); + textFileFormat.setText(String.format("%1$s (%2$s)", gameFile.getFileFormatName(), fileSize)); if (compression.isEmpty()) { diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java index 9ac331c2b2..ad4c1b856a 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/model/GameFile.java @@ -40,7 +40,7 @@ public class GameFile public native int getBlobType(); - public native String getBlobTypeString(); + public native String getFileFormatName(); public native long getBlockSize(); diff --git a/Source/Android/jni/GameList/GameFile.cpp b/Source/Android/jni/GameList/GameFile.cpp index 21e8aa24aa..bdb7f3d8bd 100644 --- a/Source/Android/jni/GameList/GameFile.cpp +++ b/Source/Android/jni/GameList/GameFile.cpp @@ -66,7 +66,7 @@ JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_model_GameFile_getRevision JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_model_GameFile_getBlobType(JNIEnv* env, jobject obj); JNIEXPORT jstring JNICALL -Java_org_dolphinemu_dolphinemu_model_GameFile_getBlobTypeString(JNIEnv* env, jobject obj); +Java_org_dolphinemu_dolphinemu_model_GameFile_getFileFormatName(JNIEnv* env, jobject obj); JNIEXPORT jlong JNICALL Java_org_dolphinemu_dolphinemu_model_GameFile_getBlockSize(JNIEnv* env, jobject obj); JNIEXPORT jstring JNICALL @@ -167,9 +167,9 @@ JNIEXPORT jint JNICALL Java_org_dolphinemu_dolphinemu_model_GameFile_getBlobType } JNIEXPORT jstring JNICALL -Java_org_dolphinemu_dolphinemu_model_GameFile_getBlobTypeString(JNIEnv* env, jobject obj) +Java_org_dolphinemu_dolphinemu_model_GameFile_getFileFormatName(JNIEnv* env, jobject obj) { - return ToJString(env, DiscIO::GetName(GetRef(env, obj)->GetBlobType(), true)); + return ToJString(env, GetRef(env, obj)->GetFileFormatName()); } JNIEXPORT jlong JNICALL Java_org_dolphinemu_dolphinemu_model_GameFile_getBlockSize(JNIEnv* env, diff --git a/Source/Core/DolphinQt/Config/InfoWidget.cpp b/Source/Core/DolphinQt/Config/InfoWidget.cpp index f76289c3dd..729f6216b7 100644 --- a/Source/Core/DolphinQt/Config/InfoWidget.cpp +++ b/Source/Core/DolphinQt/Config/InfoWidget.cpp @@ -54,10 +54,9 @@ QGroupBox* InfoWidget::CreateFileDetails() } else { - const QString file_format = - QStringLiteral("%1 (%2)") - .arg(QString::fromStdString(DiscIO::GetName(m_game.GetBlobType(), true))) - .arg(QString::fromStdString(file_size)); + const QString file_format = QStringLiteral("%1 (%2)") + .arg(QString::fromStdString(m_game.GetFileFormatName())) + .arg(QString::fromStdString(file_size)); layout->addRow(tr("File Format:"), CreateValueDisplay(file_format)); QString compression = QString::fromStdString(m_game.GetCompressionMethod()); diff --git a/Source/Core/UICommon/GameFile.cpp b/Source/Core/UICommon/GameFile.cpp index ff0fa84798..ba7676ae80 100644 --- a/Source/Core/UICommon/GameFile.cpp +++ b/Source/Core/UICommon/GameFile.cpp @@ -31,6 +31,7 @@ #include "Common/HttpRequest.h" #include "Common/Image.h" #include "Common/IniFile.h" +#include "Common/MsgHandler.h" #include "Common/NandPaths.h" #include "Common/StringUtil.h" #include "Common/Swap.h" @@ -124,6 +125,7 @@ GameFile::GameFile(std::string path) : m_file_path(std::move(path)) m_volume_size = volume->GetSize(); m_volume_size_is_accurate = volume->IsSizeAccurate(); m_is_datel_disc = volume->IsDatelDisc(); + m_is_nkit = volume->IsNKit(); m_internal_name = volume->GetInternalName(); m_game_id = volume->GetGameID(); @@ -146,6 +148,7 @@ GameFile::GameFile(std::string path) : m_file_path(std::move(path)) m_file_size = m_volume_size = File::GetSize(m_file_path); m_volume_size_is_accurate = true; m_is_datel_disc = false; + m_is_nkit = false; m_platform = DiscIO::Platform::ELFOrDOL; m_blob_type = DiscIO::BlobType::DIRECTORY; } @@ -308,6 +311,7 @@ void GameFile::DoState(PointerWrap& p) p.Do(m_volume_size); p.Do(m_volume_size_is_accurate); p.Do(m_is_datel_disc); + p.Do(m_is_nkit); p.Do(m_short_names); p.Do(m_long_names); @@ -659,6 +663,7 @@ std::string GameFile::GetFileFormatName() const { case DiscIO::Platform::WiiWAD: return "WAD"; + case DiscIO::Platform::ELFOrDOL: { std::string extension = GetExtension(); @@ -667,8 +672,14 @@ std::string GameFile::GetFileFormatName() const // substr removes the dot return extension.substr(std::min(1, extension.size())); } + default: - return DiscIO::GetName(m_blob_type, true); + { + std::string name = DiscIO::GetName(m_blob_type, true); + if (m_is_nkit) + name = fmt::format(Common::GetStringT("{0} (NKit)"), name); + return name; + } } } diff --git a/Source/Core/UICommon/GameFile.h b/Source/Core/UICommon/GameFile.h index 3aa693507f..5cae441eb3 100644 --- a/Source/Core/UICommon/GameFile.h +++ b/Source/Core/UICommon/GameFile.h @@ -145,6 +145,7 @@ private: u64 m_volume_size{}; bool m_volume_size_is_accurate{}; bool m_is_datel_disc{}; + bool m_is_nkit{}; std::map m_short_names; std::map m_long_names; diff --git a/Source/Core/UICommon/GameFileCache.cpp b/Source/Core/UICommon/GameFileCache.cpp index c551016d7f..35d4fe3571 100644 --- a/Source/Core/UICommon/GameFileCache.cpp +++ b/Source/Core/UICommon/GameFileCache.cpp @@ -27,7 +27,7 @@ namespace UICommon { -static constexpr u32 CACHE_REVISION = 18; // Last changed in PR 8891 +static constexpr u32 CACHE_REVISION = 19; // Last changed in PR 9135 std::vector FindAllGamePaths(const std::vector& directories_to_scan, bool recursive_scan)