8BitDo Ultimate 2C Wireless Controller
Hall-effect sticks and analog triggers with low-latency 2.4G dongle and Bluetooth, auto-detected in SDL_GameControllerDB and XInput for New Marais aiming.
bhuiyah/infamous2-recomp (v0.1.41) statically recompiles North American BCUS98125 (and beta European BCES01143 / BCES01144) copies of inFAMOUS 2 into a native Windows 10/11 Direct3D 12 executable in roughly four minutes, complete with sub-second .p3ss save states and Hor+ ultrawide.

Extract inFamous2Recomp-v0.1.41-windows.zip to a short ASCII path like C:\Games\inFamous2Recomp. Ensure RPCS3 has Sony PS3 system software 4.92 or newer installed before decrypting EBOOT.BIN -> EBOOT.elf and libsre.sprx -> libsre.prx (4.80 libsre fails).
:: Headless setup, compilation, and launch for RecompLauncher or batch scripts:
start /wait inFamous2Launcher.exe --prepare --disc D:\PS3\BCUS98125 --update D:\RPCS3\dev_hdd0\game\BCUS98125 --libsre D:\RPCS3
start /wait inFamous2Launcher.exe --build --yes
start /wait inFamous2Launcher.exe --play
| Exit Code | Meaning | Diagnostic Resolution |
|---|---|---|
0 | Completed | Requested --prepare, --build, or --play steps succeeded. |
1 | Bad command line | Unrecognized switch or malformed argument syntax. |
2 | Game files missing/wrong | Title ID mismatch, unpatched update, encrypted EBOOT.elf, or 4.80 libsre.prx. |
3 | Staging game\ failed | Filesystem link/copy error when populating game\ from your disc and update. |
4 | Build tools missing | Missing Git Bash, Python 3.10+, CMake 3.20+, Ninja, VS2022 C++, or LLVM 19+ (use GUI winget button). |
5 | Toolkit consent required | First build needs --yes on CLI to clone MIT sp00nznet/ps3recomp (~15 MB). |
6 | Build step failed/stopped | Compiler or lifter error; inspect logs\launcher-<time>.log and press Retry. |
7 | Cannot start game | Executable not built yet, sources out of date, or infamous2.exe is already running. |
8 | Unusable directory path | Folder path exceeds 150 characters (hits Windows 260-char build depth) or uses non-codepage letters. |
Save states live in savestates\BCUS98125\ alongside standard PS3 autosaves, letting you experiment mid-combat or mid-cutscene without touching campaign save slots.
| Save State Feature | Shortcut / Command | Runtime Mechanics |
|---|---|---|
| Quick Save / Quick Load | F5 / F9 (or Save / Load -> Quick) | Freezes threads at safe point for 60-120 ms, compresses RAM via XPRESS Huffman (~200 MB quick.p3ss), restores in ~0.3 s. |
| 10 Named Mission Slots | Ctrl+F1..F10 (save) / Ctrl+Shift+F1..F10 (load) | Writes slot01.p3ss..slot10.p3ss + 320px PNG + .bak backup, labeled with timestamp, mission name, and play time. |
| Two-Way Undo Last Load | Ctrl+Shift+Z (Load -> Undo Last Load) | Snapshots running memory into undo.p3ss (~240 MB) right before loading; pressing Undo twice swaps between the two moments. |
| 0.7s Direct State Boot | tools\run.ps1 -LoadState 3 (or SS_LOAD) | Streams slot file during boot and enters live gameplay in ~0.7 s compared to ~27 s for a normal title-screen checkpoint load. |
By default, aspect = auto in config\display.ini detects any monitor wider than 16:9 (including 64:27 on 2560x1080, 43:18 on 3440x1440, 21:9, and 32:9 on 5120x1440) and expands horizontal view without cropping vertical height. Setting hud = wide anchors Cole's energy meter and minimap to the outer screen corners (or set hud = 16:9 to center them), while lod = 1 preserves 16:9 object detail distances so cars and props never cull early.
North American BCUS98125 discs ship European voice and subtitle data on disc even though a US PS3 hides them. Adding language_edition = europe under [system] in config\options.ini (or setting IF2_LANGUAGE_EDITION=europe) exposes English (UK), French, Italian, German, Spanish, Dutch, Polish, Portuguese, and Russian in PC Settings -> System -> Language while keeping your saves in standard US BCUS98125 format.
Pre-configured for bhuiyah/infamous2-recomp: switch between save-state CLI flags, ultrawide overrides, and gamepad deduplication.
# SamiEnazi/infamous2-port (Vulkan v0.5.7)
# Settings Path: %APPDATA%\inFAMOUS2-port\settings.ini (or portable.txt in port root)
Disc / Edition: BCUS98125 + Update 1.04
Saves Directory: <port>\game\gamedata\dev_hdd0\home\00000001\savedata\
Trophies JSON: <port>\game\gamedata\trophies\NPWR01730.json
RPCS3 Trophies: <port>\game\gamedata\dev_hdd0\home\00000001\trophy\NPWR01730_00\TROPUSR.DAT
Mods Directory: <port>\mods\<mod_name>\mod.json
# settings.ini (Desktop Vulkan 1080p / 1440p / 4K)
Internal Resolution: 1080p / 1440p / 4K (F2 -> Graphics)
Soft Shadows & AO: Full-Res SSAO + HD Fire/Smoke (F3 compares PS3)
PS3_TROPHY_RPCS3_DIR=C:\Emulators\RPCS3
# Copy existing RPCS3 inFAMOUS 2 save folders into SamiEnazi port:
$rpcs3 = 'C:\Emulators\RPCS3\dev_hdd0\home\00000001\savedata'
$port = 'C:\Games\inFAMOUS2\game\gamedata\dev_hdd0\home\00000001\savedata'
Copy-Item "$rpcs3\BCUS98125*" -Destination $port -Recurse -Force
# Sync earned trophies back into RPCS3 & Playnite Achievements:
Add-Content "$env:APPDATA\inFAMOUS2-port\settings.ini" 'PS3_TROPHY_RPCS3_DIR=C:\Emulators\RPCS3'
SamiEnazi backs up saves before every launch and writes TROPUSR.DAT.port-backup once before syncing NPWR01730 trophies into your RPCS3 folder.
All four recompilation ports support hot-plugged USB and Bluetooth gamepads, dynamic PlayStation or Xbox button prompts, and virtual-pad deduplication when Steam Input or DS4Windows is active.
Hall-effect sticks and analog triggers with low-latency 2.4G dongle and Bluetooth, auto-detected in SDL_GameControllerDB and XInput for New Marais aiming.
Drift-free Hall sensors, swappable face layout, and Switch/XInput modes supporting six-axis motion sensors and hotplug in bhuiyah D3D12 and SamiEnazi Vulkan.
Symmetrical PlayStation-style dual sticks matching DualShock 3 thumb placement, plus rear paddles ideal for Static Thrusters hovering and Kinetic Pulse.
TMR electromagnetic sticks and 1000 Hz polling rate built for 120+ FPS rooftop traversal across Windows 11, SteamOS Linux, and Apple Silicon macOS.
Affiliate disclosure: As an Amazon Associate, infamous2recomp.wiki earns from qualifying purchases at no added cost to you.
Cross-build .p3ss safety, EU pattern resolution, and F1 overlay controls.
Every rebuild creates a new binary layout. Before stopping the running game, ss_file.c inspects the 4 KB .p3ss header: if memory structures and SPU programs still match, the slot loads with an (older build) notice; if layout or SPU code changed, the menu safely greys out that slot with the exact reason while your normal PS3 campaign saves continue working.
Instead of hardcoding US memory addresses, tools/if2_resolve.py scans your European EBOOT by instruction pattern (config/if2_sigs.json) and writes analysis/resolve_report.txt. Any hook whose address is missing disables itself cleanly so the game still boots and plays; use Report a problem in v0.1.40+ to export an anonymized logs/eu-report-
Press F1 on the keyboard, press the PS / Guide / Home button on your controller, hold L3+R3, or open the native pause menu where PC Settings and Quit Game are injected directly into Sucker Punch's pause list.