Command & Conquer Generals: Zero Hour теперь работает нативно на Apple Silicon Mac, iPhone и iPad. Это не эмуляция — движок 2003 года пересобран под ARM64. Рендеринг проходит через цепочку DirectX 8 → DXVK → Vulkan → MoltenVK → Metal. Управление заточили под сенсорные экраны: тап для выбора, drag-box для группы, долгий тап для отмены выделения, два пальца для скролла и пинч для зума. Работают кампания, одиночные бои и Generals Challenge.
Порт основан на GPL v3 исходниках от EA, которые выложила команда fbraz3/GeneralsX. Они сделали основную работу по macOS и Linux. Этот форк добавил поддержку iOS/iPadOS и подтянул кучу фиксов движка. Сами игровые файлы не включены — нужна своя копия игры. Проще всего купить в Steam примерно за 5 долларов по скидке.
Чтобы собрать на Mac, понадобится Xcode Command Line Tools, Homebrew, vcpkg (полный клон, поверхностный ломает сборку) и LunarG Vulkan SDK (не версия из Homebrew, а официальная с сайта). Сборка идёт через скрипты — build-macos-zh.sh, deploy-macos-zh.sh, затем get-assets.sh с вашим Steam-логином скачает данные. После этого запуск одной командой.
Под iOS и iPad настройка сложнее: нужен полный Xcode, Apple Developer Team (платный или бесплатный), XcodeGen. Отдельно собирается DXVK под iOS через патч, скачивается MoltenVK, подкладываются шрифты Liberation с переименованием. Финальный скрипт собирает app bundle, подписывает и устанавливает на устройство. Сборка под iOS автономна — все файлы внутри приложения.
На iPad есть проблемы. Долгие сессии могут убиваться iOS из-за нехватки памяти — просто вылет на домашний экран без сообщения. Логи сессии лежат в приложении «Файлы». Иногда крашится при сворачивании — редкий race condition. Советуют часто сохраняться.
В репозитории лежит полный инженерный лог — PORTING_PLAYBOOK.md. Там расписана вся археология багов: чёрная миникарта, молчащая EVA, странный чирикающий звук. Есть общая методология портирования классических Windows-игр под Apple.
Код движка — GPL v3. Ассеты игры не распространяются. Кредиты: Westwood/EA Pacific за игру, EA за открытый исходник, fbraz3 за базовый порт, TheSuperHackers за комьюнити-версию, DXVK, MoltenVK, SDL, OpenAL Soft, FFmpeg, Liberation Fonts. Порт делали человек и ИИ: инженерию писал Claude Code (Anthropic, модель Fable), направлял и тестировал на реальных устройствах Ammaar Reshi. Логи в docs/port — это неотредактированная запись того, как это работало.