Sobre o projeto

ra-port é um porte de código-fonte não oficial de Command & Conquer: Red Alert (1996) que roda nativamente em macOS, Linux, Android e iOS. É baseado no código-fonte que a Electronic Arts liberou sob GPLv3 com termos adicionais, e mantém o layout do código original reconhecível enquanto adiciona uma camada de plataforma construída sobre SDL2 para vídeo, áudio e entrada. Suporte de plataforma - macOS em Apple Silicon: compila e roda com CMake/Ninja como um executável bruto (ainda sem empacotamento .app). - Linux no Ubuntu: compila e roda como um executável de desktop SDL2 nativo, com um teste de fumaça opcional via Xvfb/ImageMagick para validação headless. - Android: compila um APK de debug arm64-v8a local, travado em modo paisagem, com entrada touch nativa; os assets são extraídos para o armazenamento do app na primeira inicialização. - iOS: compila um app de debug em paisagem para o simulador ou um build de dispositivo arm64 assinado, copiando dados empacotados para o armazenamento gravável pelo app na primeira inicialização. Status de gameplay Campanha (Aliados e Soviéticos), escaramuça local e vídeos com som são relatados como funcionais, junto com controles de teclado/mouse no desktop e toque/áudio no mobile. Multijogador online/rede, ferramentas de launcher/setup, pacotes de expansão, empacotamento de release para Android/iOS e empacotamento .app para macOS não estão implementados. Dados do jogo Nenhum asset de jogo, filme, música, imagem de disco ou instalador é incluído. Os jogadores devem fornecer arquivos do Red Alert obtidos legalmente de seus próprios discos ou backups; um script de preparação os copia para diretórios ignorados pelo git sob assets/redalert. Builds de debug para mobile intencionalmente empacotam esses dados locais e não devem ser distribuídos. Compilação e execução Builds de desktop usam CMake com Ninja e exigem pacotes de desenvolvimento SDL2; scripts auxiliares lidam com preparação de assets, assinatura de código no macOS e inicialização. Android requer JDK 17, Android SDK Platform 36, NDK 28.2.13676358 e o pacote Android CMake; iOS requer Xcode completo. Tela cheia pode ser ativada via variável de ambiente ou alternada com Command+Return no macOS e Alt+Return no Linux. Testes em nível de código-fonte e verificações de script são executados através de tests/run_script_tests.sh. O projeto é intencionalmente conservador, preferindo pequenos arquivos de suporte específicos de plataforma em vez de reescritas amplas. Áreas sugeridas de contribuição incluem empacotamento, validação em dispositivos físicos, robustecimento de save/load, suporte a expansões e cobertura de CI. Multijogador em rede está fora do escopo para o marco atual.