feat: add Ready or Not game extension with variant conflict detection#23620
Closed
rolling-codes wants to merge 1 commit into
Closed
feat: add Ready or Not game extension with variant conflict detection#23620rolling-codes wants to merge 1 commit into
rolling-codes wants to merge 1 commit into
Conversation
Adds initial support for Ready Or Not to Vortex via a new game extension at extensions/games/game-readyornot. Features: - Game discovery (Steam + Epic Games Store) - PAK mod installation to the ~mods directory - FMOD audio mod support - Load order management (alphanumeric prefix system, matching the existing community extension behaviour) - Variant conflict detection: warns when mutually exclusive mod variants are installed together (e.g. multiple player health mods, or multiple scoring variants from the same mod page) The variant detection is split into two pure modules: - variantGroups.js: curated data — intra-mod groups (single Nexus page, multiple exclusive files) and cross-mod groups (separate Nexus pages covering the same feature) - conflictDetector.js: stateless function, no Vortex API dependency, easy to unit test and extend Credit: game registration code adapted from the community extension by BeYkeRYkt (github.com/BeYkeRYkt/vortex_readyornot_extension).
Author
Contributor
|
Hey @rolling-codes - I'm afraid this is not the correct process to submit a community game extension. We do not accept contributions into the bundled games repository unless discussed first. In this case, there is already a community game extension available on the site as you noted - if the current implementation falls short, why not contribute to BeYkeRYkt repo directly? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new game extension for Ready Or Not at
extensions/games/game-readyornot/.1144200) and Epic Games StoreReadyOrNot/Content/Paks/~mods.bankfiles)Variant conflict detection
Vortex's existing file-level conflict detection doesn't catch a common modding problem: mods that are variants of the same feature and are never meant to coexist, but don't necessarily write to the same files.
This happens in two ways in the Ready or Not mod ecosystem:
Intra-mod variants — a single Nexus mod page ships multiple exclusive files (e.g. No Stress for SWAT ships Standard, Hardcore Officers, and Robocop variants). Installing two of them won't trigger a file conflict, but both will try to take effect in-game.
Cross-mod conflicts — multiple separate Nexus mod pages all modify the same gameplay system (e.g. the many player HP mods on Nexus —
350HP Mod,1000HP Mod,HP PLUS, etc.). Installing two silently means only one wins.The extension hooks into
profile-did-changeandmods-enabledevents and shows a Vortex warning notification naming the specific conflicting mods.The detection logic is split into two pure modules with no Vortex API dependency, making them straightforward to extend or unit test:
src/variantGroups.js— curated list of exclusive variant groups (intra-mod and cross-mod)src/conflictDetector.js— statelessdetectConflicts(mods, groups)functionNotes
assets/gameart.jpgstill needs to be added (binary file — happy to push separately if this PR approach is preferred)variantGroups.jscan be extended by the community as new conflicting mod families are identified