Ir para o conteúdo

Ace Combat 5 de PlayStation 2 é mais um clássico que vai dispensar emulador para rodar nativamente no Windows

Ace Combat 5: The Unsung War ganhou uma recompilação nativa para Windows, com suporte a Vulkan, mods e necessidade da cópia original do PS2.

Junior Candido
Ace Combat 5 de PlayStation 2 é mais um clássico que vai dispensar emulador para rodar nativamente no Windows

Chegou mais um projeto pra quem é fã de simulador de combate aéreo dos anos 2000: um desenvolvedor chamado de sal063 publicou no GitHub uma recompilação de Ace Combat 5: The Unsung War, o clássico de PlayStation 2, transformando o jogo original em um executável .exe que roda nativamente no Windows, sem depender de emulação tradicional.

O projeto se chama ps2recomp: Ace Combat 5 e representa uma técnica bem diferente da que a maioria dos jogadores está acostumada a ver em projetos de preservação de games antigos. Em vez de emular o PS2 em tempo real (como fazem o PCSX2 e outros emuladores), a ferramenta faz algo que já se tornou bem comum com o trabalho da comunidade: ela lê o executável original do jogo e traduz cada função do código para C, de forma antecipada, antes mesmo de você abrir o jogo. Depois, o compilador GCC junta tudo isso com um runtime que substitui o hardware do console — desde a GS (a unidade gráfica, aqui redesenhada para rodar em Vulkan), passando pelas unidades vetoriais VU, o áudio SPU2, o IPU responsável pelos vídeos, até os módulos do IOP, cartões de memória e controles. O resultado final é um arquivo ac5.exe, que qualquer PC com Windows 64 bits consegue rodar.

O que chama mais atenção aqui é a renderização gráfica, que segundo a descrição do repositório é totalmente nativa, e não emulada. Os aviões, o cockpit, o terreno, os objetos do cenário, o céu e as nuvens não passam mais pela Graphics Synthesizer original emulada. Os programas vetoriais que a VU1 do PS2 usava para transformar e iluminar os modelos 3D foram reescritos como código nativo, e a geometria agora é desenhada como malhas de GPU de verdade, com vertex shaders, texturas com mipmap e filtragem anisotrópica. Isso significa HUD de voo, radar e legendas de rádio nítidos em qualquer resolução de tela, coisa que emuladores tradicionais historicamente têm dificuldade de entregar sem borrar a interface. Menus, hangar e alguns efeitos que a renderização nativa ainda não cobre continuam passando pela GS emulada, dividindo o mesmo frame final.

Segundo a documentação do projeto, o jogo já está totalmente jogável.

Publicidade

O que você precisa para rodar

Não tem ROM nem arquivo do jogo dentro do repositório e isso é regra em qualquer projeto sério de recompilação. O usuário precisa ter a própria cópia de Ace Combat 5, especificamente a versão americana (NTSC-U), com o serial SLUS-20851. Outras regiões simplesmente não funcionam, porque os arquivos de configuração do projeto foram todos mapeados em cima de endereços específicos do executável americano.

Fora o jogo em si, a lista de pré-requisitos inclui:

  • Windows 64 bits com placa de vídeo compatível com Vulkan
  • MSYS2, para ter acesso ao GCC e ao SDL3 — e aqui vale um detalhe técnico interessante: é preciso GCC 15 ou mais recente, porque o código gerado depende de um recurso chamado tail calls garantidas ([[gnu::musttail]]). Com uma versão mais antiga do compilador, o jogo compila, mas pode estourar a pilha de memória durante a execução
  • CMake 3.20+ e Ninja
  • O Vulkan SDK, usado para compilar os shaders
  • Python 3, só com biblioteca padrão, sem necessidade de instalar nada extra

O processo de recompilação em si é rápido: segundo o autor, a etapa que converte o executável original em código C leva cerca de 15 segundos e gera aproximadamente 10.742 funções distribuídas em 43 arquivos, totalizando uns 50 MB de código gerado. Já a etapa de compilação com o GCC é mais pesada: o próprio criador relata de 3 a 5 minutos em uma CPU de 12 threads, já que cada arquivo gerado é basicamente uma função gigantesca.

Suporte a mods já incluído

Um dos detalhes mais interessantes do projeto é que ele já nasce com suporte nativo a mods, sem precisar recompilar nada do jogo. Cada mod fica em uma pasta própria dentro de uma pasta mods, e o sistema de arquivos do jogo funciona em camadas — um mod é literalmente uma camada extra por cima do disco original, seja ele um ISO ou os arquivos extraídos.

Siga o Arkade no Instagram @revistaarkade Seguir

Com esse sistema, é possível:

  • substituir arquivos do jogo, inclusive os que estão dentro do pacote DATA.PAC
  • alterar valores de ajuste fino do jogo por um arquivo params.txt
  • aplicar patches .pnach, os mesmos usados no PCSX2 (embora patches de código não funcionem em código recompilado)
  • rodar scripts em Lua que interceptam funções do jogo, leem e escrevem na memória, reagem a trocas de cena e reescrevem a entrada dos controles
  • carregar código nativo via DLL, quando o mod autoriza isso explicitamente

Uma questão de tempo (e de trabalho de engenharia reversa)

Vale destacar que nada disso saiu do nada. Por trás do projeto existe um trabalho pesado de engenharia reversa: o autor usou o IDA Pro para mapear os limites de funções e pontos de entrada do executável original, e relata que o próprio recompilador consegue identificar sozinho cerca de dois terços das funções do código: número que sobe para 97% quando alimentado com os dados exportados do IDA.

Publicidade

Para conferir o projeto, é só acessar a página oficial dele no GitHub.

Aproveite que está aqui e siga o Arkade no 

O INNIOASIS Y1 é o iPod que você sempre sonhou, com Bluetooth e a garantia de ouvir músicas sem notificações. Garanta o seu no AliExpress!

Garanta já a sua cópia de Marvel’s Wolverine, e receba o disco em casa com o frete Prime da Amazon.

Ganhamos uma pequena comissão nos links compartilhados em nossos posts. Você não gastará nada mais com isso e ainda apoiará o jornalismo independente de games e cultura.

Próxima matéria Locadora do Paraná completa 32 anos de portas abertas e conta parte da história do “Brasil gamer” que não aparece tanto, mas existe Especiais Locadora do Paraná completa 32 anos de portas abertas e conta parte da história do “Brasil gamer” que jogava por um real a hora A Cruel Games, locadora de Araucária, preserva fotos e memórias de 32 anos do Brasil gamer, das TVs de tubo às lan houses.

Ace Combat

Ficha do jogo
Plataformas
PlayStation, Xbox, PC
Junior Candido

Conto a história dos videogames e da velocidade de ontem e de hoje por aqui! Você pode me seguir em instagram.com/juniorcandido ou x.com/junior_candido E para contatos, envie sua mensagem para o e-mail [email protected]

Mais matérias de Junior Candido

Buscar no Arkade