Documentation
¶
Overview ¶
Package identify works out which game a scanned folder is: its proper title and Steam or GOG id, from the ids a copy carries or, failing that, its name, using the community Ludusavi manifest (PCGamingWiki data on ~50,000 games, with their Steam and GOG ids and install folder names).
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Entry ¶
type Entry struct {
Name string
SteamID int
GogID string
InstallDirs []string
Aliases []string // other names that point here
}
Entry is one game in the manifest.
type Index ¶
type Index struct {
// contains filtered or unexported fields
}
Index answers lookups by id, title and install folder name.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager loads the manifest index from cache and refreshes it weekly. Only scans use the index (~15 MB in memory), so it's let go a couple of minutes after the last use and read again (~50 ms) by the next scan.
func NewManager ¶
NewManager uses dir for the cached index (created on demand).
func (*Manager) Index ¶
Index returns the loaded index, reading the cache on first use; nil until one exists.
func (*Manager) Len ¶
Len is the number of titles in the game database (0 before it exists), without loading it.