Driver 2 Playstation game reverse engineering effort
Go to file
2022-02-07 21:14:15 +03:00
.appveyor - attempt to fix cross-compiling on Linux 2022-01-21 21:04:42 +03:00
.flatpak Adding linux flatpak support 2021-01-17 08:18:26 -05:00
.github/ISSUE_TEMPLATE Update bug_report.md 2022-01-21 21:00:18 +03:00
data - update config.ini 2022-01-23 13:27:51 +03:00
PSXToolchain - new PSX CD XML script for Silent's mkpsxiso 2022-01-29 15:58:57 +03:00
src_rebuild - simplify ifdefs in main 2022-02-07 20:51:48 +03:00
symbols - update CONTRIBUTING 2020-08-28 11:48:56 +06:00
.gitignore - premake - change location of project generated files to make less garbage 2022-01-21 21:01:07 +03:00
.gitmodules - update .gitmodules 2022-01-21 21:04:45 +03:00
appveyor.yml - appveyor update dependencies 2022-01-21 21:37:06 +03:00
changelog.txt - add few entries to changelog 2022-01-21 21:00:15 +03:00
CONTRIBUTING.md - update READMEs 2021-05-06 14:58:02 +06:00
io.github.opendriver.redriver2.yaml Adding linux flatpak support 2021-01-17 08:18:26 -05:00
LICENSE Create LICENSE 2020-07-08 16:23:47 +06:00
README.md Update README.md 2022-01-21 21:01:08 +03:00
windows_dev_prepare.ps1 - add Windows-specific powershell script for setting up VC++ project files and dependencies 2022-02-03 11:24:12 +03:00

REDRIVER2 (Reverse-Engineered Driver 2)

Game running on Windows:

Game running in Firefox Web Browser:

Game running on Playstation (emulated)

Build status (Windows and Linux): Build status

Information

  • This is an original game - it was carefully and completely disassembled and translated from MIPS back to C (except Memory Card menu) - no emulation involved
  • Game has been significantly improved over the original Playstation version, original bugs were fixed and completed some unfinished gameplay aspects
  • It now runs on Windows, Linux and soon to be on the other platforms (including backport to Playstation) and utilizes Psy-X (Psy-Cross) (formely extended TOMB5 emulator) as a layer for porting from Playstation
  • Basic modding support - with textures and models replacement provided with OpenDriver2Tools

How is it done?

  • All information (variables, types and function names) have been obtained from debugging symbols (.SYM), driver_psx_level and DLE
  • Ghidra project (based on Italian SYM) to deal with overlays, simple code complex branching - semi-auto decompilation
  • IDB based on Spanish SYM when dealing with things Ghidra can't handle properly - manual decompilation (mostly GTE code)

History:

  • Feb 19, 2019 - created skeleton, one year long preparations
  • Mar 28, 2020 - started work on reimplementing the game, game intro running
  • Sep 19, 2020 - reimplementing game complete - game is fully playable
  • Jan 15, 2021 - refactoring complete

How to use

See Wiki/Installation Instructions

How can I contribute?

See Contributing to project page

What's next

  • OpenDriver2 project - complete rewrite with lots of new features such as new renderer and sound engine, Lua scripting, Driver 1 content support

Credits

  • SoapyMan - lead reverse engineer and programmer
  • Fireboyd78 - code refactoring and improvements
  • Krishty, someone972 - early formats decoding
  • Gh0stBlade - HLE Emulator code used as a base for Psy-Cross (link)
  • Ben Lincoln - This Dust Remembers What It Once Was (TDR)
  • Stohrendorf - Symdump utility