Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for the Epic distribution of Fallout 3 #1812

Closed
Ortham opened this issue Oct 14, 2022 · 6 comments
Closed

Add support for the Epic distribution of Fallout 3 #1812

Ortham opened this issue Oct 14, 2022 · 6 comments
Assignees
Milestone

Comments

@Ortham
Copy link
Member

Ortham commented Oct 14, 2022

As mentioned by sibir in #1809, Fallout 3 is coming to the Epic Games Store, so add support for it once it arrives there.

@Ortham Ortham self-assigned this Oct 14, 2022
@Ortham
Copy link
Member Author

Ortham commented Oct 20, 2022

I've just downloaded Fallout 3 from EGS: it uses %LOCALAPPDATA%\Fallout3\plugins.txt, and doesn't write its install path to the Registry.

I've uploaded its EGS manifest file (packaged in a zip so that GitHub will accept it): the AppName is adeae8bbfc94427db57c7dfecce3f1d4. The full content of the file is:

{
	"FormatVersion": 0,
	"bIsIncompleteInstall": false,
	"LaunchCommand": "",
	"LaunchExecutable": "Launcher.exe",
	"ManifestLocation": "D:\\Games\\Epic Games/fallout3/.egstore",
	"ManifestHash": "709e59179e5e417ad34f4ad988c3fa47f1530259",
	"bIsApplication": true,
	"bIsExecutable": true,
	"bIsManaged": false,
	"bNeedsValidation": false,
	"bRequiresAuth": true,
	"bAllowMultipleInstances": false,
	"bCanRunOffline": false,
	"bAllowUriCmdArgs": false,
	"BaseURLs": [
		"http://fastly-download.epicgames.com/Builds/Org/o-bthbhn6wd7fzj73v5p4436ucn3k37u/00c12caef508413d992b3b5e0764aaef/default",
		"http://epicgames-download1.akamaized.net/Builds/Org/o-bthbhn6wd7fzj73v5p4436ucn3k37u/00c12caef508413d992b3b5e0764aaef/default",
		"http://download.epicgames.com/Builds/Org/o-bthbhn6wd7fzj73v5p4436ucn3k37u/00c12caef508413d992b3b5e0764aaef/default",
		"http://download2.epicgames.com/Builds/Org/o-bthbhn6wd7fzj73v5p4436ucn3k37u/00c12caef508413d992b3b5e0764aaef/default",
		"http://download3.epicgames.com/Builds/Org/o-bthbhn6wd7fzj73v5p4436ucn3k37u/00c12caef508413d992b3b5e0764aaef/default",
		"http://download4.epicgames.com/Builds/Org/o-bthbhn6wd7fzj73v5p4436ucn3k37u/00c12caef508413d992b3b5e0764aaef/default"
	],
	"BuildLabel": "Live",
	"AppCategories": [
		"games",
		"applications"
	],
	"ChunkDbs": [],
	"CompatibleApps": [],
	"DisplayName": "Fallout 3: Game of the Year Edition",
	"InstallationGuid": "7D528F2141909752BCF0768BAD5279BB",
	"InstallLocation": "D:\\Games\\Epic Games/fallout3",
	"InstallSessionId": "B343C176434F2129BC26538533A47A33",
	"InstallTags": [],
	"InstallComponents": [],
	"HostInstallationGuid": "00000000000000000000000000000000",
	"PrereqIds": [
		"DX10_Redist"
	],
	"PrereqSHA1Hash": "9FD00F3BB8A870112DAE464F555FCD5E7F9200C0",
	"LastPrereqSucceededSHA1Hash": "9FD00F3BB8A870112DAE464F555FCD5E7F9200C0",
	"StagingLocation": "D:\\Games\\Epic Games/fallout3/.egstore/bps",
	"TechnicalType": "games,applications",
	"VaultThumbnailUrl": "",
	"VaultTitleText": "",
	"InstallSize": 46199040645,
	"MainWindowProcessName": "",
	"ProcessNames": [],
	"BackgroundProcessNames": [],
	"MandatoryAppFolderName": "fallout3",
	"OwnershipToken": "false",
	"CatalogNamespace": "fa702d34a37248ba98fb17f680c085e3",
	"CatalogItemId": "b1b4e0b67a044575820cb5e63028dcae",
	"AppName": "adeae8bbfc94427db57c7dfecce3f1d4",
	"AppVersionString": "1.7",
	"MainGameCatalogNamespace": "fa702d34a37248ba98fb17f680c085e3",
	"MainGameCatalogItemId": "b1b4e0b67a044575820cb5e63028dcae",
	"MainGameAppName": "adeae8bbfc94427db57c7dfecce3f1d4",
	"AllowedUriEnvVars": []
}

@Ortham
Copy link
Member Author

Ortham commented Oct 20, 2022

Detection of the game's install path is complicated by the fact that each localisation ships as a separate copy of the game within the directory given by InstallLocation in the EGS manifest file, like Oblivion in the MS Store. The directories are shown in this screenshot:

image

Each one of the "Fallout 3 GOTY " directories contains Fallout3.exe and all the other files and the Data directory, e.g:

image

@Ortham
Copy link
Member Author

Ortham commented Oct 20, 2022

This is now done in the egs-fallout3 branch.

@Ortham
Copy link
Member Author

Ortham commented Oct 20, 2022

I'm going to try to improve the logic for what localisation gets picked so that it matches what's launched by the Epic launcher - it seems to be tied to the Windows display language, so I'll try adding logic to check what that is and check what the behaviour is when the display language doesn't have a game localisation.

@sibir-ine
Copy link
Member

sibir-ine commented Oct 21, 2022

Just to confirm, the title of my .item file is E45D17924A2F4666942FA8BE8DFE728C, so they don't seem to be named in a consistent way that we could take advantage of. I also tested the branch out, & it worked.

@Ortham
Copy link
Member Author

Ortham commented Oct 21, 2022

This is done as of d368438 - I've also improved the localised game handling so that LOOT will try localisations in the order of the user's preferred UI languages as reported by Windows, which seems to be how the EGS and MS Store launchers pick a localisation.

@Ortham Ortham closed this as completed Oct 21, 2022
@sibir-ine sibir-ine added this to the 0.18.6 milestone Oct 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants