diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2021-12-09 00:01:10 +0100 |
|---|---|---|
| committer | Admiral H. Curtiss <pikachu025@gmail.com> | 2021-12-12 21:26:09 +0100 |
| commit | b50861ea44e237e69b1c931b4ceb8c9b6dc8db4e (patch) | |
| tree | 823d6e56a5bdc7000dc9d108658d237987cddfec /Source/Core/DiscIO/GameModDescriptor.cpp | |
| parent | f4e2d369c075f44f037289a1ccb78274c7d5cb39 (diff) | |
Core: Require game mod descriptor json to self-identify as one.
Diffstat (limited to 'Source/Core/DiscIO/GameModDescriptor.cpp')
| -rw-r--r-- | Source/Core/DiscIO/GameModDescriptor.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/Core/DiscIO/GameModDescriptor.cpp b/Source/Core/DiscIO/GameModDescriptor.cpp index 587faafdaf..f1a50ac649 100644 --- a/Source/Core/DiscIO/GameModDescriptor.cpp +++ b/Source/Core/DiscIO/GameModDescriptor.cpp @@ -115,10 +115,15 @@ std::optional<GameModDescriptor> ParseGameModDescriptorString(std::string_view j return std::nullopt; GameModDescriptor descriptor; + bool is_game_mod_descriptor = false; bool is_valid_version = false; for (const auto& [key, value] : json_root.get<picojson::object>()) { - if (key == "version" && value.is<double>()) + if (key == "type" && value.is<std::string>()) + { + is_game_mod_descriptor = value.get<std::string>() == "dolphin-game-mod-descriptor"; + } + else if (key == "version" && value.is<double>()) { is_valid_version = value.get<double>() == 1.0; } @@ -140,7 +145,7 @@ std::optional<GameModDescriptor> ParseGameModDescriptorString(std::string_view j ParseRiivolutionObject(json_directory, value.get<picojson::object>()); } } - if (!is_valid_version) + if (!is_game_mod_descriptor || !is_valid_version) return std::nullopt; return descriptor; } |
