From 26b2db706e5a28156dd13d8e9c0d34be4ffa1fb6 Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Sun, 20 May 2018 14:49:11 -0400 Subject: [PATCH 01/13] Fix GameSystem/Platform mixup in Get*FromGameSystem methods. --- .../EmuMovies/EmuMoviesImageProvider.cs | 77 +++++++++-------- .../Providers/GamesDb/GamesDbGameProvider.cs | 84 ++++++++++--------- 2 files changed, 85 insertions(+), 76 deletions(-) diff --git a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs index 213ea60..5668315 100644 --- a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs +++ b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs @@ -130,13 +130,13 @@ private async Task> FetchImages(Game game, EmuMovie return list; } - private string GetEmuMoviesPlatformFromGameSystem(string platform) + private string GetEmuMoviesPlatformFromGameSystem(string gameSystem) { string emuMoviesPlatform = null; - switch (platform) + switch (gameSystem) { - case "3DO": + case "Panasonic3DO": emuMoviesPlatform = "Panasonic_3DO"; break; @@ -151,32 +151,32 @@ private string GetEmuMoviesPlatformFromGameSystem(string platform) break; - case "Atari 2600": + case "Atari2600": emuMoviesPlatform = "Atari_2600"; break; - case "Atari 5200": + case "Atari5200": emuMoviesPlatform = "Atari_5200"; break; - case "Atari 7800": + case "Atari7800": emuMoviesPlatform = "Atari_7800"; break; - case "Atari XE": + case "AtariXE": emuMoviesPlatform = "Atari_8_bit"; break; - case "Atari Jaguar": + case "AtariJaguar": emuMoviesPlatform = "Atari_Jaguar"; break; - case "Atari Jaguar CD": + case "AtariJaguarCD": emuMoviesPlatform = "Atari_Jaguar"; break; @@ -186,12 +186,12 @@ private string GetEmuMoviesPlatformFromGameSystem(string platform) break; - case "Commodore 64": + case "Commodore64": emuMoviesPlatform = "Commodore_64"; break; - case "Commodore Vic-20": + case "CommodoreVic20": emuMoviesPlatform = ""; break; @@ -201,22 +201,22 @@ private string GetEmuMoviesPlatformFromGameSystem(string platform) break; - case "Xbox": + case "MicrosoftXBox": emuMoviesPlatform = "Microsoft_Xbox"; break; - case "Neo Geo": + case "NeoGeo": emuMoviesPlatform = "SNK_Neo_Geo_AES"; break; - case "Nintendo 64": + case "Nintendo64": emuMoviesPlatform = "Nintendo_N64"; break; - case "Nintendo DS": + case "NintendoDS": emuMoviesPlatform = "Nintendo_DS"; break; @@ -226,37 +226,37 @@ private string GetEmuMoviesPlatformFromGameSystem(string platform) break; - case "Game Boy": + case "NintendoGameBoy": emuMoviesPlatform = "Nintendo_Game_Boy"; break; - case "Game Boy Advance": + case "NintendoGameBoyAdvance": emuMoviesPlatform = "Nintendo_Game_Boy_Advance"; break; - case "Game Boy Color": + case "NintendoGameBoyColor": emuMoviesPlatform = "Nintendo_Game_Boy_Color"; break; - case "Gamecube": + case "NintendoGameCube": emuMoviesPlatform = "Nintendo_GameCube"; break; - case "Super Nintendo": + case "SuperNintendo": emuMoviesPlatform = "Nintendo_SNES"; break; - case "Virtual Boy": + case "VirtualBoy": emuMoviesPlatform = ""; break; - case "Nintendo Wii": + case "Wii": emuMoviesPlatform = ""; break; @@ -271,73 +271,78 @@ private string GetEmuMoviesPlatformFromGameSystem(string platform) break; - case "Sega 32X": + case "Sega32X": emuMoviesPlatform = "Sega_Genesis"; break; - case "Sega CD": + case "SegaCD": emuMoviesPlatform = "Sega_Genesis"; break; - case "Dreamcast": + case "SegaDreamcast": emuMoviesPlatform = "Sega_Dreamcast"; break; - case "Game Gear": + case "SegaGameGear": emuMoviesPlatform = "Sega_Game_Gear"; break; - case "Sega Genesis": + case "SegaGenesis": emuMoviesPlatform = "Sega_Genesis"; break; - case "Sega Master System": + case "SegaMasterSystem": emuMoviesPlatform = "Sega_Master_System"; break; - case "Sega Mega Drive": + case "SegaMegaDrive": emuMoviesPlatform = "Sega_Genesis"; break; - case "Sega Saturn": + case "SegaSaturn": emuMoviesPlatform = "Sega_Saturn"; break; - case "Sony Playstation": + case "SonyPlaystation": emuMoviesPlatform = "Sony_Playstation"; break; - case "PS2": + case "SonyPlaystation2": emuMoviesPlatform = "Sony_Playstation_2"; break; - case "PSP": + case "SonyPSP": emuMoviesPlatform = "Sony_PSP"; break; - case "TurboGrafx 16": + case "TurboGrafx16": emuMoviesPlatform = "NEC_TurboGrafx_16"; break; - case "TurboGrafx CD": + case "TurboGrafxCD": emuMoviesPlatform = "NEC_TurboGrafx_16"; break; - case "ZX Spectrum": + case "ZxSpectrum": emuMoviesPlatform = ""; break; + +#if DEBUG + default: + throw new ArgumentException($"Unrecognized game system: {gameSystem}."); +#endif } return emuMoviesPlatform; diff --git a/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs b/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs index 8491432..7e808cd 100644 --- a/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs +++ b/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs @@ -623,7 +623,7 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) switch (gameSystem) { - case "3DO": + case "Panasonic3DO": tgdbPlatformString = "3DO"; break; @@ -638,32 +638,32 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) break; - case "Atari 2600": + case "Atari2600": tgdbPlatformString = "Atari 2600"; break; - case "Atari 5200": + case "Atari5200": tgdbPlatformString = "Atari 5200"; break; - case "Atari 7800": + case "Atari7800": tgdbPlatformString = "Atari 7800"; break; - case "Atari XE": + case "AtariXE": tgdbPlatformString = "Atari XE"; break; - case "Atari Jaguar": + case "AtariJaguar": tgdbPlatformString = "Atari Jaguar"; break; - case "Atari Jaguar CD": + case "AtariJaguarCD": tgdbPlatformString = "Atari Jaguar CD"; break; @@ -673,12 +673,12 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) break; - case "Commodore 64": + case "Commodore64": tgdbPlatformString = "Commodore 64"; break; - case "Commodore Vic-20": + case "CommodoreVic20": tgdbPlatformString = "Commodore Vic-20"; break; @@ -688,32 +688,31 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) break; - case "Xbox": + case "MicrosoftXBox": tgdbPlatformString = "Microsoft Xbox"; break; - case "Xbox 360": + case "MicrosoftXBox360": tgdbPlatformString = "Microsoft Xbox 360"; break; - case "Xbox One": + case "MicrosoftXBoxOne": tgdbPlatformString = "Microsoft Xbox One"; break; - case "Neo Geo": + case "NeoGeo": tgdbPlatformString = "NeoGeo"; break; - case "Nintendo 64": + case "Nintendo64": tgdbPlatformString = "Nintendo 64"; - break; - case "Nintendo DS": + case "NintendoDS": tgdbPlatformString = "Nintendo DS"; break; @@ -723,42 +722,42 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) break; - case "Game Boy": + case "NintendoGameBoy": tgdbPlatformString = "Nintendo Game Boy"; break; - case "Game Boy Advance": + case "NintendoGameBoyAdvance": tgdbPlatformString = "Nintendo Game Boy Advance"; break; - case "Game Boy Color": + case "NintendoGameBoyColor": tgdbPlatformString = "Nintendo Game Boy Color"; break; - case "Gamecube": + case "NintendoGameCube": tgdbPlatformString = "Nintendo GameCube"; break; - case "Super Nintendo": + case "SuperNintendo": tgdbPlatformString = "Super Nintendo (SNES)"; break; - case "Virtual Boy": + case "VirtualBoy": tgdbPlatformString = "Nintendo Virtual Boy"; break; - case "Nintendo Wii": + case "Wii": tgdbPlatformString = "Nintendo Wii"; break; - case "Nintendo Wii U": + case "WiiU": tgdbPlatformString = "Nintendo Wii U"; break; @@ -773,83 +772,88 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) break; - case "Sega 32X": + case "Sega32X": tgdbPlatformString = "Sega 32X"; break; - case "Sega CD": + case "SegaCD": tgdbPlatformString = "Sega CD"; break; - case "Sega Dreamcast": + case "SegaDreamcast": tgdbPlatformString = "Sega Dreamcast"; break; - case "Game Gear": + case "SegaGameGear": tgdbPlatformString = "Sega Game Gear"; break; - case "Sega Genesis": + case "SegaGenesis": tgdbPlatformString = "Sega Genesis"; break; - case "Sega Master System": + case "SegaMasterSystem": tgdbPlatformString = "Sega Master System"; break; - case "Sega Mega Drive": + case "SegaMegaDrive": tgdbPlatformString = "Sega Genesis"; break; - case "Sega Saturn": + case "SegaSaturn": tgdbPlatformString = "Sega Saturn"; break; - case "Sony Playstation": + case "SonyPlaystation": tgdbPlatformString = "Sony Playstation"; break; - case "PS2": + case "SonyPlaystation2": tgdbPlatformString = "Sony Playstation 2"; break; - case "PS3": + case "SonyPlaystation3": tgdbPlatformString = "Sony Playstation 3"; break; - case "PS4": + case "SonyPlaystation4": tgdbPlatformString = "Sony Playstation 4"; break; - case "PSP": + case "SonyPSP": tgdbPlatformString = "Sony PSP"; break; - case "TurboGrafx 16": + case "TurboGrafx16": tgdbPlatformString = "TurboGrafx 16"; break; - case "TurboGrafx CD": + case "TurboGrafxCD": tgdbPlatformString = "TurboGrafx CD"; break; - case "ZX Spectrum": + case "ZxSpectrum": tgdbPlatformString = "ZX Spectrum"; break; + +#if DEBUG + default: + throw new ArgumentException($"Unrecognized game system: {gameSystem}."); +#endif } return tgdbPlatformString; From 37e952eaadeeefe0697721d0edf7ee132e65ee28 Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Sun, 20 May 2018 15:25:58 -0400 Subject: [PATCH 02/13] Add image types for EmuMovies provider. --- .../EmuMovies/EmuMoviesImageProvider.cs | 20 +++++++++++++++---- .../EmuMovies/EmuMoviesMediaTypes.cs | 3 +++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs index 5668315..17e857d 100644 --- a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs +++ b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs @@ -53,14 +53,26 @@ public Task> GetImages(BaseItem item, ImageType ima switch (imageType) { - case ImageType.Box: + case ImageType.Backdrop: return FetchImages(game, EmuMoviesMediaTypes.Cabinet, imageType, cancellationToken); - case ImageType.Screenshot: - return FetchImages(game, EmuMoviesMediaTypes.Snap, imageType, cancellationToken); + case ImageType.Banner: + return FetchImages(game, EmuMoviesMediaTypes.Banner, imageType, cancellationToken); + case ImageType.Primary: + case ImageType.Box: + return FetchImages(game, EmuMoviesMediaTypes.Box, imageType, cancellationToken); + case ImageType.BoxRear: + return FetchImages(game, EmuMoviesMediaTypes.BoxBack, imageType, cancellationToken); case ImageType.Disc: return FetchImages(game, EmuMoviesMediaTypes.Cart, imageType, cancellationToken); case ImageType.Menu: return FetchImages(game, EmuMoviesMediaTypes.Title, imageType, cancellationToken); + case ImageType.Screenshot: + return FetchImages(game, EmuMoviesMediaTypes.Snap, imageType, cancellationToken); + + case ImageType.Art: + case ImageType.Logo: + case ImageType.Thumb: + case ImageType.Chapter: default: throw new ArgumentException("Unrecognized image type"); } @@ -351,7 +363,7 @@ private string GetEmuMoviesPlatformFromGameSystem(string gameSystem) public IEnumerable GetSupportedImages(BaseItem item) { - return new[] { ImageType.Box, ImageType.Disc, ImageType.Screenshot, ImageType.Menu }; + return new[] { ImageType.Primary, ImageType.Backdrop, ImageType.Banner, ImageType.Box, ImageType.BoxRear, ImageType.Disc, ImageType.Menu, ImageType.Screenshot }; } public string Name diff --git a/GameBrowser/Providers/EmuMovies/EmuMoviesMediaTypes.cs b/GameBrowser/Providers/EmuMovies/EmuMoviesMediaTypes.cs index 31eb6c9..b747ada 100644 --- a/GameBrowser/Providers/EmuMovies/EmuMoviesMediaTypes.cs +++ b/GameBrowser/Providers/EmuMovies/EmuMoviesMediaTypes.cs @@ -2,6 +2,9 @@ { enum EmuMoviesMediaTypes { + Banner, + Box, + BoxBack, Cabinet, Cart, Snap, From 87b8b40d0108c939e8161473826017dbe03dac5e Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Sun, 20 May 2018 20:28:49 -0400 Subject: [PATCH 03/13] Add support for 'Atari Lynx'. Add a few missing extensions. --- GameBrowser/Configuration/configPage.html | 1 + GameBrowser/GameBrowser.csproj | 4 ++++ GameBrowser/Properties/launchSettings.json | 8 ++++++++ .../Providers/EmuMovies/EmuMoviesImageProvider.cs | 5 +++++ GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs | 5 +++++ GameBrowser/Resolvers/GameResolver.cs | 9 ++++++--- GameBrowser/Resolvers/ResolverHelper.cs | 7 +++++++ 7 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 GameBrowser/Properties/launchSettings.json diff --git a/GameBrowser/Configuration/configPage.html b/GameBrowser/Configuration/configPage.html index 6d988d3..2d4d39f 100644 --- a/GameBrowser/Configuration/configPage.html +++ b/GameBrowser/Configuration/configPage.html @@ -151,6 +151,7 @@

\ \ \ + \ \ \ \ diff --git a/GameBrowser/GameBrowser.csproj b/GameBrowser/GameBrowser.csproj index 0e987d9..2cb74bf 100644 --- a/GameBrowser/GameBrowser.csproj +++ b/GameBrowser/GameBrowser.csproj @@ -20,4 +20,8 @@ + + + + diff --git a/GameBrowser/Properties/launchSettings.json b/GameBrowser/Properties/launchSettings.json new file mode 100644 index 0000000..a48de7c --- /dev/null +++ b/GameBrowser/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "GameBrowser": { + "commandName": "Executable", + "executablePath": "C:\\Users\\cwarr\\AppData\\Roaming\\Emby-Server\\system\\EmbyServer.exe" + } + } +} \ No newline at end of file diff --git a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs index 17e857d..fbaa8b8 100644 --- a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs +++ b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs @@ -193,6 +193,11 @@ private string GetEmuMoviesPlatformFromGameSystem(string gameSystem) break; + case "AtariLynx": + emuMoviesPlatform = ""; + + break; + case "Colecovision": emuMoviesPlatform = "Coleco_Vision"; diff --git a/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs b/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs index 7e808cd..1c486ca 100644 --- a/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs +++ b/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs @@ -668,6 +668,11 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) break; + case "AtariLynx": + tgdbPlatformString = "Atari Lynx"; + + break; + case "Colecovision": tgdbPlatformString = "Colecovision"; diff --git a/GameBrowser/Resolvers/GameResolver.cs b/GameBrowser/Resolvers/GameResolver.cs index 31924f0..c401a25 100644 --- a/GameBrowser/Resolvers/GameResolver.cs +++ b/GameBrowser/Resolvers/GameResolver.cs @@ -104,7 +104,7 @@ private Game GetGame(ItemResolveArgs args, string consoleType) if (gameFiles.Count == 0) { - _logger.Error("gameFiles is 0 for " + args.Path); + _logger.Error($"gameFiles is 0 for {args.Path}. Expected: {string.Join(";", validExtensions)}. Found: {string.Join(";", args.FileSystemChildren.Where(f => !f.IsDirectory).Select(f => Path.GetExtension(f.FullName)).Distinct())}."); return null; } @@ -134,7 +134,7 @@ private IEnumerable GetExtensions(string consoleType) return new[] { ".iso", ".cue" }; case "Amiga": - return new[] { ".iso", ".adf" }; + return new[] { ".iso", ".adf", ".ipf" }; case "Arcade": return new[] { ".zip" }; @@ -157,11 +157,14 @@ private IEnumerable GetExtensions(string consoleType) case "Atari Jaguar CD": // still need to verify return new[] { ".iso" }; + case "Atari Lynx": + return new[] { ".lnx" }; + case "Colecovision": return new[] { ".col", ".rom" }; case "Commodore 64": - return new[] { ".d64", ".g64", ".prg", ".tap", ".t64" }; + return new[] { ".crt", ".d64", ".g64", ".prg", ".tap", ".t64" }; case "Commodore Vic-20": return new[] { ".prg" }; diff --git a/GameBrowser/Resolvers/ResolverHelper.cs b/GameBrowser/Resolvers/ResolverHelper.cs index 3deeebe..167d336 100644 --- a/GameBrowser/Resolvers/ResolverHelper.cs +++ b/GameBrowser/Resolvers/ResolverHelper.cs @@ -22,6 +22,7 @@ class ResolverHelper {"Atari 7800", 27}, {"Atari Jaguar", 28}, {"Atari Jaguar CD", 29}, + {"Atari Lynx", 4924}, {"Atari XE", 30}, {"Colecovision", 31}, {"Commodore 64", 40}, @@ -115,6 +116,9 @@ public static string GetGameSystemFromPlatform(string platform) case "Atari Jaguar CD": return "AtariJaguarCD"; + case "Atari Lynx": + return "AtariLynx"; + case "Colecovision": return "Colecovision"; @@ -266,6 +270,9 @@ public static string GetDisplayMediaTypeFromPlatform(string platform) case "Atari Jaguar CD": return "JaguarGame"; + case "Atari Lynx": + return "AtariLynxGame"; + case "Colecovision": return "ColecovisionGame"; From a47119777ba2c3db34598032f643a22daf05acfe Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Sun, 20 May 2018 20:53:36 -0400 Subject: [PATCH 04/13] Add missing TgdbId for 'Virtual Boy' --- GameBrowser/Resolvers/ResolverHelper.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/GameBrowser/Resolvers/ResolverHelper.cs b/GameBrowser/Resolvers/ResolverHelper.cs index 167d336..373a14d 100644 --- a/GameBrowser/Resolvers/ResolverHelper.cs +++ b/GameBrowser/Resolvers/ResolverHelper.cs @@ -34,6 +34,7 @@ class ResolverHelper {"Neo Geo", 24}, {"Nintendo 64", 3}, {"Nintendo DS", 8}, + {"Virtual Boy", 4918}, {"Nintendo", 7}, {"Game Boy", 4}, {"Game Boy Advance", 5}, From c00574543b572962acf41782c90a9a5a0c08e8e3 Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Sun, 20 May 2018 20:59:27 -0400 Subject: [PATCH 05/13] Disable searching images from other game system --- GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs index fbaa8b8..d4ec0f0 100644 --- a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs +++ b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs @@ -94,7 +94,10 @@ private async Task> FetchImages(Game game, EmuMovie if (sessionId == null) return list; - var url = string.Format(EmuMoviesUrls.Search, WebUtility.UrlEncode(game.Name), GetEmuMoviesPlatformFromGameSystem(game.GameSystem), mediaType, sessionId); + var emuMoviesPlatform = GetEmuMoviesPlatformFromGameSystem(game.GameSystem); + // TODO Add a setting to search or not image from other game system + if (string.IsNullOrEmpty(emuMoviesPlatform)) return list; + var url = string.Format(EmuMoviesUrls.Search, WebUtility.UrlEncode(game.Name), emuMoviesPlatform, mediaType, sessionId); using (var response = await _httpClient.SendAsync(new HttpRequestOptions { From e221e2c1d53839eee3c4d9a6108d01a4dd9f4ea3 Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Sun, 20 May 2018 21:00:51 -0400 Subject: [PATCH 06/13] Remove the double download of box image in EmuMovies (that I added in a previous commit). --- GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs index d4ec0f0..08b88f0 100644 --- a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs +++ b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs @@ -58,7 +58,6 @@ public Task> GetImages(BaseItem item, ImageType ima case ImageType.Banner: return FetchImages(game, EmuMoviesMediaTypes.Banner, imageType, cancellationToken); case ImageType.Primary: - case ImageType.Box: return FetchImages(game, EmuMoviesMediaTypes.Box, imageType, cancellationToken); case ImageType.BoxRear: return FetchImages(game, EmuMoviesMediaTypes.BoxBack, imageType, cancellationToken); @@ -70,6 +69,7 @@ public Task> GetImages(BaseItem item, ImageType ima return FetchImages(game, EmuMoviesMediaTypes.Snap, imageType, cancellationToken); case ImageType.Art: + case ImageType.Box: case ImageType.Logo: case ImageType.Thumb: case ImageType.Chapter: @@ -371,7 +371,7 @@ private string GetEmuMoviesPlatformFromGameSystem(string gameSystem) public IEnumerable GetSupportedImages(BaseItem item) { - return new[] { ImageType.Primary, ImageType.Backdrop, ImageType.Banner, ImageType.Box, ImageType.BoxRear, ImageType.Disc, ImageType.Menu, ImageType.Screenshot }; + return new[] { ImageType.Primary, ImageType.Backdrop, ImageType.Banner, ImageType.BoxRear, ImageType.Disc, ImageType.Menu, ImageType.Screenshot }; } public string Name From 9e08c9eaf0199dcf402ff811b07cecb128bf5fce Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Sun, 20 May 2018 21:30:02 -0400 Subject: [PATCH 07/13] Add support for 'Neo Geo Pocket' and 'Neo Geo Pocket Color'. --- GameBrowser/Configuration/configPage.html | 2 ++ .../Providers/EmuMovies/EmuMoviesImageProvider.cs | 10 ++++++++++ .../Providers/GamesDb/GamesDbGameProvider.cs | 10 ++++++++++ GameBrowser/Resolvers/GameResolver.cs | 6 ++++++ GameBrowser/Resolvers/ResolverHelper.cs | 14 ++++++++++++++ 5 files changed, 42 insertions(+) diff --git a/GameBrowser/Configuration/configPage.html b/GameBrowser/Configuration/configPage.html index 2d4d39f..6af63aa 100644 --- a/GameBrowser/Configuration/configPage.html +++ b/GameBrowser/Configuration/configPage.html @@ -162,6 +162,8 @@

\ \ \ + \ + \ \ \ \ diff --git a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs index 08b88f0..e3d7c74 100644 --- a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs +++ b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs @@ -231,6 +231,16 @@ private string GetEmuMoviesPlatformFromGameSystem(string gameSystem) break; + case "NeoGeoPocket": + emuMoviesPlatform = ""; + + break; + + case "NeoGeoPocketColor": + emuMoviesPlatform = ""; + + break; + case "Nintendo64": emuMoviesPlatform = "Nintendo_N64"; diff --git a/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs b/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs index 1c486ca..9e25a4c 100644 --- a/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs +++ b/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs @@ -713,6 +713,16 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) break; + case "NeoGeoPocket": + tgdbPlatformString = "Neo Geo Pocket"; + + break; + + case "NeoGeoPocketColor": + tgdbPlatformString = "Neo Geo Pocket Color"; + + break; + case "Nintendo64": tgdbPlatformString = "Nintendo 64"; break; diff --git a/GameBrowser/Resolvers/GameResolver.cs b/GameBrowser/Resolvers/GameResolver.cs index c401a25..6a70d43 100644 --- a/GameBrowser/Resolvers/GameResolver.cs +++ b/GameBrowser/Resolvers/GameResolver.cs @@ -184,6 +184,12 @@ private IEnumerable GetExtensions(string consoleType) case "Neo Geo": return new[] { ".zip", ".iso" }; + case "Neo Geo Pocket": + return new[] { ".ngp" }; + + case "Neo Geo Pocket Color": + return new[] { ".ngc" }; + case "Nintendo 64": return new[] { ".z64", ".v64", ".usa", ".jap", ".pal", ".rom", ".n64", ".zip" }; diff --git a/GameBrowser/Resolvers/ResolverHelper.cs b/GameBrowser/Resolvers/ResolverHelper.cs index 373a14d..a20843b 100644 --- a/GameBrowser/Resolvers/ResolverHelper.cs +++ b/GameBrowser/Resolvers/ResolverHelper.cs @@ -32,6 +32,8 @@ class ResolverHelper {"Xbox 360", 15}, {"Xbox One", 4920}, {"Neo Geo", 24}, + {"Neo Geo Pocket", 4922}, + {"Neo Geo Pocket Color", 4923}, {"Nintendo 64", 3}, {"Nintendo DS", 8}, {"Virtual Boy", 4918}, @@ -144,6 +146,12 @@ public static string GetGameSystemFromPlatform(string platform) case "Neo Geo": return "NeoGeo"; + case "Neo Geo Pocket": + return "NeoGeoPocket"; + + case "Neo Geo Pocket Color": + return "NeoGeoPocketColor"; + case "Nintendo 64": return "Nintendo64"; @@ -298,6 +306,12 @@ public static string GetDisplayMediaTypeFromPlatform(string platform) case "Neo Geo": return "NeoGeoGame"; + case "Neo Geo Pocket": + return "NeoGeoPocketGame"; + + case "Neo Geo Pocket Color": + return "NeoGeoPocketColorGame"; + case "Nintendo 64": return "N64Game"; From 7a0af310898d8bc65a876017b0426123969e02fe Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Mon, 21 May 2018 10:14:04 -0400 Subject: [PATCH 08/13] Add support for 'Atari ST'. --- GameBrowser/Configuration/configPage.html | 1 + GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs | 5 +++++ GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs | 5 +++++ GameBrowser/Resolvers/GameResolver.cs | 3 +++ GameBrowser/Resolvers/ResolverHelper.cs | 7 +++++++ 5 files changed, 21 insertions(+) diff --git a/GameBrowser/Configuration/configPage.html b/GameBrowser/Configuration/configPage.html index 6af63aa..736148d 100644 --- a/GameBrowser/Configuration/configPage.html +++ b/GameBrowser/Configuration/configPage.html @@ -152,6 +152,7 @@

\ \ \ + \ \ \ \ diff --git a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs index e3d7c74..b948252 100644 --- a/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs +++ b/GameBrowser/Providers/EmuMovies/EmuMoviesImageProvider.cs @@ -181,6 +181,11 @@ private string GetEmuMoviesPlatformFromGameSystem(string gameSystem) break; + case "AtariST": + emuMoviesPlatform = ""; + + break; + case "AtariXE": emuMoviesPlatform = "Atari_8_bit"; diff --git a/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs b/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs index 9e25a4c..55f4b59 100644 --- a/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs +++ b/GameBrowser/Providers/GamesDb/GamesDbGameProvider.cs @@ -653,6 +653,11 @@ private string GetTgdbPlatformFromGameSystem(string gameSystem) break; + case "AtariST": + tgdbPlatformString = "Atari ST"; + + break; + case "AtariXE": tgdbPlatformString = "Atari XE"; diff --git a/GameBrowser/Resolvers/GameResolver.cs b/GameBrowser/Resolvers/GameResolver.cs index 6a70d43..69e38aa 100644 --- a/GameBrowser/Resolvers/GameResolver.cs +++ b/GameBrowser/Resolvers/GameResolver.cs @@ -148,6 +148,9 @@ private IEnumerable GetExtensions(string consoleType) case "Atari 7800": return new[] { ".a78" }; + case "Atari ST": + return new[] { ".ipf" }; + case "Atari XE": return new[] { ".rom" }; diff --git a/GameBrowser/Resolvers/ResolverHelper.cs b/GameBrowser/Resolvers/ResolverHelper.cs index a20843b..855db93 100644 --- a/GameBrowser/Resolvers/ResolverHelper.cs +++ b/GameBrowser/Resolvers/ResolverHelper.cs @@ -23,6 +23,7 @@ class ResolverHelper {"Atari Jaguar", 28}, {"Atari Jaguar CD", 29}, {"Atari Lynx", 4924}, + {"Atari ST", 4937}, {"Atari XE", 30}, {"Colecovision", 31}, {"Commodore 64", 40}, @@ -110,6 +111,9 @@ public static string GetGameSystemFromPlatform(string platform) case "Atari 7800": return "Atari7800"; + case "Atari ST": + return "AtariST"; + case "Atari XE": return "AtariXE"; @@ -270,6 +274,9 @@ public static string GetDisplayMediaTypeFromPlatform(string platform) case "Atari 7800": return "Atari7800Game"; + case "Atari ST": + return "AtariSTGame"; + case "Atari XE": return "AtariXeGame"; From a7f016ec62832024718f724cdcb876b53f927ee2 Mon Sep 17 00:00:00 2001 From: Christian Warren Date: Mon, 21 May 2018 21:48:41 -0400 Subject: [PATCH 09/13] Refactoring to simplify the addition of new game system. --- GameBrowser/Configuration/configPage.html | 6 + GameBrowser/Providers/CustomGameProvider.cs | 3 +- .../EmuMovies/EmuMoviesImageProvider.cs | 247 +------- .../Providers/GamesDb/GamesDbGameProvider.cs | 272 +------- .../GamesDb/GamesDbGameSystemProvider.cs | 4 +- GameBrowser/Resolvers/GameResolver.cs | 178 +----- GameBrowser/Resolvers/GameSystemDefinition.cs | 580 ++++++++++++++++++ GameBrowser/Resolvers/ResolverHelper.cs | 403 +----------- 8 files changed, 625 insertions(+), 1068 deletions(-) create mode 100644 GameBrowser/Resolvers/GameSystemDefinition.cs diff --git a/GameBrowser/Configuration/configPage.html b/GameBrowser/Configuration/configPage.html index 736148d..53bf691 100644 --- a/GameBrowser/Configuration/configPage.html +++ b/GameBrowser/Configuration/configPage.html @@ -143,6 +143,12 @@

html += '
'; html += '