Skip to content

OZORDI/LibertyRecomp

 
 

Repository files navigation

Liberty Recompiled

GTA IV Xbox 360 Static Recompilation Project


Caution

This recompilation is in early development and is NOT meant for public use. This is a work-in-progress fork based on the MarathonRecomp framework.

Liberty Recompiled is an unofficial port of the Xbox 360 version of Grand Theft Auto IV created through the process of static recompilation. The port supports Windows, Linux, macOS, iOS, Android, PlayStation 4, and Nintendo Switch.

This project does not include any game assets. You must provide the files from your own legally acquired copy of the game to install or build Liberty Recompiled.

The runtime is powered by a fork of the ReXGlue SDK (our fork), which handles PowerPC → C++ recompilation and Xenos shader translation. The development of static recompilation tooling in this space was directly inspired by N64: Recompiled, which was used to create Zelda 64: Recompiled.

Table of Contents

Supported Platforms

Platform Graphics Backend Status
Windows Vulkan ✅ Supported
Linux Vulkan ✅ Supported
macOS Metal ✅ Supported
iOS Metal ✅ Supported
Android Vulkan ✅ Supported
PlayStation 4 Vulkan (OpenOrbis) ✅ Supported (homebrew/jailbreak only)
Nintendo Switch Vulkan ✅ Supported (homebrew)

See Platform Setup Guide for setup instructions for each platform.

Project Status

This project is in early development. Current progress:

Completed

  • ReXGlue SDK integration for PowerPC → C++ translation and shader conversion
  • Cross-platform build system (Windows, Linux, macOS, iOS, Android, PS4, Switch)
  • Installer wizard with ISO/folder/XContent support
  • Shader extraction pipeline (RAGE FXC → Xbox 360 → platform-native)
  • Platform-specific install directory support
  • FusionFix-compatible mod overlay system

In Progress

  • RAGE engine structure reverse engineering
  • GPU/rendering pipeline implementation
  • Game-specific patches and fixes

Completed (Previously TODO)

  • Audio system implementation (XMA decoder, SDL2 driver)
  • Save data handling (full save system with GTA IV format support)
  • Input remapping for GTA IV controls (SDL HID driver, GTA4 input patches)
  • Network/multiplayer stubs (NetDll_XNetStartup, XLive stubs)
  • Online multiplayer via GameNetworkingSockets (P2P with NAT traversal, no VPN required)
  • File system and RPF archive handling (VFS)

Installation

Platform Install Directories

Platform Install Directory
Windows %LOCALAPPDATA%\LibertyRecomp\
Linux ~/.local/share/LibertyRecomp/
macOS ~/Library/Application Support/LibertyRecomp/
iOS <Documents>/LibertyRecomp/saves/
Android Internal storage (first boot extraction)
PS4 Internal storage via OpenOrbis VFS
Switch sdmc:/LibertyRecomp/saves/

Game Files Required

You need a legal copy of GTA IV for Xbox 360. Supported formats:

  • Xbox 360 disc images (.iso)
  • Extracted game folders
  • XContent packages

See Dumping Guide for detailed extraction instructions.

Launch Arguments

Argument Description
--install Force reinstallation (useful if game files were modified)
--install-dlc Force DLC installation only
--install-check Verify file integrity

Mod Support

Liberty Recompiled includes FusionFix-compatible mod loading. Mods can override game files by placing them in overlay folders.

Quick Start

  1. Create an update/ folder next to the LibertyRecomp executable
  2. Place mod files inside, mirroring the game's folder structure
  3. Launch the game - mod files automatically override base files
LibertyRecomp/
├── game/           # Extracted game files
└── update/         # Place mods here
    └── common/
        └── data/
            └── handling.dat  # Overrides base handling.dat

Supported Overlay Locations

Priority Location Description
100 mods/update/ Highest priority
50 update/ Standard FusionFix location
40 GTAIV.EFLC.FusionFix/update/ Alternative location

See MOD_SUPPORT.md for detailed documentation.

Building

Check out the building instructions here.

Quick Start

# Clone with submodules
git clone --recurse-submodules https://github.com/OZORDI/LibertyRecomp.git
cd LibertyRecomp

# Add game files to LibertyRecompLib/private/
# - default.xex
# - xbox360.rpf

# Configure and build (select your platform preset)
cmake . --preset macos-release      # macOS
cmake . --preset windows-release    # Windows
cmake . --preset linux-release      # Linux
cmake . --preset ios-debug          # iOS (requires Xcode)
cmake . --preset android-release    # Android
cmake . --preset ps4-release        # PS4 (requires OpenOrbis)
cmake . --preset switch-release     # Switch (requires devkitPro)

cmake --build ./out/build/<preset> --target LibertyRecomp

Documentation

Document Description
Building Guide Build instructions for all platforms
Platform Setup Guide iOS, Android, PS4, and Switch setup
Dumping Guide How to extract game files from Xbox 360
Mod Support FusionFix-compatible mod loading
Installation Architecture Platform paths and install flow
Online Multiplayer Guide Setup guide for online play

Performance Comparison

Performance comparison of GTA IV running on macOS using different methods:

Method Screenshot
Crossover (Wine) Crossover Performance
Xenia (Xbox 360 Emulator) Xenia Performance
RPCS3 (PS3 Emulator) RPCS3 Performance

About

An unofficial PC port of the Xbox 360 version of Grand Theft Auto IV created through the process of static recompilation

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C 57.2%
  • C++ 39.5%
  • Makefile 1.2%
  • HLSL 0.8%
  • TypeScript 0.5%
  • CMake 0.4%
  • Other 0.4%