/rb3

A decompilation of Rock Band 3 brought to you by a bunch of clever folks.

Primary LanguageC

Rock Band 3 Build Status Code Progress Data Progress

A decompilation of Rock Band 3 (USA).

This repository does not contain any game assets or assembly whatsoever. An existing copy of the game is required.

Dependencies

Windows:

  • Install Python and add it to %PATH%.
  • Download ninja and add it to %PATH%.
    • Quick install via pip: pip install ninja
  • (Optional) Run Add-Exclusion.ps1 (Right click -> "Run with PowerShell") to avoid degraded performance from Windows Defender scans.

macOS:

  • Install ninja:
    brew install ninja
    
  • Install wine-crossover:
    brew install --cask --no-quarantine gcenx/wine/wine-crossover
    

After OS upgrades, if macOS complains about Wine Crossover.app being unverified, you can unquarantine it using:

sudo xattr -rd com.apple.quarantine '/Applications/Wine Crossover.app'

Linux:

  • Install ninja.
  • For non-x86(_64) platforms: Install wine from your package manager.
    • For x86(_64), wibo, a minimal 32-bit Windows binary wrapper, will be automatically downloaded and used.

Building

  • Clone the repository:
    git clone https://github.com/DarkRTA/rb3.git
    
  • Using Dolphin Emulator, extract your game to orig/SZBE69.
  • Configure:
    python configure.py
    
  • Build:
    ninja
    

Diffing

Once the initial build succeeds, an objdiff.json should exist in the project root.

Download the latest release from encounter/objdiff. Under project settings, set Project directory. The configuration should be loaded automatically.

Select an object from the left sidebar to begin diffing. Changes to the project will rebuild automatically: changes to source files, headers, configure.py, splits.txt or symbols.txt.