Первый выпуск osu!cpp, неофициального клиента для игры osu! на C++23 и Skia

Опубликован первый выпуск osu-cpp, неофициального клиента ритм-игры osu!, написанного на C++23 в виде модулей и использующего для отрисовки библиотеку Skia. Код распространяется под лицензией AGPLv3. Клиент собирается для Linux (обычная сборка, Flatpak, Nix, Guix), для браузера (WebAssembly), для Android и для Ubuntu Touch. Браузерную версию можно запустить без установки. Вместе с клиентом под лицензией AGPLv3 развиваются библиотеки для построения графического интерфейса skiff и skiff-widgets.

Основные возможности:

  • Режим osu!standard;
  • pp (Performance Points), которые считаются прямо во время игры;
  • Запись и воспроизведение реплеев, экспорт реплея в видео MP4;
  • Загрузка карт через зеркала osu.direct и catboy.best, импорт архивов .osz;
  • Отрисовка через OpenGL, через Vulkan или программно;
  • Поддержка частичной локализованной отрисовки в меню;
  • Отсутствие отрисовки, когда на экране ничего не меняется.

Выпуск собирается дважды, второй раз без кеша компилятора, и результаты сравниваются для проверки воспроизводимости сборок: у 0.1.0 все сборки полностью совпали. Для Android используется сборка минимального Android NDK посредством minimal-android-ndk.cpp (AGPLv3), так как официальные бинарные сборки Android NDK распространяются под проприетарной лицензией. Весь код распространяется под AGPLv3, но при первом запуске опционально скачивается несвободный скин под лицензией CC-BY-NC-4.0. Приложение может работать и без него.



Источник: http://www.opennet.ru/opennews/art.shtml?num=66333