diff --git a/MediaBrowser.Controller/Entities/Game.cs b/MediaBrowser.Controller/Entities/Game.cs index b62a71bd6..63a04e520 100644 --- a/MediaBrowser.Controller/Entities/Game.cs +++ b/MediaBrowser.Controller/Entities/Game.cs @@ -23,5 +23,43 @@ namespace MediaBrowser.Controller.Entities /// /// The game system. public string GameSystem { get; set; } + + /// + /// Returns true if the game is combined with other games in the same folder + /// + public bool IsInMixedFolder { get; set; } + + /// + /// + /// + public override string MetaLocation + { + get + { + var directoryName = System.IO.Path.GetDirectoryName(Path); + + if (IsInMixedFolder) + { + // It's a file + var baseMetaPath = System.IO.Path.Combine(directoryName, "metadata"); + var fileName = System.IO.Path.GetFileNameWithoutExtension(Path); + + return fileName != null ? System.IO.Path.Combine(baseMetaPath, fileName) : null; + } + + return directoryName; + } + } + + /// + /// + /// + protected override bool UseParentPathToCreateResolveArgs + { + get + { + return !IsInMixedFolder; + } + } } }