Commit graph

23 commits

Author SHA1 Message Date
Pat Hartl
74b890f710 Add async request methods for client 2024-05-20 20:26:46 -05:00
Pat Hartl
9d8df90155 Import games using Game type instead of manifest
Games now import using the Game type instead of manifest. The manifest is fine for locally caching the game (though who knows, this could change as well), but for providing complex information like dependent games versioning it just doesn't have enough data.

Importing has been changed to provide the "Update Available" title change on games where the main game or mod/expansion has a new version available.

Notes now get populated on import, not just install.

Reworked population of game menu items to include non-primary actions from mods/expansions.

Simplified and fixed certain scripts not running for mods/expansions.
2024-05-07 01:47:00 -05:00
Pat Hartl
8cc8122d13 Install dependent expansions/mods 2024-05-01 23:58:07 -05:00
Pat Hartl
c32116512e Write all scripts on install 2024-04-29 18:33:31 -05:00
Pat Hartl
e84d2b4f6d Don't fail entire install process if files already exist or another process is locking the existing destination file 2024-02-22 02:12:18 -06:00
Pat Hartl
5ff0f49398 Basic implementation of ImportGames
Instead of providing metadata and possibly updating a game if it already exists, this gives us full control over how games are imported into the library. This update will allow all changes to games made in the server to be synced to the clients. It also simplifies the import, though it is more prone to exceptions due to the current use of yield.
2024-02-16 00:22:01 -06:00
Pat Hartl
e56507c626 Don't install standalone expansions to the same directory as the base game 2024-02-14 02:01:29 -06:00
Pat Hartl
93ce25c263 Keep track of the currently installed key. Run key change on game start if the key doesn't match the allocated key. 2024-02-03 18:32:42 -06:00
Pat Hartl
3888d047d4 Log when a file cannot be deleted upon uninstall 2024-02-03 13:55:40 -06:00
Pat Hartl
71ccf03fb0 Added download canceling back into downloads 2024-01-25 00:46:10 -06:00
Pat Hartl
27f739cc65 Remove test exception 2024-01-24 23:37:30 -06:00
Pat Hartl
71a27bee91 Added notifications for game install failure in download queue 2024-01-24 23:36:52 -06:00
Pat Hartl
a269d7a658 Rough but functional download queue 2024-01-20 21:02:41 -06:00
Pat Hartl
7278aa8b86 Keep track of what name was used on the last name change script run for a game 2024-01-19 00:25:38 -06:00
Pat Hartl
ae521c32f1 If FileList.txt does not exist for uninstall, simply delete the entire install directory 2024-01-15 16:01:15 -06:00
Pat Hartl
901cbb25e7 Only replace files on disk that don't match CRC from ZIP file entry 2024-01-10 17:57:00 -06:00
Pat Hartl
976fe32207 Show actual game being installed 2024-01-10 17:54:46 -06:00
Pat Hartl
d955f080b7 Refactored uninstall to only remove files/directories that came from the original install 2024-01-10 01:59:51 -06:00
Pat Hartl
b40ce8aba1 When installing a mod or expansion, use the base game's install directory 2024-01-10 01:25:46 -06:00
Pat Hartl
1879c83729 Write a list of files to the LANCommander folder upon extraction 2024-01-09 20:43:54 -06:00
Pat Hartl
a8ed46bff7 Change location of all metadata/script files in install directory
In order to support mods and expansions, there needs to be another place to hold game scripts and the manifest. These have been moved to the {InstallDir}\.lancommander\{GameId} directory.
2024-01-09 01:22:56 -06:00
Pat Hartl
38d6135ad3 Install base game before installing expansion/mod 2024-01-08 18:52:00 -06:00
Pat Hartl
7afa8d0674 Rename managers to services, merge into Client so it can be used anywhere the client is accessible. 2024-01-02 02:34:58 -06:00
Renamed from LANCommander.SDK/GameManager.cs (Browse further)