TimeSplitters: Future Perfect PC v0.6.1 - Stable

Requires 64-bit Windows 10/11 and your own US Xbox game files.
Extract this entire ZIP to a writable folder. Open TimeSplitters Launcher.exe.
Play.cmd opens the same launcher. Game settings changes controls and graphics
before play; resolution arrows include the primary display modes and Original.
On first launch choose your Xbox ISO or an extracted folder containing
default.xbe, pak, and xmv. Setup validates the supported executable and copies
the game files to Data. Allow at least 5 GB of free space for setup.
After setup, click Play.cmd to play. The original ISO is no longer needed.
Python/Tk and Online certificate support are bundled under Support.
No Python, Git, Visual Studio, or emulator installation is required.

WASD: move. Mouse: look. Left/right mouse: fire/aim. R: reload.
E/Space/Enter: use/confirm. Escape: pause/release mouse. Click: recapture mouse.
F1: show/hide the PC Settings menu bar (also PC Settings > Hide Menu Bar).
F2: keyboard/mouse bindings and sensitivity. F12: Debug settings.
F10: switch Classic/Enhanced textures live.
Enhanced textures: optional download in launcher settings.
Alt+Enter: fullscreen (also available under PC Settings).
Button prompts show your first assigned keyboard/mouse binding. Controller input
restores controller icons; using the keyboard/mouse switches them back.
The first controller not assigned to another player also controls player 1.
Pause before opening F2: the editor blocks input but does not pause the game.
Settings and paused Options include Display settings for render resolution.
Confirmed display choices are saved in Settings/pc-display.ini.
Optional Discord Rich Presence: enable Game settings > Discord with the Discord
desktop app running. See Support/Discord/README.txt. Fresh installs leave this disabled.

Online multiplayer: choose Online / System Link > Online in the game.
Host: Start New Match detects your public IPv4 and starts the HTTPS directory.
Forward TCP 30820 and UDP 30821 to the host PC and allow both through Windows
Firewall. Copy the invitation from the Online window and send it to friends.
Guests paste it into Invitation / lobby code and click Join by code.
Return to the game: host creates a match, guests select it and Ready, host Go.
Guests do not need port forwarding. Hosting behind carrier-grade NAT requires
a reachable player to host instead. The game does not configure your router.
Real internet connections and full-match stability remain experimental.
Online preferences and hosting certificates are stored under Settings.

Settings: Settings/pc-controls.json. Saves: Saves. Diagnostics: Logs.
Keep Data, Settings, Saves, and Textures when upgrading. Extract upgrades to a new folder
and copy those four folders over. Do not overwrite your settings with defaults.

This is an experimental native recompilation, not the original source code.
Startup and short first-mission gameplay have been checked; a full campaign
playthrough has not. Expect compatibility issues. Report the steps to reproduce
and relevant Logs at https://github.com/TheDoffman/timesplitters-future-perfect-pc/issues

Game data, the ISO, saves, and personal settings are not included in this ZIP.
Supported default.xbe SHA-256:
3cfd001a84fc3e08175d6c4b2e42ebf49577a089b5d0bd87ac724f61a41816bc

Source and build instructions:
https://github.com/TheDoffman/timesplitters-future-perfect-pc
Runtime source: https://github.com/nemonicicon/ts3FPrecomp/tree/d90c92988a9f99d0580d2ca3f7efd6ec3a7b7845
SDL source: https://github.com/libsdl-org/SDL/tree/fa2c02bb6e21974a89ea9824bc53c9932abe5f9c
FFmpeg 8.1 shared LGPL build: https://github.com/BtbN/FFmpeg-Builds
FFmpeg source: https://github.com/FFmpeg/FFmpeg/tree/n8.1
Third-party notices are in Licenses. Microsoft Visual C++ runtime is bundled.
