MCPcopy Index your code
hub / github.com/OpenDriver2/REDRIVER2

github.com/OpenDriver2/REDRIVER2 @8.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 8.0 ↗ · + Follow
3,442 symbols 7,493 edges 191 files 2,220 documented · 64%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

REDRIVER2 (Reverse-Engineered Driver 2)

Build status (Master)

Windows

Web Browser

Playstation

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

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

Core symbols most depended-on inside this repo

ttUSHORT
called by 102
src_rebuild/utils/stb_truetype.h
PrintString
called by 65
src_rebuild/Game/C/pres.c
Debug_AddLineOfs
called by 56
src_rebuild/utils/DebugOverlay.cpp
AddEnvSnd
called by 54
src_rebuild/Game/C/gamesnd.c
Random2
called by 52
src_rebuild/Game/C/convert.c
GetTextureDetails
called by 49
src_rebuild/Game/C/texture.c
MapHeight
called by 48
src_rebuild/Game/C/dr2roads.c
SetTextColour
called by 42
src_rebuild/Game/C/pres.c

Shape

Function 2,575
Class 733
Enum 71
Method 63

Languages

C++62%
C38%
TypeScript1%

Modules by API surface

symbols/spanish_dump.h1,666 symbols
src_rebuild/utils/stb_truetype.h151 symbols
src_rebuild/Game/dr2types.h106 symbols
src_rebuild/Game/C/xmplay.c69 symbols
src_rebuild/Game/C/pedest.c66 symbols
src_rebuild/Game/C/debris.c64 symbols
src_rebuild/Game/Frontend/FEmain.c63 symbols
src_rebuild/Game/C/spool.c51 symbols
src_rebuild/Game/C/gamesnd.c48 symbols
src_rebuild/Game/C/sound.c45 symbols
src_rebuild/Game/C/mission.c43 symbols
src_rebuild/Game/C/event.c43 symbols

For agents

$ claude mcp add REDRIVER2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact