wabbajack/Wabbajack.DTOs/Game/GameMetaData.cs
Luca fab17a6ae0
Wabbajack 3.3.0.0 Update (#2416)
* added more visible error messages to avoid user confusion

added hard drive free space detection, added red error message text, removed overwrite checkbox, added wiki button link

extended the error text for starting wabbajack in protected location

removed debug code

shortened error message to fit in text box

* restored warning removed in error, updated changelog, removed debug includes

* Update InstallerVM.cs

* Update InstallerVM.cs

* Update MainWindowViewModel.cs

* added json optional flag to only show version number over modlist image in installer view, if the modlist image already contains the title

removed debug code

change to pascal case and match existing code style

update changelog

* Fix manual downloads sometimes launching in browser

* Fix manual downloads from secure servers

* Remove duplicate user agent code

* Create configuration project and performance settings

* Bind new performance settings to UI

* Use performance settings to limit maximum memory per download

* Remove unused settings and related classes

* Updated CHANGELOG.md

* update CHANGELOG.md

* moved the existing files popup to an error message , heralding the return of the overwrite install checkbox

* added newline

* reverted erroneous edit

* gogID for fallout4 added

* update CHANGELOG.md

* Fix deadlock when loading new settings

* change folder/directory check logic

* update CHANGELOG.md

* revert unnecessary change

* update CHANGELOG.md

* Bump Wabbajack to .NET 7

* Bump ReactiveUI packages & deps

* Update GameFinder to 4.0.0

* Update CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: JanuarySnow <bobfordiscord12@gmail.com>
Co-authored-by: JanuarySnow <85711747+JanuarySnow@users.noreply.github.com>
Co-authored-by: UrbanCMC <UrbanCMC@web.de>
Co-authored-by: trawzified <55751269+tr4wzified@users.noreply.github.com>
2023-10-12 12:33:06 -06:00

54 lines
2.0 KiB
C#

using System;
using Wabbajack.Paths;
namespace Wabbajack.DTOs;
public class GameMetaData
{
public Game Game { get; internal init; }
public bool IsGenericMO2Plugin { get; internal init; }
public string? MO2ArchiveName { get; internal init; }
public string? NexusName { get; internal init; }
// Nexus DB id for the game, used in some specific situations
public long NexusGameId { get; internal init; }
public string? MO2Name { get; internal init; }
// to get steam ids: https://steamdb.info
public int[] SteamIDs { get; internal init; } = Array.Empty<int>();
// to get gog ids: https://www.gogdb.org
public long[] GOGIDs { get; internal init; } = Array.Empty<long>();
// to get these ids, split the numbers from the letters in file names found in
// C:\ProgramData\Origin\LocalContent\{game name)\*.mfst
// So for DA:O this is "DR208591800.mfst" -> "DR:208591800"
// EAPlay games may have @subscription appended to the file name
public string[] OriginIDs { get; set; } = Array.Empty<string>();
public string[] EpicGameStoreIDs { get; internal init; } = Array.Empty<string>();
// to get BethNet IDs: check the registry
public int BethNetID { get; internal init; }
//for BethNet games only!
public string RegString { get; internal init; } = string.Empty;
// file to check if the game is present, useful when steamIds and gogIds dont help
public RelativePath[] RequiredFiles { get; internal init; } = Array.Empty<RelativePath>();
public RelativePath? MainExecutable { get; internal init; }
// Games that this game are commonly confused with, for example Skyrim SE vs Skyrim LE
public Game[] CommonlyConfusedWith { get; set; } = Array.Empty<Game>();
/// <summary>
/// Other games this game can pull source files from (if the game is installed on the user's machine)
/// </summary>
public Game[] CanSourceFrom { get; set; } = Array.Empty<Game>();
public string HumanFriendlyGameName => Game.GetDescription();
}