Skip to content

Latest commit

 

History

History
333 lines (228 loc) · 18.7 KB

build_instructions.md

File metadata and controls

333 lines (228 loc) · 18.7 KB

Инструкция по выполнению сборки

Выполнение сборки игры для ПК (Windows, Linux)

Есть 5 шагов, чтобы выполнить совершенную рабочую сборку русифицированной игры для ПК!

Шаг 1 - Установка компонентов

К системе сборки предъявляются следующие требования к компонентам:

Windows (MSYS2 UCRT64 / MSYS2 MinGW):

  • python3 >= 3.6
  • mingw-w64-gcc

Также требуется выполнение сборки игры с поддержкой OpenGL:

  • mingw-w64-glew
  • mingw-w64-SDL2

Linux:

  • python3 >= 3.6
  • gcc, g++
  • pkgconf
  • libusb-1.0
  • SDL2
  • bsdextrautils

Инструкции по установке компонентов приведены ниже:

Windows - MSYS2 UCRT64 / MSYS2 MinGW

Для того, чтобы приступить, вам необходимо установить и обновить MSYS2. Потом перед установкой пакетов не забудьте запустить MSYS2 UCRT64 или MSYS2 MinGW (64- или 32-бит).

Важно: Запуск MSYS2 требуется Windows 8.1 или новее для систем x64. После запуска сначала обновите терминал и пакеты, введя pacman -Syu. Потом не забудьте перезапустить заново и ввести ещё раз до окончания обновления.

Установите компоненты:

Установите основные компоненты:
pacman -S git make python3 mingw-w64-x86_64-gcc mingw-w64-i686-gcc mingw-w64-ucrt-x86_64-gcc

Установите дополнительные компоненты, но требуется выполнение сборки игры для Windows с поддержкой OpenGL:
pacman -S mingw-w64-x86_64-SDL2 mingw-w64-x86_64-glew mingw-w64-i686-SDL2 mingw-w64-i686-glew mingw-w64-ucrt-x86_64-SDL2 mingw-w64-ucrt-x86_64-glew

Linux - Debian / Ubuntu / Kali Linux

Установите компоненты:

sudo apt update && sudo apt upgrade
sudo apt install git build-essential libusb-1.0-0-dev libsdl2-dev bsdextrautils

Linux - Arch Linux

Установите компоненты:

sudo pacman -Syu
sudo pacman -S base-devel python sdl2

Linux - Другие дистрибутивы

Большинство современных дистрибутивов Linux должны иметь компоненты, эквивалентные двум другим, перечисленным выше.

Вы также можете использовать Docker для установки образа с минимальными компонентами.

Ещё больше дистрибутивов, в которых необходимо установить компоненты, обращайтесь в SM64EX вики.

Шаг 2 - Клонирование репозиторий

  1. Клонируйте основной репозиторий, где есть исходный код игры, в папку sm64-port-rus и перейдите в неё:
git clone https://github.com/sm64-port/sm64-port sm64-port-rus
cd sm64-port-rus
  1. Клонируйте дополнительный репозиторий, где есть русификация, ВНЕ основного:
git clone https://github.com/AlexN-SM64/sm64-rus ../sm64-rus

Шаг 3 - Копирование в базовый РОМ для извлечения ассетов

Поставьте ТОЛЬКО оригинальную американскую (США) версию игры Super Mario 64 N64 ROM сюда и переименуйте в baserom.us.z64 для извлечения ассетов. Или в терминале:

cp /path/to/your/baserom.us.z64 baserom.us.z64

Примечание: Этот базовый ROM должен совпадать SHA1: 9bef1128717f958171a4afac3ed78ee2bb4e86ce. Наберите sha1sum baserom.us.z64 && cat sm64.us.sha1 в строке терминала и проверьте, подходит ли для извлечения ассетов или нет.

Шаг 4 - Русификация

В проводнике находите каталог sm64-rus, скопируйте всё, кроме папок и файлов, имя которых начинается с точки ., и вставляйте в тот каталог репозитория, где есть исходный код игры, заменив файлы. Или в терминале:

cp -f -r ../sm64-rus/* .

Шаг 5 - Выполнение сборки

Наберите make в строке терминала, чтобы выполнить совершенную рабочую сборку русифицированной игры для ПК. Если есть ядра в процессоре, добавьте -j$(nproc), где $(nproc) - количество ядер в процессоре, чтобы ускорить процесс сборки. Такие примеры приведены ниже:

make                 # Простое выполнение сборки
make -j$(nproc)      # Ускоренное выполнение сборки
make ENABLE_DX12=1   # Выполнение сборки, но требуется DirectX 12 для Windows
make ENABLE_OPENGL=1 # Выполнение сборки, но требуется OpenGL, если есть

В результате сборки ваша игра для ПК будет находиться в каталоге build/us_pc.

Примечания:

  • Для Windows есть и поддерживаемые графические компоненты: DirectX 11 (по умолчанию, требуется Windows Vista SP2 или новее), DirectX 12 (требуется Windows 10 или новее) или OpenGL (требуется скопировать необходимые DLL из MSYS2 в папку, где есть EXE), а для Linux - OpenGL.
  • Если нужно выполнить сборку для ПК с поддержкой 60 FPS, установите компонент patch и выполните патч: tools/apply_patch.sh enhancements/60fps.patch, затем запустите сборку снова.

Выполнение сборки игры для Linux с помощью Docker

Прежде чем, как выполнить сборку игры для Linux с помощью Docker, установите пакет git и повторите шаги 2-4 сверху.

Шаг 1 - Создание образа сборки

После установки и запуска Docker создайте образ сборки. Это нужно сделать только один раз.

docker build -t sm64 .

Шаг 2 - Выполнение сборки

Готовьтесь к выполнению сборки игры:

docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 \
make -j$(nproc)

В результате сборки ваша игра для Linux будет находиться там: build/us_pc/sm64.us.

Выполнение сборки игры для Nintendo 64 / iQue Player

Windows

  1. Запустите один из терминалов (Командная строка или Windows PowerShell) от имени администратора и установите подсистему Windows для Linux (WSL) и любой дистрибутив:
wsl --install <дистрибутив>

Примечание: <дистрибутив> должен быть ubuntu, debian и kali-linux. Если есть другие дистрибутивы, которые вам нужны в WSL, наберите wsl --list --online.

Важно: WSL требуется Windows 10 версия 1903 или новее для систем x64. После установки WSL вам потребуется перезагрузить компьютер и войти снова, чтобы продолжить.

  1. Перейдите в раздел снизу и продолжайте следовать инструкцию по выполнению сборки.

Android

  1. Установите терминал Termux на Android в Google Play или F-Droid и запустите него.

  2. Дайте терминалу разрешение доступа к файлам или папкам из корневого хранилища:

termux-setup-storage
  1. Установите дистрибутив Ubuntu в Termux, следуя инструкцию по ссылке: https://github.com/MFDGaming/ubuntu-in-termux

  2. Запустите Ubuntu в Termux и установите компоненты:

apt update && apt upgrade
apt install git build-essential python3 pkgconf libcapstone-dev bsdextrautils gcc-mips-linux-gnu
  1. Перед выполнением сборки выполните шаги 2-4, перейдя в раздел снизу.

  2. Готовьтесь к выполнению сборки игры:

tools/apply_patch.sh enhancements/update_makefiles.patch
make TARGET_N64=1 GRUCODE=f3dzex -j$(nproc)

В результате сборки ваша игра для N64 будет находиться там: build/us/sm64.us.z64. Потом не забудьте забрать её в хранилище.

Linux

Есть 5 шагов, чтобы выполнить совершенную рабочую сборку русифицированной игры для N64!

Шаг 1 - Установка компонентов

К системе сборки предъявляются следующие требования к компонентам:

  • python3 >= 3.6
  • gcc, g++
  • pkgconf
  • capstone
  • binutils-mips
  • bsdextrautils

Для использования GCC вместо IDO:

  • gcc-mips

Инструкции по установке компонентов приведены ниже:

Debian / Ubuntu / Kali Linux

Установите компоненты:

sudo apt update && sudo apt upgrade
sudo apt install git build-essential python3 pkgconf libcapstone-dev bsdextrautils gcc-mips-linux-gnu
Arch Linux
  1. Установите компоненты:
sudo pacman -Syu
sudo pacman -S base-devel python capstone
  1. Установите следующие AUR-пакеты:

Примечание: Если вы хотите использовать GNU C Compiler (GCC) для выполнения сборки ROM, установите следующие дополнительные пакеты:

  1. mips64-elf-gcc-stage1 (AUR)
  2. mips64-elf-newlib (AUR)
  3. mips64-elf-gcc (AUR)
Другие дистрибутивы

Большинство современных дистрибутивов Linux должны иметь компоненты, эквивалентные двум другим, перечисленным выше. Возможно, вам придется использовать другую версию GNU binutils (или gcc). Ниже перечислены полностью совместимые дистрибутивы binutils (или gcc), поддерживаемые makefile, и примеры дистрибутивов, которые их предлагают:

  • mips64-elf- (Arch AUR)
  • mips-linux-gnu- (Ubuntu и другие дистрибутивы, основанные на Debian)
  • mips64-linux-gnu- (RHEL/CentOS/Fedora)

Вы также можете использовать Docker для установки образа с минимальными компонентами.

Шаг 2 - Клонирование репозиторий

  1. Клонируйте основной репозиторий, где есть исходный код игры, в папку sm64-port-rus и перейдите в неё:
git clone https://github.com/sm64-port/sm64-port sm64-port-rus
cd sm64-port-rus
  1. Клонируйте дополнительный репозиторий, где есть русификация, ВНЕ основного:
git clone https://github.com/AlexN-SM64/sm64-rus ../sm64-rus

Шаг 3 - Копирование в базовый РОМ для извлечения ассетов

Поставьте ТОЛЬКО оригинальную американскую (США) версию игры Super Mario 64 N64 ROM сюда и переименуйте в baserom.us.z64 для извлечения ассетов. Или в терминале:

cp /path/to/your/baserom.us.z64 baserom.us.z64

Примечание: Этот базовый ROM должен совпадать SHA1: 9bef1128717f958171a4afac3ed78ee2bb4e86ce. Наберите sha1sum baserom.us.z64 && cat sm64.us.sha1 в строке терминала и проверьте, подходит ли для извлечения ассетов или нет.

Шаг 4 - Русификация

В проводнике находите каталог sm64-rus, скопируйте всё, кроме папок и файлов, имя которых начинается с точки ., и вставляйте в тот каталог репозитория, где есть исходный код игры, заменив файлы. Или в терминале:

cp -f -r ../sm64-rus/* .

Шаг 5 - Выполнение сборки

Готовьтесь к выполнению сборки игры:

make TARGET_N64=1 GRUCODE=f3dzex

В результате сборки ваша игра для N64 будет находиться там: build/us/sm64.us.z64.

Примечания:

  • Для русификации установлены важные параметры сборки: Версия - США, Микрокод - Fast3DZEX.
  • Если есть ядра в процессоре, добавьте -j$(nproc), где $(nproc) - количество ядер в процессоре, чтобы ускорить процесс сборки.
  • Если нужно выполнить сборку для китайской приставки iQue Player, установите компонент patch и выполните патч: tools/apply_patch.sh enhancements/ique_support.patch, затем запустите сборку снова.
  • Если есть компонент gcc-mips, добавьте COMPILER=gcc, чтобы не тратить время выполнения сборки инструментов.
  • После выполнения сборки игры для N64 с поддержкой микрокода Fast3DEX или Fast3DEX2, видеоплагин GlideN64 не поддерживает таких микрокодов.
  • Выполнение сборки игры для N64 с поддержкой микрокода Fast3D OLD или Fast3D NEW практически НЕВОЗМОЖНО - игра столкнётся при создании любого нового файла (Марио А, Б, В и Г) в меню.
  • И ПОСЛЕДНЕЕ! Выполнение сборки игры для N64 в Arch Linux НЕ ЗАВЕРШЕНО по-настоящему. Попробуйте использовать систему на основе Debian.

Docker

Прежде чем, как выполнить сборку игры для N64 с помощью Docker, установите пакет git и повторите шаги 2-4 сверху.

Шаг 1 - Создание образа сборки

После установки и запуска Docker создайте образ сборки. Это нужно сделать только один раз.

docker build -t sm64 .

Примечание: Если вы хотите использовать GNU C Compiler (GCC) для выполнения сборки ROM, установите следующий дополнительный компонент:

docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 \
apt-get install -y gcc-mips-linux-gnu

Шаг 2 - Выполнение сборки

Готовьтесь к выполнению сборки игры:

docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 \
make TARGET_N64=1 GRUCODE=f3dzex -j$(nproc)

В результате сборки ваша игра для N64 будет находиться там: build/us/sm64.us.z64.

Выполнение сборки игры для другой платформы (Android, PS4 и т.д.)

Прежде чем, как выполнить сборку русифицированной игры для другой платформы, давайте следим!

Сначала находите и клонируйте репозиторий, где есть исходный код игры для порта на другую платформу, и следите инструкцию! Затем перед сборкой русифицируйте пошагово:

  1. Клонируйте дополнительный репозиторий, где есть русификация, ВНЕ основного:
git clone https://github.com/AlexN-SM64/sm64-rus ../sm64-rus
  1. В проводнике находите каталог sm64-rus, скопируйте всё, кроме папок и файлов, имя которых начинается с точки ., и вставляйте в тот каталог репозитория, где есть исходный код игры, заменив файлы. Или в терминале:
cp -f -r ../sm64-rus/* .

Русификация теперь готова. Можно выполнить сборку!