Об этом проекте

ra-port — это неофициальный порт исходного кода Command & Conquer: Red Alert (1996), работающий нативно на macOS, Linux, Android и iOS. Он основан на исходном коде, выпущенном Electronic Arts под GPLv3 с дополнительными условиями, и сохраняет узнаваемую структуру оригинального кода, добавляя платформенный слой на базе SDL2 для видео, звука и ввода. Поддержка платформ - macOS на Apple Silicon: собирается и запускается через CMake/Ninja как обычный исполняемый файл (без .app-бандла). - Linux на Ubuntu: собирается и запускается как нативное настольное приложение SDL2, с опциональным smoke-тестом через Xvfb/ImageMagick для проверки без графической среды. - Android: собирает локальный отладочный APK для arm64-v8a, зафиксированный в ландшафтной ориентации, с нативным сенсорным вводом; ресурсы извлекаются в хранилище приложения при первом запуске. - iOS: собирает ландшафтное отладочное приложение для симулятора или подписанную сборку для устройства arm64, копируя встроенные данные в доступное для записи хранилище приложения при первом запуске. Состояние игрового процесса Кампания (за союзников и за СССР), локальная схватка и видео со звуком, как сообщается, работают, а также управление с клавиатуры и мыши на настольных системах и сенсорный ввод/звук на мобильных устройствах. Сетевой мультиплеер, инструменты запуска и настройки, пакеты дополнений, релизная упаковка для Android/iOS и упаковка macOS в .app не реализованы. Игровые данные Игровые ресурсы, фильмы, музыка, образы дисков и установщики не включены. Игроки должны предоставить легально полученные файлы Red Alert со своих дисков или резервных копий; скрипт подготовки копирует их в игнорируемые git каталоги внутри assets/redalert. Отладочные мобильные сборки намеренно включают эти локальные данные и не должны распространяться. Сборка и запуск Настольные сборки используют CMake с Ninja и требуют пакетов разработки SDL2; вспомогательные скрипты выполняют подготовку ресурсов, подписывание кода на macOS и запуск. Для Android требуются JDK 17, Android SDK Platform 36, NDK 28.2.13676358 и пакет Android CMake; для iOS требуется полный Xcode. Полноэкранный режим можно включить через переменную окружения или переключить сочетанием Command+Return на macOS и Alt+Return на Linux. Тесты на уровне исходного кода и проверки скриптов запускаются через tests/run_script_tests.sh. Проект намеренно консервативен и предпочитает небольшие платформенно-зависимые вспомогательные файлы широким переписываниям. Предлагаемые направления для вклада включают упаковку, проверку на физических устройствах, повышение надёжности сохранения/загрузки, поддержку дополнений и покрытие CI. Сетевой мультиплеер выходит за рамки текущего этапа.