“Need For Speed III: Hot Pursuit” is the first 3D game of my life. When I've seen the game first time, I was extremely amazed because I'd never seen 3D games before. It was in 2000. I can't count hours which I've spent in the Split Screen mode with my cousin. And the music... it's so awesome, so I'd recorded it on an audio cassette, and listened it hundreds of times.
And now, years later, I had tried to play this game. But the game refused to run on modern hardware. So, I had tried to investigate how to fix it. I had a little carried away by this. As the result I've created an impressive patch. 25000+ lines of assembly code, 150+ days of reverse-engineering and coding, 40 sheets of A4 paper were covered with writing during development, a huge list of changes...
Hometown in widescreen resolution
- Full widescreen and HD resolutions support. You can easily use resolutions like 1920×1200. Now the game supports all aspect ratios from the 5:4 to 16:9, inclusive 4:3 and 16:10. HUD will be adopted automatically for every aspect ratio.
- Improved graphics. No more cars with non-rotating wheels, better textures and models for other's cars (original game reduces size of textures even on maximum graphics settings), better graphics in the rear view, etc.
- New graphics settings: Rear View Detail (High/Medium/Low), Rear View Camera From (In Car Camera/Active Camera, it decreases the blind spot), Fog (On/Off, like in the NFS4), Wide View Angle setting (useful for the widescreen resolutions).
- Fog effect and light beams support in DirectX 6/7 (they were exclusive effects for the 3dfx Voodoo).
- Portability. All system settings are loaded from the ini file. No more registry!
- Compatibility. Most problems with modern Windows were fixed. Full support of multi-core processors. Original game can work properly only on one core. This change dramatically improves performance of the nGlide and the dgVoodoo.
- Alt+Tab support. You can safely minimize the game when nGlide or dgVoodoo driver is used.
- Built-in screenshoter. Just press Print Screen key, and a screenshot will be saved into the screenshots subdirectory in the JPG/PNG/BMP format.
- Improved keyboard support in the menu. Now it is much more consistent. You can also use the Tab and Shift+Tab to switch between elements.
- Better modding abilities. The game doesn't crash when high-poly cars are used. Also it possible to use huge textures up to 2048×2048 (original limit was 256×256).
- Optimizations. 10 times faster gameplay loading on modern systems. To skip loading animation just press any key.
- Bugfixes. More than 200 changes at all!
Before and after: cars have better textures, side mirrors don't disappear
How to install
- Copy FEDATA and GAMEDATA directories from the NFS3 CD to a new empty directory.
- Extract contents of the nfs3_modern_patch.7z (1.6MB) into that directory with replacement of files.
Find other NFS3 fans for the network games in our Telegram group chat!
If you are a server, ports 1030 and 9803 have to be accessible from the network, so you have to add the appropriate permit rule in your firewall for the nfs3.exe and configure a port forwarding properly. If you're a client, port forwarding isn't required. If you wish to find someone who wants to play NFS3 with you, join this Telegram group chat.
Sharp fonts and other elements in menus on D3D renderers, just like when Glide renderers are used.
The problem with visible black polygons (e.g. near the Old Church) on the DX7 renderer will be solved.
Movies support for the DX8 renderer.
32bpp rendering for movies. Menu will also work in 32bpp video mode and it will look better. Now it works in 16bpp.
- Simple windowed mode for the DX6/DX7/DX8 renderers. It will be possible to enable it using ini file.
- Investigation about how to add an ability to restore minimized game when it works in fullscreen mode.
- Separate “Frame Size” and “Frame Cropping” graphics settings instead of the current combined one.
- Rewriting of the code which uses the mouse cursor in the exclusive mode. The game will use the default system behavior of the mouse cursor. It will solve many small problems with the mouse cursor in this game. For example, your cursor will be able to leave the window of the game (when it works in a window) without pressing any keys. Also it will solve problems with mouse lagging on some computers.
- Solving of the problems with loading of ghost and replay files from other players (when the other player has a little bit different set of cars in his game).
- An optional ability to change structure of the game directories using the ini file. It may be useful for modding. It will be more flexible than the install.win from the original versions. For example, you will be able to move all save files to some separate directory (e.g. "savedata").
- An optional ability to load a thrash driver from the root directory, as it was in the original version of the game.
These features are planned for the v1.6.1, v1.6.2 and v1.6.3. A beta version is here.
Yeah, it's a known issue, the game requires 64 FPS to be smooth. I'm glad that Adaptive Sync is becoming popular these days because it is a great way of fixing this issue in all old NFS games. I'm not sure if NFS3 is compatible with Adaptive Sync in current state, but I want to make sure that it works properly when I buy such monitor in the future.
I have a Samsung SyncMaster P2770, its refresh rate is a max of 60Hz. Don't know if that helps to know at all.
Is this still in development? The current 1.6.1 version seems to be from 2016.
Unfortunately, at this moment the project is suspended. The latest version is v1.6.2 beta from 2017 (the link is at the end of the article). I plan to resume development one day in the future, but it won't be soon. I still have too many other things to do in the queue and very limited free time.
Hmmm... would it be possible to open source the patch so that anyone could contribute to it?
Hello, I'm trying to get this to run on the steam deck,
It works great minus controller support, i believe is cuz steam injects several controllers into the game and nfs3 only uses the first controller which it cant read
Im willing to donate some money to solve this issue
Hello VEG, what a great project! The game is working but unfrtunately it crashes after each race to a black screen without beeing able to get to the task manager. I have to reboot the computer after each race. Is there a solution for it? My specs: WIN10 64 bit, CPU: i7-9700 KF, 8Core, 32 GB RAM, GTX1660 Super.
But i really want to thank you for the great journey to 1998 when i was playing it on my first improved computer with 300 MHz and 16 MB RAM, Voodoo2. ;)
We were playing in splitscreen mode on a 14" Monitor.
@Bluelight1982 Try changing the renderer in ini under ThrashDriver or try set some other relevant settings, there is a readme file readme-patch_en.txt or alternatively you can use some GUI for that as the one I made long time ago, its on my website -> xcx.4fan.cz/setup-for-modern-packs/ (hope VEG dont mind the link :) )
I don't have a steamdeck but I Do run Arch linux and play games using Steam Proton. I have the same problem with controls. Install a linux program called antimicrox from the AUR. It allows custom controller key mapping. You can then map the Keyboard controls to your controller. Hopefully works with Steam deck controller. I use it with xbox one, Xbox 360, old Logitech direct input, newer Logitech xinput and ps3 controllers and it works great with all. If you don't know about the AUR ( Arch User Repository) do some quick research. You need an AUR helper like yay installed to use it. Good luck.
First of all, thanks so much for such a huge effort. Much appreciated it. I do understand that your patch was made for modern OSes like Windows 10, but is it working on Windows 98 as well (no emulation - real hardware)?
Andreas, it should work on Windows 98, you just need to select a compatible renderer in the nfs3.ini (e.g. dx6).
Hello Veg! I am back again (was on here around a year ago I believe) I have since changed computers, and am trying to get the game on my new computer... I am however, having an error pop up, reading as follows:
savefileadr - OPEN FAILED FOR FILE',\fedata\config\config.dat
(The game crashes whenever I try and run a race, and an "abort message" popup shows up with that message. Any thoughts?
(Note: this is a copied game folder from another computer, compressed into a ZIP file via flashdrive, and decompressed on my new computer)
Jathon, make folder like C:\Games\NFS3 or any non UAC folder and copy the game there, it seems it cant write in the folder you extracted your copy of NFS3 in
Keiiko, Thanks! I will try this!
Keiiko, Unfortunately that did not seem to fix it
Jathon, check if the file is present, if yes backup it, then replace the file with the file provided on CD if there is one otherwise, delete it. If that won't help, try this place https://discordservers.com/server/277827320381702144
Hi VEG, hope you are well. Quick question I play Need For Speed III Hot Pursuit with your modern patch, using the beta 1.6.2 version. I use 'nGlide' as my driver and play at a 4K (3840x2160) resolution. The game runs fine, however I have weird black lines running in the menu's of the game. No matter what resolution I choose, the black lines stay. If I change renders, for example DX8, I don't have the lines but the menu resolution sticks at 640x480. Any idea how to fix this? Let me know!
Menu of the game is designed for 640x480 only. It doesn't support other resolutions. My patch doesn't try to fix it because all the menu images are designed for 640x480 only.
Jathon, right click the Need for Speed folder and in the properties uncheck read-only and select folders, subfolders and files
Bluelight1982, just changing the nfs3.ini, trashdriver line from nglide to dgvoodoo (first, copy the contents of dgvoodoo folder to nfs3 mais folder) and configure it with the exe.
Races will not crash anymore after finish.
Dear Evgeny, thank you so much for your work! This game is one of the first PC games I ever played. I'm glad I can play it again on my modern computer thanks to your patch.
Hey Evgeny, you did a fantastic job, I'm happy I can finally play NFS3 on my modern laptop thanks to your patch! It also runs on my retro PC with Windows 98, which is nice since it added fog, which was previously unavailable on my configuration.
Speaking of Windows 98 and NFS3, I have a problem. This problem is NOT related to your patch, since it happened even when my retro PC was brand new in the early 2000s. Basically, after a few seconds/minutes of playing, the keyboard controls go crazy and refuse to take any input: the game keeps going, but the keys do nothing, the car is stuck to the last input received (accelerate, steer, horn, or whatever) and stays that way for 5-10 seconds (sometimes more), after which it goes back to normal for some time, then the problem happens again at random intervals. When the controls are stuck, the ESC key doesn't work either, but if I move the mouse, it seems to recover much faster, almost instantly. I remember that when I played with a joypad instead of the keyboard the problem didn't arise at all, but I no longer have a working joypad for my retro PC. Also, this problem with the controls does not occur in software mode, only with D3D. So i figured out it has to be related to the 3D driver. I hoped that your modern patch could solve this long-standing problem with NFS3 thanks to its wide range of supported drivers, but the only one that seems to be immune to the keyboard issue is DX7, which I don't like because of the lowered frame rate and some weird color effects it produces, hence I kept using DX5 (of course on my modern laptop the game runs perfectly with Nglide and this keyboard problem doesn't exist at all). Over the years I have adopted a clumsy work-around in order to play NFS3 with the keyboard on my retro PC, in fact I discovered that the frequency of this problem is greatly reduced if I run one or more DOS programs in the background, but it isn't completely eliminated, it still happens every few races. So, did you ever hear of this weird keyboard problem on Windows 98? Apart from the guys who programmed NFS3, you seem to be the most qualified person to answer my question.
These are the specs of my retro PC:
Pentium 4 @ 1.8 GHz (256 Mb)
Nvidia GeForce2 MX (64 Mb)
Many thanks for your attention, warm greetings from Italy! :)
Andrea Rosa, unfortunately, I don't have any idea what could be the reason of your issue, and I never heard about anything like that. Maybe some input device generates too many events? I heard that some people have issues with mouse input when mouse is too high frequency and sends updates too often, but keyboard input was fine in that case.
As far as I remember, DX5 renderer shouldn't support fog effect, you need at least DX6 for it. What issues with DX7 you observe, could you please show screenshots for comparison?
Sorry, I got confused. I did not mean the DX5 provided with your patch (which of course doesn't support fog), I actually meant the DLL I already had in my folder. Incidentally, that isn't even the original D3da.dll which came with the game, it's another one that I found some years ago on a web page (link below), in the hope that it could fix the keyboard problem (it didn't). According to the website, this DLL comes from the demo version of NFS HS, and it turned out to support the fog effect. So, when I got your patch two months ago or so, I simply renamed it as Dx5a.dll and placed it into your DX5 folder.
All of the following screenshots are in 16bit mode, I don't use 32bit because it has jerky scrolling.
This is the DLL I'm currently using. The sky has a smooth gradient (despite being 16bit) and the water effect has a natural white color.
DX7 renderer. The sky has color bands, the water effect has a greenish color (not very evident in this picture, on darker asphalt the green tint is much more noticeable). Snow effects produce the same green color.
Again, DX7. You can see the green tint in the sun rays.
As I said, DX7 would be the ideal solution for me, since it seems to be immune to the keyboard problem (I tried DX5, DX6 and DX8, to no avail). I could live with the downgraded sky in DX7, but I really don't like those greenish effects. That's why I'm still using the DLL I already had. As I said, if I run a DOS program in the background, the problem is greatly reduced and I'm able to play the game: sometimes I can play an entire tournament without experiencing it, without such workaround the keyboard goes crazy every few minutes. All of this is very puzzling, isn't it?
Link to the page where I found the renderer from the demo version of NFS HS:
Link to an old forum where another guy experienced the same problem:
NFS HS demo used DirectX 6, and exactly this version is included in the Modern Patch as DX6. It is mentioned in the readme file. I also patched it to fix some issues (like blurry text in menu). So, it makes sense to use the patched DX6 instead. It should be Windows 98 compatible.
This is interesting, I'll take a note. Do you observe anything like this on modern OS?
No, on my Win10 laptop the water and snow effects are white, both with Nglide and DX7.
That's strange, on my Win98 system DX6 behaves exactly like DX7, so the sky has less colors and some special effects are greenish (I haven't tried it enough, but I guess it might be immune to the keyboard problem too, just like DX7). Remember that the DLL I use is from the demo version of NFS HS, not the final game.
Andrea Rosa, what version of Modern Patch are you using? I updated DX6 a few times, we can try to find out what change causes this for you by testing some older versions.
Patch version is 1.6.1, last updated on October 28, 2016
Andrea Rosa, you can try renderers from different versions of the patch that you can find here: https://veg.by/files/nfs3/. You can use renderers (like DX6) from older patches with newer version of the game patch. Also there is thrash.7z with a huge collection of D3D renderers from different EA games that used the same API and many of them are compatible with NFS3.
I'd like to know how DX6 from different versions of the Modern Patch behaves on your system. And if you are ready to experiment too much, you also can try to play with original renderers from my collection, maybe you will find something that works the best for you.
Thanks man, I really appreciate that :) I will try pretty much everything. I'll let you know how the various DX6 work on my Win98 system, then I'll see if some of those alternate renderers can solve the keyboard problem.
Thanks so much for these patches! I was having issues with NFS3 and NFS4 defaulting in-game controls to Joycon 1. When I tried to rebind the controls to either a keyboard or a physical controller it would only register the input as "Joycon 3 X axis right". I couldn't find anyone with a similar issue. However with a clue from commenter, BC, I went into Device Manager on my computer, "Human Interface Devices", and realized I had a vJoy device active. Upon disabling it both games register my keyboard for bindings like normal. Hope this helps someone!
I had previously attempted unplugging any extra USB connections but the vJoy driver is always active so physically unplugging or not plugging in didn't have an affect.
This issue did not interfere with menu navigation.
vJoy driver probably from installing ps3 controller or mayflash gamecube adapter. (Wii U adapter WUP-028 is unaffected by disabling vJoy device and still works)