Skip to content

Plugin for Resident Evil Requiem#235

Open
jimfcarroll wants to merge 1 commit into
ModOrganizer2:masterfrom
jimfcarroll:master
Open

Plugin for Resident Evil Requiem#235
jimfcarroll wants to merge 1 commit into
ModOrganizer2:masterfrom
jimfcarroll:master

Conversation

@jimfcarroll

Copy link
Copy Markdown
Contributor

Add Resident Evil Requiem support

Adds a game plugin for Resident Evil Requiem (RE Engine, Steam ID 3764200, re9.exe), designed as a full replacement for Fluffy Mod Manager: archives packaged for Fluffy (the standard on Nexus for RE Engine games) install directly in MO2 with no repacking or manual surgery.

How mods load - REFramework requirement

RE Engine has no native mod loading; everything goes through REFramework's built-in loaders:

  • loose files under natives/ (LooseFileLoader)
  • .pak mods in pak_mods/ (IntegrityCheckBypass_LoadPakDirectory)
  • Lua scripts / native plugins under reframework/

REFramework (dinput8.dll) must be installed physically in the game directory. The plugin implements IPluginDiagnose and shows an actionable warning (with download link and target path) when it is missing, since without it every mod silently does nothing.

Features

  • Mod data checker for Fluffy-style archives:
    • recognizes natives/, reframework/, pak_mods/ and bare .pak layouts
    • automatically unwraps (possibly nested) single-option wrapper folders
    • multi-option Fluffy packs are ambiguous by design -> routed to the manual installer as the variant picker; a re-rooted option is valid as-is (no red warning), deliberately, because neither the manual nor the BAIN installer ever applies fix()
  • Post-install normalization (onModInstalled, covers all installer paths including manual and BAIN):
    • salvages modinfo.ini into MO2's version/URL fields (never overriding values MO2 already has, e.g. from a Nexus download)
    • deletes Fluffy metadata (modinfo.ini, screenshot.*) - removes the bogus conflict flags every pair of Fluffy mods otherwise shows
    • collects paks into the mod's paks/ folder; files are never touched again
  • Virtual pak load order (IPluginFileMapper): at every launch, active mods' paks are mapped into pak_mods/ as 0001 - X.pak, 0002 - … in mod-priority order - the same numbering scheme Fluffy uses, but derived live from the mod list, purely in the VFS, with zero disk writes. Within a mod, paks order by filename, so renaming reorders them.
    • Implementation note: explicit file mappings into a directory under the game's data path don't show up in directory enumeration unless a directory mapping anchors the destination; the plugin anchors pak_mods/ with an empty folder under pluginDataPath() (cf. the overwrite routing in game_finalfantasy7remake.py).

Advantages over Fluffy Mod Manager

  • Game directory stays vanilla - everything is VFS-only, uninstall = delete the MO2 instance
  • Profiles: separate mod sets/load orders per playthrough
  • Load order follows the MO2 mod list and renumbers automatically; Fluffy requires manually arranging and re-installing
  • Nexus integration: download with manager, update checks, endorsements - mod version/URL populated even for manually downloaded Fluffy archives
  • Real conflict handling for loose natives/ files via mod priority

Tested on MO2 2.5.2 (usvfs 0.5.6.1) with the Steam release: install of single-option, multi-option and bare-pak archives, in-game verification of loose-file and pak loading via the REFramework overlay.

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.

1 participant