2019-05-28 21:33:47 +02:00
|
|
|
# REDRIVER2
|
|
|
|
|
2020-07-24 19:41:13 +02:00
|
|
|
PC (Windows):
|
|
|
|
[![Build status](https://ci.appveyor.com/api/projects/status/smxrjad2rf4fg0py/branch/master?svg=true)](https://ci.appveyor.com/project/SoapyMan/redriver2/branch/master)
|
2020-04-12 19:08:03 +02:00
|
|
|
<p align="center">
|
2020-07-24 19:41:13 +02:00
|
|
|
<a href="https://streamable.com/4p8rx5"><img src="https://i.ibb.co/qJ5PJXj/aaa.png"/><a>
|
2020-04-12 19:08:03 +02:00
|
|
|
</p>
|
2020-08-28 07:32:38 +02:00
|
|
|
|
|
|
|
PSX: pending
|
2020-04-12 19:08:03 +02:00
|
|
|
|
2020-04-28 09:20:01 +02:00
|
|
|
Project attempting to reverse-engineer PS1 game Driver 2;
|
2019-05-28 21:33:47 +02:00
|
|
|
|
2020-08-29 07:12:59 +02:00
|
|
|
Start Date: 28 March 2019
|
|
|
|
|
2020-03-27 21:47:29 +01:00
|
|
|
### Goals
|
2020-05-01 07:18:59 +02:00
|
|
|
- Rebuild all source code from assembly
|
|
|
|
- Compile native version for **PC** (and for **PSX** later)
|
2020-08-28 07:32:38 +02:00
|
|
|
- Make game playable from start to finish, all game modes should function properly
|
|
|
|
- Fix all reverse-engineering **bugs**
|
2020-04-28 09:20:01 +02:00
|
|
|
- Fix some existing critical bugs and performance issues
|
|
|
|
- ***OpenDriver2?*** rewrite code, implement various cool stuff, PC rendering and audio engine, get rid of hard-coded stuff
|
2019-05-28 21:33:47 +02:00
|
|
|
|
2020-05-01 07:18:59 +02:00
|
|
|
### How is it done?
|
|
|
|
- All information (variables, types and function names) have been obtained from debugging symbols (.SYM), driver_psx_level and DLE
|
2020-04-28 09:20:01 +02:00
|
|
|
- Ghidra project (based on Italian SYM) to deal with overlays, simple code complex branching - semi-auto decompilation
|
2020-05-01 07:18:59 +02:00
|
|
|
- IDB based on Spanish SYM when dealing with things Ghidra can't handle properly - manual decompilation (mostly GTE code)
|
2020-04-28 09:20:01 +02:00
|
|
|
|
|
|
|
### Usage
|
2020-08-28 07:32:38 +02:00
|
|
|
Assuming you have compiled the most recent code or got artifacts from Appveyor.
|
|
|
|
Copy DRIVER2 folder from your **game CD** to location where compiled EXE is located.
|
2020-03-27 21:47:29 +01:00
|
|
|
|
|
|
|
### Credits
|
|
|
|
- Soapy - lead programmer
|
2020-08-21 17:47:19 +02:00
|
|
|
- Fireboyd78 - code refactoring and improvements
|
|
|
|
- Krishty, someone972 - formats decoding
|
2020-08-28 07:32:38 +02:00
|
|
|
- Gh0stBlade - API-level PSY-Q libraries reimplementation (HLE PSX Emulator) [(link)](https://github.com/tomb5/tomb5)
|
|
|
|
- Ben Lincoln - [This Dust Remembers What It Once Was](https://www.beneaththewaves.net/Software/This_Dust_Remembers_What_It_Once_Was.html) (*TDR*)
|
|
|
|
- Stohrendorf - [Symdump](https://github.com/stohrendorf/symdump) utility
|