Normalize: Pathfinder: Wrath of the Righteous#23250
Draft
halgari wants to merge 4 commits into
Draft
Conversation
Apply normalization checklist: convert to proper TypeScript imports/exports, replace queryPath with queryArgs, remove redundant mergeMods/environment/details fields, convert gameart.jpg to WebP. Keep custom getGameVersion (reads Version.info from StreamingAssets). Integrate with game extension testing framework. 1:1 behavioral replacement with no feature changes. Also extend the test framework to support games that rely solely on Vortex's built-in basic installer (no custom registerInstaller calls) by adding a fallback installer at priority 1000, and handle requireExtension in the mock context. LAZ-298
Replace the runtime dependency on modtype-umm with self-contained installer code: a UMM tool installer (priority 20, detects UnityModManager.exe), a UMM mod installer (priority 30, detects Info.json), and a catch-all content installer (priority 80) via declareInstallers. Register healthchecks in production via context.registerHealthCheck. Revert the framework fallback installer from the first commit; keep the require* proxy fix in loadExtension.ts.
Add content-type-aware installers that route files to their correct locations: - Portraits (Small/Medium/Fulllength images) -> AppData Portraits dir - Owlcat template mods (Blueprints/Content/Scripts) -> AppData Modifications dir - UMM mods (Info.json) -> game Mods dir - UMM tool (UnityModManager.exe) -> game root Register mod types with proper getPath callbacks so Vortex deploys each content type to its correct location. Add diagnostics that verify: - Portrait mods contain portrait images after install - Portrait images are inside subdirectories (not at root) - Owlcat mods retain their Blueprints/Content/Scripts structure
…hanges - Replace \t with space in game display name - Register wotr-umm-tool mod type so UMM tools deploy to game root - Revert loadExtension.ts proxy and validation-order changes
|
This PR has conflicts. You need to rebase the PR before it can be merged. |
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
Normalize
game-pathfinderwrathoftherighteousextension per project checklist.Self-contained extension with content-type-aware installers and no runtime
dependencies on other extensions.
Changes
queryPathwithqueryArgsshorthand (Steam 1184370, GOG 1207187357)mergeMods,environment.SteamAPPId,details.steamAppIdgetGameVersion(readsVersion.infofrom StreamingAssets)gameart.jpgtogameart.webptsconfig.jsonwithstrictNullChecksandnoUncheckedIndexedAccessmodtype-umm(requireExtension+ummAddGame)Installer chain
Each content type is routed to its correct install location:
UnityModManager.exewotr-umm-toolInfo.jsonwotr-umm-mod<game>/Mods/Small/Medium/Fulllength.{png,jpg,...}wotr-portraitAppData/.../Portraits/Blueprints/Content/Scriptsdirswotr-owlcat-modAppData/.../Modifications/Diagnostics
5 healthchecks registered via
context.registerHealthCheck:wotr-mod-has-files-- installer produced at least one filewotr-umm-mod-has-info-json-- UMM mods retain Info.json after installwotr-portrait-has-images-- portrait mods contain portrait imageswotr-portrait-structure-- portrait images are inside subdirectorieswotr-owlcat-mod-structure-- Owlcat mods retain Blueprints/Content/Scripts dirsFramework change
loadExtension.tsmock context Proxy to handlerequire*methods as no-opsTest integration
@vortex/game-extension-testframeworkVerification
LAZ-298