Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Guitar Hero III: Legends of Rock Recompiled
PORTSNATIVE

Guitar Hero III: Legends of Rock Recompiled

NATIVE PORTMUSIC / RHYTHMWINDOWSBETA

Guitar Hero III: Legends of Rock Recompiled

Guitar Hero III: Legends of Rock

OriginXbox 360

TechnologyStatic recompilation (native C/C++)

Available forWindows

View official project

About the project

Guitar Hero III: Legends of Rock es un videojuego de música y el tercer título de la serie Guitar Hero. El juego fue publicado por Activision y RedOctane y es el primero de la serie en ser desarrollado por Neversoft, después de que Activision adquiriera a RedOctane y de que MTV Games comprara a Harmonix Music Systems, el anterior estudio desarrollador de la serie.

Official project information

Author's original READMEOpen on GitHub ↗

Guitar Hero III: Legends of Rock — Recomp

Recompilação estática de Guitar Hero III: Legends of Rock (Xbox 360) para PC e Android. O código PowerPC do jogo é traduzido para C++ nativo e compilado para x86__64 — não é emulação de CPU.

Feito com rexglue (fork ReXGlue) e com um launcher próprio que instala o jogo a partir do seu disco.

O launcher


Isto não inclui o jogo

Este repositório é só código. Não traz, não distribui e não substitui Guitar Hero III, que é da Activision e da Neversoft.

Para jogar você precisa do ISO da sua própria cópia, e tem de ser a versão de que o projeto foi recompilado:

VersãoGuitar Hero III: Legends of Rock (USA), Rev 1
DiscoXGD2 — 660 ficheiros, 3,36 GB
default.xex11 055 104 bytes
SHA-2561D67D98FBB0E35AC086D6354F3E49985698C83298226EAFDEC756E2A9E799A14

O launcher confere esse hash antes de instalar e recusa qualquer outra versão — um recomp só corre o código do executável de que nasceu, e com dados de outra versão o jogo não arranca.


Como jogar

  1. Abra o Guitar Hero 3 Recomp.exe (ou launcher/RODAR.bat, a partir do código).
  2. Confira a linha Instalar em e mude a pasta se quiser — é onde vão os 3,4 GB do jogo, e com eles as pastas DLCs, MODS, os saves e os registos. O executável recompilado e as DLLs ficam sempre junto do launcher; quando as duas pastas são diferentes, o jogo recebe --game_data_root.
  3. Arraste o seu ISO para a janela, ou clique em Escolher ISO.
  4. O launcher lê o disco, confere a versão e mostra o que encontrou.
  5. Instalar, e depois Jogar.
Sem o jogo instaladoDurante a instalação
InstaladorProgresso

O launcher é um app Electron e trata de tudo o resto:

Idiomaliga e desliga a tradução para português do Brasil
VídeoDirect3D 12 ou Vulkan, tela cheia, VSync, contador de FPS
DLCsliga e desliga cada pacote em game/DLCs
Modsimporta, liga e desliga cada mod, e escolhe o executável certo (ver abaixo)

Para pôr um mod, use Importar… no cartão de Mods e aponte a pasta dele ou o .zip. O launcher confirma que aquilo é mesmo um mod (tem default.xex ou uma pasta DATA), põe-no em game/MODS, e diz se ele altera o executável.

Mods que alteram o executável

Um mod como o GH3 Deluxe traz o próprio default.xex. Como um recomp só corre o código de que nasceu, esse mod precisa de um build recompilado a partir do XEX dele.

Cada build guarda um source-xex.sha256 a dizer de que executável nasceu. O launcher soma o default.xex dos mods ativos e lança o build correspondente; sem mods de código, lança o base. Se houver dois mods de código ativos ao mesmo tempo, recusa — dois XEX diferentes não se combinam num só jogo.


Tradução PT-BR

tools/traduzir_ptbr.py escreve o texto português por cima do inglês, dentro do arquivo de scripts do jogo. São 712 frases; o resto fica em inglês.

python tools/traduzir_ptbr.py              # instala
python tools/traduzir_ptbr.py --restaurar  # volta ao inglês

Só entram as frases que cabem no espaço exato da inglesa, enchidas com espaços até ao tamanho original. Não é preciosismo: o jogo percorre as entradas de texto em sequência, lendo cada uma até ao NUL, por isso encurtar uma frase desalinha tudo o que vem a seguir e o jogo morre em dois segundos. Alongar também não serve, mesmo corrigindo todos os offsets. Ver docs/formato-qb.md.

É por isso que os itens do menu principal continuam em inglês: CARREIRA tem oito letras e CAREER tem seis.

A tradução em si não está aqui — é trabalho de terceiros. O script espera uma pasta Tradutor_Guitar_Hero_III_Legends_Of_Rock ao lado do projeto.


Compilar

Precisa de: CMake, Clang/LLVM, Ninja e o SDK rexglue.

1-CODEGEN.bat      :: traduz o XEX para C++ (gera generated/, ~450 MB)
2-BUILD.bat        :: compila

O codegen precisa do default.xex extraído do seu ISO — tools/extract_xiso.py faz isso. O C++ gerado não vai para o repositório: é derivado do executável do jogo.

Para o build da variante Deluxe, build-081-dx.bat.

Empacotar o launcher

cd launcher
npm install
npm run empacotar

Sai uma pasta em dist/ com o executável e tudo o que ele precisa: o runtime do Electron, o jogo recompilado em game/, os builds de variante em bin/, e as ferramentas da tradução em tools/. Nada de rede nem de electron-builder — o Electron já está em node_modules e empacotar é copiá-lo e renomear.

Não há instalador separado: a pasta que sai de dist/ é o programa, e quem instala o jogo é o próprio launcher. Quem a recebe abre o Guitar Hero 3 Recomp.exe, escolhe ali onde quer o jogo, e aponta o ISO.

O default.xex não vai no pacote, e não faz falta: o do jogo base sai do seu ISO durante a instalação, e o do GH3 Deluxe vem dentro do próprio mod — a camada de mods põe-no por cima na altura de correr, que é justamente porque o mod o traz na raiz da pasta dele.

Android

Corre o mesmo C++ gerado (simde vira NEON no ARM), por isso não há codegen separado. Estado: jogável, com os vídeos Bink a saírem pretos. Ver ANDROID.md e build-android.bat.


Estrutura

src/            código do projeto (app, hooks, renderer)
config/         manifests do codegen e listas de funções
tools/          ferramentas Python (extração de ISO, tradução, análise)
  extract_xiso.py     lê ISOs XDVDFS e extrai ficheiros
  traduzir_ptbr.py    instala a tradução PT-BR
  find_orphans.py     acha funções que o codegen não alcançou
  brand_boot_screen.py  marca o ecrã de arranque
launcher/       o launcher/instalador em Electron
  xiso.js             leitor XDVDFS em Node, com verificação de versão
  mods.js             mods e escolha de executável por hash do XEX
android/        projeto Android (fontes; os .so são compilados)
docs/           notas técnicas sobre os formatos do jogo

Estado

Funciona: o jogo corre no PC em Direct3D 12 e Vulkan, com FSR; carreira e quickplay; DLC oficial em STFS; tradução PT-BR; Android jogável.

Por resolver:

  • Os alvos dos trastes não aparecem na autoestrada.
  • Vídeos Bink pretos no Android.
  • Mods que substituem parte de uma pasta ensombram-na inteira: a camada de mods resolve o diretório para o mod e esconde os ficheiros do jogo que ele não traz. Um mod tem de fornecer todos os ficheiros das pastas que toca.

Créditos

  • rexglue / ReXGlue SDK — o recompilador e a camada de runtime
  • Xenia — de onde vem boa parte do conhecimento sobre o hardware do 360
  • Neversoft / Activision — o jogo

Licença do código deste repositório: MIT.

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Music / Rhythm
Status
beta
Original platform
Xbox 360
Technology
Static recompilation (native C/C++)
Version
—
Updated
—

Target platforms 1

Windows
View on GitHub
Advertisement