“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.
Am I the only one that gets really bad stuttering in a race? If I enter the pause menu it seems to become smooth with the camera panning around the car, but in an actual race there's a persistent stutter. I tried forcing vsync, using windowed mode with dx8, using dgvoodoo or nglide, using single processor affinity, but nothing fixed it. I'm on an 8700k with a 1050ti and windows 10.
marthox, is this stutter really very noticeable? If you record it and upload it to YouTube, will it be noticeable?
Probably, the cause of the stutter is the fact that the game works at 128Hz internally, and it can be really smooth only when refresh rate of your display is 64Hz. If it is 60Hz, the game just drops every 16th frame, and it can be noticeable for some people who are used to really smooth 60FPS experience.
The only thing I can do here is to change internal clock rate to 120Hz, but it will make the whole game 6.25% slower. It's not acceptable because it affects gameplay.
So, the only option for you is using something like G-Sync, if your display supports this feature. It this case, the game will render all 64 frames every second, and refresh rate will be exactly 64Hz.
Yes that's what it looks like. A regular stutter due to mismatched refresh rates. That's too bad.
@VEG Ah, I thought it was something similar to ROM modifying using dissasemblies like in sonic retro, instead of combining ASM and hex. So, I assume that every modified code would be at the end of the file otherwise it would break all offsets, then I can't think how to make the game read that code. I think that I will just make as if I hadn't say nothing. XD A 6 gear Aventador must be a thing.
@marthox Also, you could try to set your monitor to 64Hz by creating a custom resolution. Keep in mind that this is something that in general it is not recomended by any manufacturer to do as it exist the risk of ruining your screen (it can be higher or lower to practically none). My screen won't do a thing beyond 60Hz as is a quite cheap and old LCD screen, but more modern screens have not much problem on reaching 70Hz.
As side note, with my old CRT screen I had the game running at 144Hz
nGlide 2.00 and dgVoodoo2 2.55 released. Do you add this in the final patch? When can we expect the next one?
Please continue the project. Thanks!
Hey VEG, thanks for this great patch and your efforts that you've put into it!
Need For Speed III is one of my favourite games, and I'm glad that it continues to be playable on modern OSes and with widescreen support, multi-core support, bug fixes, etc.
I hope you're able to resume working on your NFS projects at some point. This stuff is awesome.
Guys, thank you for all your feedback. One day I'll be back. I always return to my old projects :)
VEG, thank you for bring this game back to life. It is also one of my very first 3D video games I have played and it has stayed as my favorite racing game of all time. Everything looks incredibly sharp!
Awesome. Just awesome. Thank you so much for giving me a part of my childhood back to the present!
Just found this and think what you've done is amazing. I now have NFS3 running on my Surface 3 (non-pro) tablet, fullspeed, at 1920x1280 with proper aspect ratio correction for the tablet's 3:2 ratio. Truly fantastic.
I've had a couple random crashes specifically in the Summit course during daylight with weather enabled, but other than that, everything has been flawless and I'm very grateful.
Thank you for your work.
I want to confirm that indeed playing the game @64Hz, everything is buttery smooth. Weird choise from the devs.
So anybody sensible to smooth framerate, just play the game @multiple of 64 HZ, making custom resolutions.
winningrun88, I believe that the developers just didn't think that the game will be able to work smoother than 24-30 FPS in the future, and powers of two like "64" or "128" are considered really beautiful by programmers, so they decided to use one of these =)
The game worked for a few days and now it suddenly doesnt. I click RACE and just get a black screen. I have to CTRL ALT DEL and kill the process from the manager. I haven't done any changes to my system either or messed with any drivers. I tried deleting the entire folder and extracting again. I even tried using the original files from my old NFS3 CD.
Nothing works :(
Oh, I just noticed I left RivaTuner Satistics server running cause I used it for framerate limiting on another game. Everything is fine without it running. Weird.
Hey uh, thanks for making the modern patch. I have found a flaw that the menu doesn't go widescreen as in-race should be. Any fixes?
PsiSnyder10, menu cant be resized as it is designed to by 640x480 only so it isnt a flaw. you can stretch that if your graphic card supports stretching. Ingame resolution is dependant to thrash driver and its capabilities so it can go FHD and widescreen (thanks to veg ;) ). Hope that would explain to you why it is like that
PsiSnyder10, 640×480 is hardcoded for the menu. All the graphics of the menu is for 640×480, so widescreen support can't be added here by a mere patch, it requires to redraw all the images and to rewrite a lot of code. I believe that it isn't worth it. Gameplay is the only thing which really matters, and it works in widescreen resolutions perfectly.
That's understandable. Thanks.
Creating a custom 64 Hz resolution doesnt help since the game doesnt actually switch to it. it uses 60 Hz. is there a borderless windowed option somewhere?
I read that there's also a "NextGen Patch" for this game which adds all of the official EA downloadable cars like a Lister Storm, a new Ferrari, a new Jaguar etc. Can you add the content also in your patch?
Der Quatschkopp, these cars are included into the NFS3 Modern Bundle.
Thanks, VEG. Unfortunately torrent downloads are not for me. Can you please upload it to zippyshare to get a direct download link?
daonayt, regarding custom res @64Hz
if you use the DX8 renderer it works if you start the game after you first set your desktop to that custom resolution
same with nglide, you have to specify in the ini file "to use the refresh of desktop"
remember that the menus are rendered differently at a different refresh compared to when you actually play, which will be at the correct 64Hz custom res you set your desktop
@VEG do you know anything about nfs2 or nfs5, netheir of them have a stable fps, or maybe it is because they don't have a modern exe perhaps
just wanted to confirm that nfs2SE, like nfs3 and nfs4, runs the smoothest @64HZ or multiple
I installed the game and installed the 1.6.1 update and I got an error that said, "cannot initiate thrash driver" Does anyone know how to fix this?
Hayden, try to use another thrash driver in the nfs3.ini. You can find list of available options in the readme file. Also please check if the drivers subdirectory is not empty.
Thanks so much for this! But, I have crashing issues randomly. I am using Windows ME on a Celeron 466 with 96MB RAM and a Geforce 3 ti200 AGP card. I have the unofficial cumulative update for Windows ME installed as well. A text file shows up int he directory that says
EXCEPTION_ACCESS_VIOLATION: read attempted @0xFFFFFFFF
CS=00000177 DS=0000017F ES=0000017F FS=00002A2F GS=00000000
EDI=CE7214C0 ESI=CE641B00 EAX=10005000 EBX=00000009 ECX=CE720140 EDX=00000001
Eip=B01D942E Ebp=00000001 Esp=00C8F094 SS=0000017F
I have installed DirectX 9.0c, DirectX 7.0, and DirectX 6.0. I am using foreware driver version 81.98 and the card is in a AGP 2X slot. Still waiting on my 256MB of RAM to see if that helps. When this happens, the screen either freezes right where it's at, sometimes even in main menu, or goes black. Can't seem to CTRL+ALT+DEL my way out of it. Have to do a hard shutdown via power button.
I also have an Xbox 360 controller plugged into USB using a working driver found online. It may be worth noting this is an HP Pavilion 6475Z with an OEM version Asus MEB-VM motherboard usin I think the 440bx chipset
Chris, which thrash driver are you using? Don't even try to use nGlide on Windows Me. Use voodoo2 for 3dfx Voodoo GPU's, or DX6/DX7 for others. They should work on this OS properly (in theory).
I set the INI file up to use both DX6 and DX7. I type only "DX7" or "DX6" (without quotes of course in place of nglide. I am guessing this is some type of protected memory error or something. I tried extracting the patch to the installed game and then just followed the guide in a clean folder and same result. I am about to try your pre-patched version and see what happens :) I have more capable computers, but I like playing on maxed out and more period correct hardware. I am a geek..... lol
Used DirectX Eradicator to roll back to DirectX 7.1 and still freezes :(
1. Try to select lower graphics settings also (if you use "High" settings, try to switch to "Medium") and check if it helps.
2. Try to use unpatched version of the game to check if the issue is reproducible on the original version of the game.
I'll try unpatched. On the modded version changing graphics settings has no effect. It will randomly freeze at default settings either in menu or in race...whatever it feels like lol.
Well, does it even on the bone stock version. Is anyone playing this with a Windows 9x build? Even the stock version? I am curious which Nvidia Forceware drivers you may be using if so. I ordered a Radeon 7500 card just to see if it plays better with ATI cards.
Chris, it might be because of Win ME or its drivers
Hey guys, happy new year ;)
I have bad experience with Nvidia drivers from that time period. When using the 81.98 on Win98SE, it is a common problem that display driver cannot be closed on shutdown, locking up the OS - thats how bad they are :)
On my Win98 Voodoo rig the Modern Patch works fine, using glide mode (stock game too ofc). But maybe not only focus on the graphics accelerator. Complete freezes are not neccessarily related to graphics adapter... can be faulty RAM or other faulty components, add-in cards, sound cards etc.
So did you run other games on this machine and did they work flawlessly?
VEG, allow me to congratulate you on this excellent patch. It must have been about 16 years ever since I played NFSIII and being able to experience it in full HD glory is just majestic. The fact that you've been cobbling this thing together with assembly code is just crazy.
For what it's worth; just know that you've provided me with countless hours of nostalgia and fun!
Thank you SO MUCH for this pack! Such a huge effort indeed, much appreciated!
Love from Middle East,
I really appreciate your work as NFS3 was one of the games I played the most back in the day. So I tried your patch with my original CD. But when I want to start NFS3 (the patched exe) it says "The required files are not found or they were corrupted. Please copy ...". Do you know what could have gone wrong? I'm using Windows 10 pro 64bit with an i7 4770 and a RX580.
Ohrensessel, probably, you've done something wrong. Try again to copy FeData and GameData into a new empty directory, and then to extract contents of the archive with the patch in the same directory (rewriting files with the same names).
sorry, I tried again. Copied everything in an empty folder named NFS3, added the patch and extracted it. Overwrote all files. I now have the FEDATA and GAMEDATA folders along with a drivers folder, nfs3.exe, nfs3.ini and 2 readme files in that folder. Could it be due to the fact that I have a german version (when installing normally I get the option to use german, english or french language)? I already tried it with PCem and there it worked, so the disc should be ok.
Ohrensessel, oh, probably your CD doesn't have required files for English. Try to change Language to "
german" in the
nfs3.ini. You can find the list of available languages in the
ah, now it seems to work. Many thanks :)
Any chance to continue the development of the patches some day? Have you time to work at the weekend on it?
nGlide 2.0 and dgVoodoo 2.55.3 released.
Actually, sometimes I work on my hobby projects on weekends. It is just not as visible as it was years ago when I was unemployed.
Unfortunately, I need to quit my job to work closely on it. This project is too interesting, and when I work on it closely, it consumes all my attention and time. I need at least a month or two without distractions to be productive. It's not like turning a switch on or off. I need some time to get into the project, and when I have just a day or two off, it is not enough. I need a few days for getting into, then a month or two (without any gaps) of pure coding, and then I'm worn out and need a rest before another "sprint".
I plan to spend significant amount of time on these projects in the future, but there is no schedule for it.
While playing Need for Speed III: Hot Pursuit with your Modern Patch installed, I noticed that there are some graphical corruptions when set at a resolution beyond 1920x1080 High Definition (1080p), and I used the dgVoodoo configuration of the Modern Patch to get a better quality picture on my 4K HDTV and my 4K Monitor of my Custom Built High Performance Windows 10 PC! (Both the processor and the graphics card I have on my mentioned PC are AMD-powered, and are recent enough!) I don't know why, but the rest of the game works as normal without any issues whatsoever!
It's nice to see Need for Speed III: Hot Pursuit brought back to life for modern computers! My only criticism with the latest version as of March 2019 is the graphical glitching on anything above the 1080P HD resolution, but otherwise, it's excellent! Thanks for sharing!
Can you make a modified PS1 rom version with improviments like this?
Nightwolf, in theory, everything is possible. But PS1 hardware is very limited. So, it will require to modify both an emulator (to introduce emulation of some non-existent hardware with extended capabilities) and the game (to use these extended capabilities). It is enormous amount of work, and probably it is easier just to rewrite the game from scratch =)
I wanted only simple modifications like: more cars (not totally all that has in the PC version, only some), choose between police in hot pursuit mode, ferraris can be used in hot pursuit mode (same as PC version), cockpit view (nfs 2 have this camera and I hated it because they no longer use it), more color choices on cars and sprites of snow, dirt and dry leaves that leave the tires on certain maps.
Hey VEG,I happened to stumble upon a bug in NFS4 high stakes for the police a.i.They can chase you normally on the day,but when you turn on the night mode for the track they sometimes seem to slow down to 60 mph for no reasons while chasing the suspects thus making the chases a cakewalk.I tried to amplify the police speed in NFS wizard,gave the police the acceleration and top speed tables copied from diablo sv and jag xjr15,but at random on night mode they would still defect to 60 mph time to time.I have no clue how to fix it for over a year now.maybe you can give me a solution?