Archive Load Priority (Disrupt Engine)
The Disrupt engine loads game data from .dat/.fat archive pairs in a
specific priority order. Higher-priority archives override lower ones for
identical file paths.
Per-Game Priorities
Decompiled from DisruptManager.Model.GameInfos.* → ArchivePriorities:
| Game | Priority 1 (highest) | 2 | 3 | 4 | 5 (lowest) |
|---|---|---|---|---|---|
| WD1 | patch1 | patch | common | worlds\windy_city\windy_city | — |
| WD2 | patch2 | patch1 | patch | common | worlds\san_francisco\san_francisco |
| WDL | patch | common | worlds\london\london | — | — |
Key Points
- No
patch2in WDL — onlypatchexists. Repackingpatchwith everything produces ~30GB result. installpackageis unused by default but can be given highest priority via the DLL hex edit (see installpackage-patch.md).- Archive format: WD1/WD2 use
Deploadformat; WDL usesFatFile(BigFile) format. - Source:
CBR.WatchDogsLegion.dll(WDL),CBR.WatchDogs*.dll(WD1/WD2),CBR.Disrupt.dll(shared packing engine).
Tool: DisruptManager
rootCBR's DisruptManager (github.com/rootCBR/DisruptManager) is a .NET WPF
app that manages mod installation. Key classes:
GameInfo.ArchivePriorities— hardcoded load order per gameCBR.WatchDogsLegion.Formats.BigFile— WDL.fatformatCBR.WatchDogs*.Formats.Depload— WD1/WD2 formatCBR.Disrupt.Packing.*— Gibbed archive engine (pack/unpack)
Does NOT implement the installpackage-over-patch trick — only packs/installs
mods into patch* archives. Planned to be open-sourced (issue #30).
Launch Parameters
| Game | EXE | Launch Params |
|---|---|---|
| WD1 | Watch_Dogs | (none) |
| WD2 | WatchDogs2 | -eac_launcher |
| WDL | WatchDogsLegion | (none) |
-eac_launcher skips WD2's EasyAntiCheat check, and it costs multiplayer: with EAC live, modded files
tripped the check, so EAC-gated online play was closed to mods, and the parameter skips the check only by
disabling multiplayer, which makes it a single-player route. WD2's EAC service lapsed in 2026, so the check
no longer runs there. Community-reported, not read out of the binaries.