Skip to content

Latest commit

 

History

History
123 lines (99 loc) · 9.64 KB

MODS.md

File metadata and controls

123 lines (99 loc) · 9.64 KB

Файловые моды

В лаунчере появилась группа Моды: выбор папки, общий переключатель, включение каждого мода и стрелки порядка загрузки. Изменения применяются при следующем запуске. Нижний включённый мод имеет больший приоритет; при совпадении файлов в журнале выводится, какой мод заменил предыдущий.

По умолчанию используется bbport/mods/, а в AppImage — ~/.local/share/bbport/mods/. Распакуйте скачанный мод так:

mods/
  Название мода/
    dvdroot_ps4/
      chr/...
      param/...
      menu/...

Также принимаются:

  • Название мода/app0/dvdroot_ps4/... и Название мода/CUSA03173/dvdroot_ps4/...;
  • лишняя папка-обёртка, как после распаковки архива в папку с его именем: Название мода/Название мода v1.2/dvdroot_ps4/... (рядом могут лежать readme/картинки);
  • мод без dvdroot_ps4, в котором сразу лежат папки игры: Название мода/chr/..., Название мода/parts/... (chr, parts, map, menu, msg, param, sfx, sound, font и другие папки dvdroot_ps4).

Регистр имён в моде не важен: DVDROOT_PS4/Chr/C0000.chrbnd.dcx из мода, собранного под Windows, заменяет игровой dvdroot_ps4/chr/c0000.chrbnd.dcx. Раньше такой файл добавлялся рядом под своим именем, и игра его не видела. В журнале запуска видно, сколько файлов игры мод заменил и сколько добавил: Mods: 12 game files replaced, 0 added. Если мод должен заменять файлы, а пишет 0 game files replaced, проверьте пути внутри мода. Архивы ZIP/7z нужно предварительно распаковать. Поддерживаются готовые замены файлов dvdroot_ps4: текстуры, модели, параметры, интерфейс, звук и шрифты. Менеджер не объединяет содержимое двух одинаковых .dcx/.bnd файлов: последняя замена выигрывает целиком.

Для уже подготовленной папки shadPS4 работает соседний каталог CUSA03173-mods/dvdroot_ps4/... рядом с CUSA03173/. Он подключается автоматически перед модами из списка. Общий переключатель выключает и его. Можно также выбрать папку, непосредственно содержащую dvdroot_ps4, как папку модов; такая папка подключается целиком, без списка отдельных модов. Соглашение -mods проверено по исходникам shadPS4.

Оригиналы игры не перезаписываются. На время запуска создаётся отдельное объединённое дерево ссылок в каталоге данных out/mod-game-*; чтение, stat и перечисление каталогов видят выбранные замены и остальные оригинальные файлы. Игровые /app0 и /hostapp доступны только для чтения. Сохранения остаются в прежней папке и доступны для записи. При обычном завершении или остановке лаунчером временное дерево удаляется. После SIGKILL/аварийного отключения оно может остаться; такие каталоги не используются в следующем запуске.

Моды с заменой eboot.bin, sce_module или sce_sys, инжекторы DLL и скриптовые плагины этим загрузчиком не поддерживаются. Патчи исполняемого кода остаются в существующей системе patches/ / BB_PATCHES. Символьные ссылки внутри мода не принимаются. Совместимость конкретного мода с CUSA03173 1.09 определяется его автором.

Для запуска из терминала:

BB_GAME_DIR=/path/to/CUSA03173 BB_MODS_DIR=/path/to/mods bash run.sh
BB_GAME_DIR=/path/to/CUSA03173 BB_MODS_ENABLED=0 bash run.sh

Порядок и отключения сохраняются в каталоге данных mods.json:

{"order": ["Первый", "Второй"], "disabled": ["Первый"]}

Новые папки включаются автоматически и добавляются в конец по алфавиту. BB_MODS_CONFIG меняет путь профиля. BB_MOD_TRACE=1 с BB_MODS_DIR выводит первые чтения реально подключённых файлов для диагностики.

Пакеты текстур

Пакеты с увеличенными текстурами карт не помещаются в графические кучи игры, рассчитанные на PS4 (2287 и 886 МиБ). Когда куча заполнена, выделения памяти GPU в игре не удаются: текстуры мерцают, затем игра падает (код 139 в клинике Йозефки, за которой подгружается Запретный лес, #240). Запуск находит такой пакет сам — и подключённый из папки модов, и уже записанный в папку игры: текстуру карты больше 4096 пикселей по стороне (у розничной 1.09 таких нет). Тогда применяется патч Increased Graphics Heap Sizes (кучи 3952 и 2560 МиБ, как у патчей разрешения выше 1080p) и прямая память 9152 МиБ — примерно на 3,3 ГБ больше оперативной памяти. В журнале: Graphics heaps: larger (a texture pack: dvdroot_ps4/map/m24/m24_0000.tpfbhd has 8192-pixel textures, ...).

Первая проверка читает около 8600 записей архивов текстур карт (на SSD — доли секунды), ответ хранится в out/texture-pack.json, пока файлы текстур не изменятся. BB_LARGE_HEAPS=1 включает большие кучи всегда (для пакета, который проверка не узнаёт: например, увеличившего текстуры не больше чем до 4096), BB_LARGE_HEAPS=0 выключает.

Сторонние патчи (XML shadPS4)

Папка patches/ в каталоге данных (в AppImage — ~/.local/share/bbport/patches/, в лаунчере группа Сторонние патчи, там же можно выбрать другую папку). Подходят XML-файлы патчей в формате shadPS4/GoldHEN: берутся Metadata для AppVer="01.09" и eboot.bin, файлы с TitleID других игр пропускаются. Включение по умолчанию — из isEnabled файла, выбор в лаунчере сохраняется в patches.json каталога данных:

{"enabled": ["файл.xml/Имя патча"], "disabled": ["файл.xml/Другой патч"]}

Поддерживаются строки bytes, bytes16/32/64, float32/64, utf8, utf16. Патч со строками mask (поиск по шаблону) или с адресом вне eboot пропускается целиком, с сообщением в журнале. Сторонние патчи применяются после встроенных (patches/Bloodborne.xml): при пересечении побеждает сторонний. Из терминала: BB_PATCHES_DIR=/путь BB_PATCHES_CONFIG=/путь/patches.json bash run.sh.

Патчи, которые заменяют указатели в таблицах (как 60 FPS++ и 90 FPS++), загрузчик переносит на реальный адрес образа. Раньше такие патчи останавливали запуск ошибкой patch overlaps a relocation.

Резкость TAA

Настройки sharpen и sharpness теперь работают также для TAA, в лаунчере и меню игры. Диапазон — 0…1; при 0 или выключенном переключателе дополнительного прохода нет. RCAS применяется к готовой сцене перед HUD. В историю TAA сохраняется цвет до повышения резкости, чтобы она не усиливалась при повторном накоплении. Ровные участки сохраняют исходный цвет, включая HDR; дополнительный буфер не нужен.