17 RU_building
CatWindow edited this page 2026-10-20 16:49:53 +03:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Как собрать mkxp-sunshine из исходного кода

Это может понадобиться если вы собираете движок для какой то специфичной платформы или архитектуры(или из недоверия к публичным бинарным файлам публикуемым нами?)

0.Установите компилятор C/C++ и инструменты разработки и CMake

Windows

1.Установите MSYS2 2.Установите туда эти пакеты (имя пакетов отличается от тех что написаны в списке, вам стоит узнать подходящее имя пакета через индекс пакетов MSYS2):

  • xxd/tinyxxd
  • Ruby 3.4+
  • SDL3
  • pixman
  • SDL3_image
  • SDL3_ttf
  • SDL3_mixer
  • SDL3_net
  • PhysFS
  • sigc++-2.0

Linux

1.Установите

  • xxd/tinyxxd
  • Ruby 3.4+
  • SDL3
  • pixman
  • SDL3_image
  • SDL3_ttf
  • SDL3_mixer
  • SDL3_net
  • PhysFS
  • sigc++-2.0
  • libseccomp
  • libxfconf

FreeBSD/DragonFly BSD/OpenBSD/NetBSD

1.Установите

  • xxd/tinyxxd
  • Ruby 3.4+
  • SDL3
  • pixman
  • SDL3_image
  • SDL3_ttf
  • SDL3_mixer
  • SDL3_net
  • PhysFS
  • sigc++-2.0
  • libxfconf

Termux

1.Установите

  • xxd/tinyxxd
  • Ruby 3.4+
  • SDL3
  • pixman
  • SDL3_image
  • SDL3_ttf
  • SDL3_mixer
  • SDL3_net
  • PhysFS
  • sigc++-2.0
  • libxfconf
  • Пакеты Android NDK

Haiku

1.Установите

  • tinyxxd
  • Ruby 3.4+
  • SDL3
  • pixman
  • SDL3_image
  • SDL3_ttf
  • SDL3_mixer
  • SDL3_net
  • PhysFS
  • sigc++-2.0


    Через команды cmake соберите движок
git clone --depth 1 https://forgejo.xatacraft.ru/Sunshine/mkxp-sunshine
cd mkxp-sunshine
cmake . -B build/ -DCMAKE_BUILD_TYPE=Release -DVERSION_STRING="0.1.3-custom"
cd build
cmake --build .

Важно отметить что в третьей команды вы так же можете передать следующие аргументы:

  • STEAM ON/OFF - Заготовка на будущее, не протестировано и требует Steamworks API
  • NATIVE ON/OFF - Опция которая заставит компилятор затачивать сборку под ваш конкретный процессор однако у других может ваш бинарник не заработать(OFF по умолчанию)
  • STATIC ON/OFF - С этой опцией сборка будет более статичной и стараться вшить больше библиотек в бинарный файл однако что (в теории) должно давать более быстрый бинарник(OFF по умолчанию).
  • USE_OPENGL_ES2 ON/OFF - контролирует использовать ли OpenGL ES 2 вместо OpenGL(OFF по умолчанию)
  • DEVBUILD ON/OFF - контролирует включить ли режим ночной сборки(OFF по умолчанию)
  • TERMUX ON/OFF - Нужен только если вы собираете игру для запуска в Termux!

Отдельно стоить упомянуть аргумент -DCMAKE_TOOLCHAIN_FILE=cmake/arch/x86.cmake Он включает оптимизации специфичные для архитектуры какого либо процессора, на примере x86(x86-64), так же доступны оптимизации под alpha, arm, IA-64, MIPS, risc-v. Зачастую это микро-оптимизации и существенно они не помогут а современному железу тем более, но полезны для старого железа.

Видов сборки поддерживается только два, Release и Debug.

Далее вам нужно собрать файл скриптов игры.

ruby rpgscript.rb scripts/ (путь до вашей инсталяции Oneshot или Oneshot: Sunshine)
После устанавливаете обновлённые ассеты и запускаете игру через новый движок.