# Splinter Cell: Double Agent - XBE Recomp An unofficial native PC port of the original Xbox version of Splinter Cell: Double Agent via static recompilation, built into a 64 bit Windows executable. The game's x86 code is translated to C++ ahead of time, the Xbox kernel, Direct3D and DirectSound calls are implemented on Windows, and everything is drawn with Direct3D 12 and played through XAudio2. Made with the [Xbox XBE Recomp](https://github.com/TGP482/XboxXBE-Recomp) tool, created for this game originally. > [!NOTE] > This project does not include any game assets. You must provide the files from your own legally acquired copy of the game to install or build. ## Installation The latest version of [SCDA-XBERecomp](https://github.com/TGP482/SCDA-XBERecomp/releases) can be found in the Releases page. - Place your game files in the `assets` folder. This can be an ISO, or the extracted data files. - Run `SCDA.exe`. The first start compiles the game's code for your PC,this only happens once. - Recomp Settings can be adjusted in the in-game options menu while the game is running, or through the Settings overlay, which is opened with F10 by default. Recomp Settings ## Features ### Display - **Monitor** - Picks the monitor the game shows on, for Fullscreen and Borderless (and where Windowed opens). Lists every connected monitor by its Windows number and desktop resolution. - **Display Mode** - Switch between Fullscreen, Borderless and Windowed. - **Resolution** - Lists every mode your monitor reports and defaults to your desktop resolution, replacing the original 640x480 resolution. - **Render Resolution** - Renders the game at 20% to 200% of the output resolution, allowing supersampling or downscaling independent of the window size. - **Field of View** - Sets the horizontal field of view during gameplay from 45 to 140 degrees, with 75 being the game's default. Cutscenes, scopes, gadget views and lock picking keep the original. - **Max Frame Rate** - Caps the frame rate to your monitor's refresh rate or a custom value, or removes the cap entirely, replacing the Xbox's 30 FPS limiter. - **V-Sync** - Reduces screen tearing. - **HDR Output** - Enables HDR10 output on displays with Windows HDR turned on, detected automatically. Highlights extend up to the display's peak brightness. - **FPS Counter** - Displays the frame rate on screen. - **FMV Scale** - Choose between Fill, which makes the FMVs fill widescreen displays, and 4:3, which shows them in a 4:3 frame as on the original Xbox. ### Graphics - **Multisample Antialiasing (MSAA)** - Enables 2x, 4x or 8x MSAA to smooth jagged edges while preserving a sharp image. MSAA does not smooth alpha-tested edges such as fences and foliage.
Off MSAA 8x
- **Subpixel Morphological Antialiasing (SMAA)** - Enables SMAA to smooth jagged edges across the whole frame with a softer image. SMAA also smooths alpha-tested edges such as fences and foliage, and can be combined with MSAA.
Off SMAA
- **Anisotropic Filtering** - Forces the selected anisotropic filtering level on all textures.
Off Anisotropic 16x
- **Shadow Resolution** - Raises the shadow resolution from the Xbox's 512x512 (default) up to 8192x8192.
512x512 8192x8192
- **Shadow Distance** - Increases the distance at which lights and their shadows turn off by up to 8x.
Shadow Distance 1x Shadow Distance 8x
- **Shadow Filter** - Choose between SM1.1, the Xbox shadow filter (default), and SM3 Soft, the Chaos Theory PC Shader Model 3 soft shadow filter. - **Ambient Occlusion** - Adds screen space ambient occlusion, creating soft contact shadows where surfaces meet. Choose between SSAO and GTAO. ### Shader Model 3 - **Shader Model** - Choose between Shader Model 1.1, the Xbox look, and Shader Model 3.0, which enables the Chaos Theory PC style features.
Off On
- **HDR Rendering** - Enables Shader Model 3 HDR rendering. - **Tone Mapping** - Enables Shader Model 3 tone mapping. ### Input - **Mouse and Keyboard** - Full keyboard and mouse support with raw input, adjustable sensitivity, inverted look and rebindable controls. - **Controller** - Controller with SDL3 support, buttons can be rebound from the Controller page. Defaults match the Xbox layout.
Mouse and Keyboard Controller
### General - **Skip Intro** - Skips the intro logos. - **Pause On Focus Loss** - Pauses the game and its sound while the window is in the background or minimized. - **Co-op Support** - Co-op can be played online by directly connecting to a friend's IP address, over LAN, or in split-screen. - **Co-op Tick Rate** - Raises the co-op update rate, which is capped at 22 Hz in the original game, up to 142 Hz. Both players must use the same value. - **Co-op Min Input Delay** - Lowers the minimum input delay in co-op from the original 50 ms down to 0 ms. Both players must use the same value. ### Miscellaneous - **Boot Splash** - Place a `SplinterCell4Logo.png` (or `.bmp`) beside the exe to display a splash screen at launch. - **Custom Menu Cursor** - Place a `cursor.png` (or `cursor.dds`) beside the exe to replace the Windows arrow in the game's menus. ## Playing Online Co-op and Versus can be played online by connecting directly to the host's IP address. No third-party programs are needed. - Press F10 by default to open the Settings overlay. - Enter the host's IP address in **Coop Join IP** for Co-op or **Versus Join IP** for Versus. - From the Co-op or Versus menu, select LAN and join the host's session from the list. ### Hosting a Game Session As the host, you must port forward the following ports on your router so other players can connect to you: | Protocol | Port | |----------|------| | UDP | 9100 | | UDP | 1000 | | UDP | 1010 | > [!TIP] > If you're unable to port forward, such as when your connection is behind CGNAT, or would like to keep your IP address private, you can use a virtual LAN service to play together instead. ## System Requirements ### Minimum - **OS** - Windows 10 64-bit - **CPU** with 2 cores and support for SSE4.2 and POPCNT - Intel Nehalem (Intel Core 1st Generation) - AMD Bulldozer (AMD FX series) - **GPU** with support for Direct3D 12 - NVIDIA GeForce GT 630 (Kepler) - AMD Radeon HD 7750 - Intel HD Graphics 510 (Skylake) - **Memory** - 4 GB - **Storage** - 6 GB for the game files, the compiled game code, saves and shader cache ## Building ### 1. Clone the Repository Clone this repository using [Git](https://git-scm.com/). ``` git clone https://github.com/TGP482/SCDoubleAgent-XBERecomp.git ``` ### 2. Add the Required Game Files Place your extracted game data files in the `assets` folder. `default.xbe` and `sc4_adv.xbe` must be there, with the `Default`, `Media` and `adv` folders beside them. > [!NOTE] > Building does not support the ISO format, so the files must be extracted. ISOs only work for playing. ### 3. Install Dependencies Install [Visual Studio 2022](https://visualstudio.microsoft.com/downloads/) and select the following **Workloads** and **Individual components**: - Desktop development with C++ - C++ Clang tools for Windows - C++ CMake tools for Windows > [!TIP] > `build.bat` offers to install the Clang and CMake components for you if they're missing. ### 4. Build the Project - Run `build.bat`. The first build recompiles the entire game and can take 30 to 90 minutes on weaker systems. - When it finishes, run `out\build\release\SCDA.exe`.