LOOT — это оптимизатор порядка загрузки плагинов для:
LOOT может автоматически рассчитывать порядок загрузки, который удовлетворяет всем зависимостям плагинов и максимизирует влияние каждого плагина на вашу игру. Он также может обнаруживать множество проблем и предоставляет большое количество примечаний по использованию конкретных плагинов, предупреждений и предложений по тегам Bash для Wrye Bash.
Хотя LOOT может корректно обрабатывать подавляющее большинство плагинов без посторонней помощи, некоторым плагинам для правильной сортировки требуются дополнительные метаданные. В LOOT есть основной список метаданных для каждой поддерживаемой игры, и вы можете добавить больше, чтобы настроить поведение LOOT.
LOOT помогает упростить использование модов, и вы все равно должны обладать практическими знаниями о порядке загрузки модов. Обзор см. в разделе «Введение в загрузку заказов».
Релизы размещаются на GitHub. Пользователям Linux следует установить LOOT с Flathub.
Сборки моментальных снимков доступны в виде артефактов при запуске GitHub Actions, однако они хранятся только в течение 90 дней и могут быть загружены только при входе в учетную запись GitHub. Чтобы смягчить эти ограничения, артефакты сборки моментальных снимков включают в себя подпись GPG, которую можно проверить с помощью открытого ключа, размещенного здесь. Это означает, что можно повторно загрузить артефакты в другое место и при этом доказать их подлинность.
Артефакты сборки моментальных снимков называются так:
loot_<last tag>-<revisions since tag>-g<short revision ID>_<branch>-<platform>.<file extension>
Сборки моментальных снимков также предоставляются в виде однофайловых пакетов Flatpak, которые можно установить следующим образом:
flatpak --user install ~/Downloads/loot.flatpak
Вы также можете установить тему Adwaita:
flatpak install flathub org.kde.KStyle.Adwaita//6.7
Обратитесь к .github/workflows/release.yml
для процесса сборки.
Рабочий процесс GitHub Actions предполагает, что CMake, curl, gettext, Git, Inno Setup 6, Python, Visual Studio 2019 и 7-zip уже установлены.
Предварительно скомпилированные двоичные файлы Gettext от vslavik, вероятно, являются самым простым способом получить актуальную версию Gettext в Windows.
Процесс сборки см. в задании flatpak
.github/workflows/ci.yml
.
Сборка Flatpak является относительно автономной и требует установки только следующего:
git
flatpak
flatpak-builder
python
, pip
и venv
Ваш дистрибутив Linux может упаковывать Python, pip и venv отдельно.
Не все функции LOOT реализованы в сборках Linux. Проблемы, помеченные как linux
в системе отслеживания проблем LOOT, охватывают такие недостающие функции, где их можно реализовать.
Обратите внимание, что сборка Flatpak не работает в непривилегированном контейнере. Сюда входит запуск generate_manifests.sh
.
LOOT использует следующие переменные CMake для установки параметров сборки:
Параметр | Ценности | По умолчанию | Описание |
---|---|---|---|
LIBLOOT_URL | URL-адрес | URL-адрес архива выпусков GitHub | URL-адрес для получения архива выпуска libloot. По умолчанию это URL-адрес архива релизов libloot, размещенного на GitHub. Указание этого полезно, если вы хотите создать ссылку на libloot, который был собран и упакован локально. |
LOOT_BUILD_TESTS | ON , OFF | ON | Стоит ли создавать тесты LOOT. |
LOOT_RUN_CLANG_TIDY | ON , OFF | OFF | Следует ли запускать clang-tidy во время сборки. Не имеет эффекта при использовании генератора MSVC CMake. |
MINIZIP_NG_URL | URL-адрес | URL-адрес архива релизов | URL-адрес, из которого можно получить исходный архив. |
OGDF_URL | URL-адрес | URL-адрес архива релизов | URL-адрес, из которого можно получить исходный архив. |
VALVE_FILE_VDF_URL | URL-адрес | URL-адрес архива коммитов GitHub | URL-адрес, из которого можно получить исходный архив. |
ZLIB_URL | URL-адрес | URL-адрес архива релизов | URL-адрес, из которого можно получить исходный архив. |
Параметры URL можно использовать для указания локального пути, если архив уже загружен (например, для автономных сборок).
Вам также может потребоваться установить BOOST_ROOT
, если CMake не может найти Boost, и Qt6_ROOT
(например, C:/Qt/6.7.2/msvc2019_64
), если CMake не может найти Qt.
Документация создана с использованием Sphinx. Установите Python и убедитесь, что он доступен из вашего PATH
, затем запустите:
py -m venv .venv
.venvScriptsactivate
pip install -r docs/requirements.txt
sphinx-build -b html docs build/docs/html
Если вы работаете в Linux, замените .venvScriptsactivate
на .venv/bin/activate
.
Кроме того, вы можете использовать Docker, чтобы избежать изменения среды разработки, запустив docker run -it --rm -v ${PWD}/docs:/docs/docs:ro -v ${PWD}/resources:/docs/resources:ro -v ${PWD}/build:/docs/build sphinxdoc/sphinx:7.1.2 bash
, чтобы получить оболочку, которую можно использовать для запуска двух приведенных выше команд.
Предоставляются сценарии упаковки для создания установщика в Windows и сжатых архивов в Windows и Linux.
Запустите скрипт scripts/installer.iss
Inno Setup, чтобы создать исполняемый файл установщика в папке build
. Если неофициальные файлы перевода Inno Setup на корейский, шведский и упрощенный китайский установлены вместе с официальными файлами перевода, то сценарий установки также предложит эти языковые параметры. Если они не найдены, установщик будет собран без них.
Для сценария упаковки архива требуется Git, а в Windows — еще и 7-Zip, а в Linux — tar
и xz
. Его можно запустить с помощью python scripts/archive.py
и создать архив для LOOT в папке build
. Архивы названы так, как описано в разделе «Загрузки» выше.
Сценарий упаковки архива вызывает windeployqt.exe
при запуске в Windows: он должен быть доступен из вашего PATH
.