Skip to content

Fix detection of installed Epic base games with empty parent names - #6953

Open
snowyukitty wants to merge 1 commit into
lutris:masterfrom
snowyukitty:fix/egs-base-game-manifests
Open

snowyukitty wants to merge 1 commit into
lutris:masterfrom
snowyukitty:fix/egs-base-game-manifests

Conversation

@snowyukitty

Copy link
Copy Markdown

Fixes #6899.

An installed base game such as Caravan SandWitch can have an empty MainGameAppName. The manifest scanner currently treats that as a different parent and skips the game. Accept the empty string as well as an exact AppName match, while retaining the exclusion for manifests naming another parent.

The tests cover the scanner and the real installed-game import into temporary SQLite and YAML state. They verify both base-game formats, DLC exclusion, unchanged rows on a second scan, the launcher executable, and the game-specific launch URI. Both empty-parent regressions fail against the unmodified scanner.

Validation from the repository root on Ubuntu 24.04 / Python 3.12:

  • nose2 --exclude-ci -v: 586 tests run, 1 existing Nvidia-driver test skipped.
  • ruff check . and ruff format . --check.
  • mypy . --python-version 3.10.
  • python3 utils/check_annotations.py.
  • On Python 3.10: python -m compileall -q lutris/ tests/services/_test_egs.py tests/util/_test_egs_launcher.py.

The offline suite had the official Libretro core metadata populated beforehand. The import test replaces media downloading only. GUI interaction, Epic authentication, and launching Caravan SandWitch were not tested.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Epic Games Store: installed base game skipped when its manifest has an empty MainGameAppName

1 participant