|
| 1 | +# SilentPatch for NFS2: Special Edition, NFS3: Hot Pursuit NFS4: High Stakes and NFS: Porsche Unleashed |
| 2 | + |
| 3 | +This modification addresses several numerous more or less several bugs in the classic Need for Speed games from the late 90s - starting from Need for Speed 2: Special Edition, |
| 4 | +through Need for Speed: Porsche Unleashed. Since all those games already have their established unofficial patches, I concentrated my efforts on issues either omitted by those patches, |
| 5 | +or (in the case of NFS2SE and NFS Porsche) caused by them. |
| 6 | + |
| 7 | +**Modern Patches from VEG ([NFS3](https://veg.by/en/projects/nfs3/)/[NFS4](https://veg.by/en/projects/nfs4/))** |
| 8 | +**and Verok ([NFS2SE](https://community.pcgamingwiki.com/files/file/2448-need-for-speed-ii-second-edition-patch-by-verok-verokster-105/)/[NFS Porsche](https://community.pcgamingwiki.com/files/file/2708-veroks-verokster-need-for-speed-v-porsche-unleashed-patch-v106/))** |
| 9 | +**are strongly recommended, although not mandatory. SilentPatch can work with or without them.** |
| 10 | + |
| 11 | +## Featured fixes |
| 12 | +Fixes marked with ⚙️ can be configured/toggled via the INI file. |
| 13 | + |
| 14 | +### Essential fixes: |
| 15 | +* ⚙️ Locked all (NFS3/NFS Porsche) or specific problematic threads (NFS2SE/NFS4) to one core, while allowing worker threads to use any CPU cores - combining good stability and performance. This option has to be enabled by adding `SingleProcAffinity=1` to an INI file named like the game's executable. This change is fully compatible with Modern Patches and overrides its single-core affinity solution. |
| 16 | +* (NFS2SE) Fixed a potential race condition on starting the movie decoding thread. |
| 17 | +* (NFS2SE) Fixed a bug preventing controller button mappings from working correctly with gamepads that report more than 15 buttons (such as the Xbox One controller). |
| 18 | +* (NFS2SE) Fixed the game closing when the controller disconnects during the race. |
| 19 | +* (NFS2SE, Verok's Modern Patch only) Fixed an issue where online races were displayed only on the top half of the screen as if they were split-screen races. |
| 20 | +* (NFS Porsche) Fixed a startup crash due to DirectInput controller enumeration being broken under specific circumstances on Windows 10 and newer. |
| 21 | +* (NFS Porsche) Fixed severe performance issues on Windows 10 and newer when rebinding controls. |
| 22 | +* (NFS Porsche, Verok's Modern Patch only) Fixed unresponsive keyboard inputs after <kbd>Alt</kbd> + <kbd>Tab</kbd> during the race. |
| 23 | +* (NFS Porsche, Verok's Modern Patch only) Fixed a severe memory leak in OpenGL1 and OpenGL3 thrash drivers occurring after every race. |
| 24 | + |
| 25 | +### Miscellaneous fixes: |
| 26 | +* <kbd>Alt</kbd> + <kbd>F4</kbd> now works. |
| 27 | +* <kbd>Num Lock</kbd>, <kbd>Caps Lock</kbd>, and <kbd>Scroll Lock</kbd> don't get forcibly disabled on game launch anymore. |
| 28 | +* (NFS2SE/NFS3/NFS4) Fixed issues with stuttery/unresponsive mouse cursor in menus when using mice with high polling rates. |
| 29 | +* (NFS2SE/NFS3/NFS4) Fixed a controller polling bug resulting in potential incompatibilities with DirectInput wrappers such as Xidi. |
| 30 | + |
| 31 | +### Enhancements: |
| 32 | +* Pasting text into text boxes now works with <kbd>Ctrl</kbd> + <kbd>V</kbd>. |
| 33 | + |
| 34 | +## Compilation requirements |
| 35 | +* [Premake5](https://premake.github.io/) and Visual Studio 2022 are required for project generation and compilation. |
| 36 | + Invoke `premake5 vs2022` in the main project directory to generate a project. |
0 commit comments