You can sign up to get a daily email of our articles, see the Mailing List page.
We do often include affiliate links to earn us some pennies. See more here.

The classic Driver 2 has a new reverse engineered open source game engine

By - | Views: 24,210

Any of our readers remember Driver 2? I remember spending absolutely hours driving around in this classic PlayStation game and now maybe you can relive it or experience it for the first time.

Thanks to a developer working on an open source (MIT licensed) game engine, using a little reverse engineering magic the game has be reborn. Like a lot of open source game engine reimplementations (OpenMW, OpenRA, openXcom), it does need you to own the original game to have the data files as this is just the code that is being offered - which means hopefully any rights holders will leave it alone.

YouTube Thumbnail
YouTube videos require cookies, you must accept their cookies to view. View cookie preferences.
Accept Cookies & Show   Direct Link

Their current goals include to make the game playable from start to finish, with all game modes working as intended. Eventually, they want to rewrite it all to properly upgrade it with modern stuff. You can get it running on Linux, and the lead developer has a GitHub issue open indicating they're looking for help to sort out automatic Linux (and macOS) builds.

You can find it on GitHub.

Article taken from GamingOnLinux.com.
20 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
19 comments
Page: «2/2
  Go to:

Dunc Nov 16, 2020
Ooh, I've a lot of fond memories of this. In fact, it's one of the few 20-ish-year-old games I do have any genuine nostalgia for, because I didn't play most of the big names until much later.* It was the first game where I felt like I was really travelling the world. I'm sure the depictions of the real-world cities weren't remotely accurate, but they were closer than we'd ever seen before.

It's also worth pointing out that this is a free-roam, open-world game that came out before GTA3 (its big “thing” was that, unlike the first game, Tanner could walk around outside his car and steal other ones). A lot of people saw GTA3 as DMA/Rockstar's answer to Driver 2.

Quoting: fagnerlnI played San Francisco which is a good game, but it's boring
That's the trouble, of course: a true sequel would basically be GTA in real-world locations with more driving and no gunplay. Which doesn't sound like much fun. The two series seemed very alike back in the day, but Rockstar clearly had the more engaging formula, concentrating on the on-foot side with the cars coming second.

When Ubisoft decided to bring Driver back, to give them their due they did try to mix it up and do something different, which, yeah, made a decent enough game, but it ended up being neither very interesting or recognisably Driver.

*I took something of a sabbatical from gaming in the '90s, but when a friend of mine upgraded to the PlayStation 2, he very generously passed his PS1 to me. Since this game came out at the very tail end of that console's life I was able to play it pretty soon after release.
ronnoc Nov 16, 2020
Any Linux build up yet? I have the original disks, but the release in GH is only an .exe. Would like a native build!
whizse Nov 16, 2020
View PC info
  • Supporter
Quoting: ronnocAny Linux build up yet? I have the original disks, but the release in GH is only an .exe. Would like a native build!
I'm trying, but I doubt anyone has built it on anything but Windows? There's a an unguarded "#include "windows.h" in one place, and lot and lots of little things that seems to trip up gcc on my system but presumably works fine in VS.
Rosalie Nov 16, 2020
Quoting: whizse
Quoting: ronnocAny Linux build up yet? I have the original disks, but the release in GH is only an .exe. Would like a native build!
I'm trying, but I doubt anyone has built it on anything but Windows? There's a an unguarded "#include "windows.h" in one place, and lot and lots of little things that seems to trip up gcc on my system but presumably works fine in VS.

I fixed it, see https://github.com/OpenDriver2/REDRIVER2/pull/24

if you want to build it for yourself, execute the following:

git clone https://github.com/OpenDriver2/REDRIVER2
cd REDRIVER2
curl https://patch-diff.githubusercontent.com/raw/OpenDriver2/REDRIVER2/pull/24.patch -LO
patch -p1 < 24.patch
cd src_rebuild
premake5 gmake
make -j4


then check "Bin/Debug" for the executable
whizse Nov 16, 2020
View PC info
  • Supporter
Quoting: ronnocAny Linux build up yet? I have the original disks, but the release in GH is only an .exe. Would like a native build!


Patch to make it compile, and also amazingly link:
https://pastebin.com/iyGdgzwx

Also, it uses premake5 of all things. I mean an alpha build? Come on!

Build instructions goes like:

Install/build premake5
cd src_rebuild
premake5 gmake
make
fun stuff in bin/Debug/
whizse Nov 16, 2020
View PC info
  • Supporter
Quoting: Rosalie[snipped long post]
Dang! Beaten by 18 minutes, and a much cleaner patch too!
whizse Nov 16, 2020
View PC info
  • Supporter
Music and video clips needs to be manually converted using a Java tool called jPSXdec. Music seems to work, but videos had a couple of issues, case (insensitivity), and of course the dir separator.

Quick patch below. I assume C++ have a rich standard library with something to do proper path concatenation, but I'm too lazy to find out.

There are a lot of different ways to have fun with games!

 
diff --git a/src_rebuild/GAME/C/SYSTEM.C b/src_rebuild/GAME/C/SYSTEM.C
index 6b8710a..e3f96dd 100644
--- a/src_rebuild/GAME/C/SYSTEM.C
+++ b/src_rebuild/GAME/C/SYSTEM.C
@@ -28,7 +28,7 @@ OTTYPE* _OT2 = NULL;                          // 0xF7200
 char* _primTab1 = NULL;                        // 0xFB400
 char* _primTab2 = NULL;                        // 0x119400
 char* _replay_buffer = NULL;           // 0x1FABBC
-char gDataFolder[32] = "DRIVER2\\";
+char gDataFolder[32] = "DRIVER2/";
 
 #ifdef USE_CRT_MALLOC
 
diff --git a/src_rebuild/utils/video_source/VideoPlayer.cpp b/src_rebuild/utils/video_source/VideoPlayer.cpp
index 4fd478d..c8b598c 100644
--- a/src_rebuild/utils/video_source/VideoPlayer.cpp
+++ b/src_rebuild/utils/video_source/VideoPlayer.cpp
@@ -604,14 +604,14 @@ void DoPlayFMV(RENDER_ARG* arg, int subtitles)
                fd /= 10;
 
        char filename[250];
-       sprintf(filename, "%sFMV\\%d\\RENDER%d.STR[0].AVI", gDataFolder, fd, arg->render);
+       sprintf(filename, "%sFMV/%d/RENDER%d.STR[0].avi", gDataFolder, fd, arg->render);
 
        ReadAVI readAVI(filename);
        
        // also load subtitle file
        if (subtitles)
        {
-               sprintf(filename, "%sFMV\\%d\\RENDER%d.SBN", gDataFolder, fd, arg->render);
+               sprintf(filename, "%sFMV/%d/RENDER%d.SBN", gDataFolder, fd, arg->render);
                InitSubtitles(filename);
        }
        else
@@ -621,7 +621,7 @@ void DoPlayFMV(RENDER_ARG* arg, int subtitles)
 
        if(arg->credits)
        {
-               sprintf(filename, "%sDATA\\CREDITS.ENG", gDataFolder);
+               sprintf(filename, "%sDATA/CREDITS.ENG", gDataFolder);
                InitCredits(filename);
        }
 
GustyGhost Nov 17, 2020
Quoting: DuncOoh, I've a lot of fond memories of this. In fact, it's one of the few 20-ish-year-old games I do have any genuine nostalgia for, because I didn't play most of the big names until much later.* It was the first game where I felt like I was really travelling the world. I'm sure the depictions of the real-world cities weren't remotely accurate, but they were closer than we'd ever seen before.

My first experience with this feeling of travel sits squarely with GTA: San Andreas. The only one after that perhaps was years later with Minecraft. If only the San Andreas Multiplayer project were an engine reimplementation, I would have built and run it already.
14 Nov 22, 2020
View PC info
  • Supporter Plus
I played Driver 1-3 and was a big fan! Man, those police chases.... I would like to try this out on Linux.

A friend of mine has one of the Driver games on one of those tiny game emulator boards. It's just the demo though and it didn't run very well on the little SBC.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.