Cross-platform desktop mod manager for the PlayStation 3 versions of InFamous, InFamous 2, and InFamous: Festival of Blood running through RPCS3.
The application is built with Avalonia UI, .NET, and CommunityToolkit.Mvvm.
- Game selection for InFamous 1, InFamous 2, and InFamous: Festival of Blood.
- English and Russian interface languages.
- Native folder picker for locating the RPCS3
dev_hdd0/gamedirectory. - Validation of the expected game folders:
NPUA80480— InFamous 1;NPUA80638— InFamous 2;NPEA00322— InFamous: Festival of Blood.
- Extraction of
install1andinstall2PSARC archives into the selected game'sUSRDIRdirectory. - PSARC extraction with zlib and uncompressed-block support.
- Automatic backup of original
.psarc_sarchives after successful extraction. - Lossless extraction of individual
.xppand.xppsPACK containers:- extracts the original header, resource table, and payload;
- extracts indexed resource views and framed metadata chunks;
- detects embedded DXT1/DXT3/DXT5 textures, corrects their vertical orientation, and writes ready-to-use DDS files;
- writes a JSON manifest with offsets, sizes, types, ranges, and SHA-256 hashes;
- supports InFamous 1 XPP, InFamous 2/Festival of Blood XPPS, and empty archive stubs.
- Native
.xpp/.xppsmod-file and mod-package folder pickers. - Mod installation into the unpacked game directory:
- normalizes mod file names to lowercase with underscores;
- finds the matching original
.xppor.xppsfile; - backs up the original file before installing the mod;
- reports successful and failed operations in the UI.
- Modular mod-package installation:
- reads package metadata from
mod.jsonand choices frommodular.json; - supports
texture_patches/<archive>/<offset>_<size>_<format>_<mips>.ddslayouts; - validates DDS metadata against the original PACK texture descriptor;
- converts conventional DDS orientation to the game's texture orientation and installs DXT1/DXT3/DXT5 patches at the correct logical payload offset;
- applies multi-archive packages transactionally and records selected modules in
user-data.json; - restores all original game archives recorded in the installation history.
- reads package metadata from
Backups and user-data.json are stored beside the application executable. Backups are grouped by game ID in the backup directory.
- Rebuild
.xppand.xppsarchives from extraction manifests. - Display the list of installed mods and modified files.
- Restore individual original files.
- Better progress reporting and cancellation for long extraction operations.
- Additional validation and recovery options for incomplete installations.
- More interface languages.
- Settings for configurable RPCS3 and backup directories.
Requirements:
- .NET 10 SDK
Build the project:
dotnet buildRun the application:
dotnet runThe PSARC extraction implementation is based on the extraction approach from the local PSARC-Tool project. See THIRD_PARTY_NOTICES.md for license information.