Skip to content

Releases: erri120/GameFinder

Release 2.4.0

13 Jan 17:13
fc1eaf3
Compare
Choose a tag to compare

Although this release contains some API changes and a lot of internal changes, consumers will likely not be affected.

  • Core: AHandler.FindAllGamesById now returns IDictionary<> instead of Dictionary<>
  • Core: changed Result<TGame> from a record struct to a custom readonly struct
  • Steam: added SteamGame.GetManifestPath that returns the absolute path to the parsed manifest. This is useful if you need to extract more information from the manifest, after the game has been found.
  • Internal: restructured the project and reworked all tests

Release 2.3.0

16 Dec 09:31
8fbf10c
Compare
Choose a tag to compare
  • Steam: added ~/.steam and ~/.local/.steam as possible default Steam directories on Linux
  • Steam: added constructor that accepts a custom Steam path in case the library can't find it
  • upgrade to C# 11
  • upgrade System.IO.Abstractions to v19.1.1

Release 2.2.2

11 Nov 10:51
9074e38
Compare
Choose a tag to compare
  • FindAllGamesById will no longer throw an exception for duplicate IDs

Release 2.2.1

21 Oct 18:51
2e52c1b
Compare
Choose a tag to compare

Small update that changes the equality comparer of the dictionary returned by EGSHandler.FindAllGamesById and OriginHandler.FindAllGamesById to StringComparer.OrdinalIgnoreCase.

Release 2.2.0

21 Oct 18:23
0c239ff
Compare
Choose a tag to compare

This update adds some utility functions you can use. I've also created a new package GameFinder.Common where all those new utility functions live:

  • added AHandler an abstract class that all store handlers inherit:
    • AHandler.FindAllGames: same function as before
    • AHandler.FindAllGamesById: wraps FindAllGames and returns a Dictionary<TId, TGame>
    • AHandler.FindOneGameById: if you just need to find 1 game
  • added some extension methods that work with IEnumerable<Result<TGame>> results:
    • IEnumerable<TGame> OnlyGames: returns only non-null games and discards the rest
    • IEnumerable<string> OnlyErrors: returns only non-null errors and discards the rest
    • (TGame[] games, string[] errors) SplitResults: splits the results into two arrays

Release 2.1.0

21 Oct 12:44
03ab881
Compare
Choose a tag to compare

Minor update after the major rework:

  • everything was made safer and less functions will throw (you should still wrap the FindAllGames function call)
  • API changed a bit: FindAllGames will now return a readonly record struct instead of a named tuple
  • lots of internal changes and more tests

Release 2.0.1

19 Oct 18:11
ec6b5d4
Compare
Choose a tag to compare
  • Origin: fix parsing manifests with duplicate key-value entries

Release 2.0.0

15 Oct 16:12
b26bdde
Compare
Choose a tag to compare

Major rework of all packages:

  • removed netstandard2.1 target
  • added net7.0 target
  • added IRegistry interface with WindowsRegistry and InMemoryRegistry implementations
  • added runtime platform check in all packages
  • deprecated the Bethesda.net and Xbox packages (see README for more information)
  • removed logging from all packages
  • removed the GameFinder package (it's not needed anymore)
  • simplified the public APIs

Release 1.8.0

27 Jun 12:57
210d427
Compare
Choose a tag to compare
  • Fix SteamHandler not finding any Libraries when there are no external libs
  • Remove .NET 5 target
  • Upgrade dependencies

Release 1.7.3

14 May 10:25
cd61cd7
Compare
Choose a tag to compare

Changes

  • Steam: parsing is now more relaxed, only required values are appid, installdir and name