LINK Plus Plus 0.1.4
Оригинальный LINK - замечательный. Он делает то, для чего предназначен, и делает это чертовски хорошо. Но нет предела совершенству, не так ли? Данный мод представляет собой модифицированную версию LINK (большое спасибо Maskar'у за открытые разрешения). Он расширяет функциональность оригинального LINK, сохраняя при этом полную обратную совместимость с модами, предназначенными для работы с оригинальным LINK (если он работает с LINK, то будет работать и с LINK++).
Что же конкретно расширяет этот мод? Первое и самое главное - он позволяет по-новому определять конфигурационные записи мода для меню LINK через обработчики событий xOBSE. Такой подход дает следующие преимущества:
Нажмите, чтобы показать текст
- Вы полностью контролируете, когда конфигурация вашего мода станет доступной. Оригинальный подход LINK позволяет конфигурировать любой мод в любое время (даже находясь в главном меню, когда игра еще не запущена!). Это может нарушить логику работы вашего мода, если он не ожидает, что будет сконфигурирован в неинициализированном состоянии. В LINK++ только вы решаете, когда ваш мод может быть сконфигурирован, а когда нет. Вы можете даже временно отключить конфигурацию мода, если он выполняет какую-то тяжелую инициализацию/обновление и не должен быть потревожен при этом.
- Оригинальный LINK также не дает никаких гарантий того, что обработчик события OnSettingsUpdated будет вызван (вы можете сконфигурировать свой мод до того, как обработчик будет установлен), LINK++ гарантирует это (если, конечно, вы его определите).
- Это устраняет не явность и обеспечивает большую гибкость. В отличие от оригинального LINK, в котором пути к .cfg и .ini определялись из имени файла мода, в LINK++ вы можете явно определить путь к .cfg файлу и пути к .ini файлам мода (да, теперь вы можете определить несколько или даже ни одного .ini файла для вашего мода).
- Теперь для одного мода можно задать несколько конфигурационных записей. Это очень полезно, по крайней мере, в двух сценариях: 1 - если у вас очень-очень большой мод, который технически представляет собой один .esp-файл, но он модульный по своей природе и имеет слишком много конфигураций, чтобы уместиться в одном меню (да, я смотрю на вас, MOO). 2 - вы хотите иметь возможность объединить свой мод с другими модами (которые, возможно, также поддерживают LINK) и по-прежнему иметь возможность настраивать их все с помощью LINK.
- Теперь один мод может определять конфигурационные элементы для других модов. Это очень полезно для добавления поддержки LINK++ в некоторые старые моды, которые уже никто не хочет обновлять (см. например, Configuration Items Begone).
- Мод может по желанию задать свое отображаемое имя, которое будет показано в меню LINK++, а также описание и версию, которые будут отображаться при наведении курсора мыши.
- Теперь вы можете задать собственную иконку для вашего мода, которая будет отображаться в меню списка модов! Это также настраивается, вы можете отключить иконки, если хотите.
- Решает проблему дублирования пунктов меню при наличии файлов .esm и .esp с одинаковыми именами.
- Позволяет добавить некоторую собственную предварительную обработку перед тем, как будет открыто меню конфигурации мода.
Другие особенности:
Нажмите, чтобы показать текст
- Добавлен новый тип настроек: кнопка действия. Это кнопка, которая при нажатии запускает свой callback. Пригодится для таких вещей, как предварительный просмотр звуков, показ информации о каком-либо моде, открытие книги с руководством по вашему моду и т.д., возможности ограничены только вашим воображением. Также полезно для переноса на LINK++ старых модов со сложным меню настроек.
- Теперь можно указать условия, которые должны выполняться для отображения конфигурации. Условия будут обновляться при каждом изменении настроек. Это, например, может быть полезно, если некоторые настройки становятся неактуальными при включении других настроек, или если некоторые настройки актуальны только при установке определенного мода и т.д.
- Нажатие кнопки "Назад" в меню настройки мода теперь возвращает вас в меню списка модов (с сохранением предыдущего положения ползунка), а не в меню выхода. Это поведение настраивается.
- Изменены некоторые настройки LINK по умолчанию, теперь моды сортируются по названиям, а в меню списка модов отображаются только настраиваемые моды. Это делает LINK++ более похожим на MCM.
- Добавлен простой и понятный API для вызова меню LINK++ из скриптов. Это может быть полезно для интеграции меню LINK++ непосредственно в ваш UI мод. Вот пример того, как Slowpard использовал это в своем моде "Progress tracker":
- Не сохраняет лишних данных в файле сохранения.
- Улучшен код, исправлены некоторые возможные ошибки. Добавлена дополнительная валидация, теперь злоупотребить LINK стало немного сложнее.
- Добавление логирования во многие места с различными уровнями, для устранения неполадок можно настроить уровень логирования в .ini файле или в меню LINK++.
Требования
xOBSE, MenuQue - OBSE Plugin, ConScribe (По желанию, если хотите экспортировать/импортировать настройки)
Распаковать в Data, активировать LINK.esp
Обновление
В отличие от оригинального LINK, LINK++ НЕ поддерживает обновление с предыдущих версий без чистого сохранения (и вообще это плохая идея - обновлять моды таким образом). Если вы хотите обновиться до новой версии или перейти с оригинального LINK:
- Если у вас установлен ConScribe, экспортируйте текущие настройки. После удаления LINK/LINK++ они будут возвращены к значениям по умолчанию.
- Удалите ранее установленную версию.
- Выполните чистое сохранение.
- Установите новую версию.
- Если вы ранее экспортировали свои настройки, импортируйте их.
Совместимость
В принципе, то же самое, что и для оригинального LINK: может быть несовместим с модами, изменяющими меню выхода из игры (хотя, кроме оригинального LINK, я о таких не знаю).
- В настоящее время автоматически поддерживаются следующие моды на UI: DarNified UI, DarkUId DarN, Dark Transparent UI и NorthernUI. Другие UI-моды, вероятно, будут использовать ванильное меню, но это не гарантировано, так как трудно точно определить, какой UI-мод у вас установлен.
- Несовместим с оригинальным LINK. Если вы хотите перейти с LINK на LINK++, удалите LINK и сделайте чистое сохранение.
Планы на будущее
- Добавить новый тип настройки для строк с полем ввода текста.
- Добавить новый тип настройки для чисел с текстовым полем ввода.
- Добавить новый тип настройки для комбинаций клавиш.
- Сделать возможным отключение настроек клавиш.
- Добавить новый тип настройки для всех типов массивов.
- Добавить новый тип настроек для цветов, позволяющий выбирать RGB-значение с помощью ползунка и просматривать его в реальном времени.
- Показывать, какие настройки можно экспортировать/импортировать, а какие нет.
- Добавить возможность добавления обработчика для импорта/экспорта настроек кнопки действия.
- Реализовать систему профилей импорта/экспорта.
- Реализовать импорт/экспорт для каждого модуля отдельно.
- Сделать так, чтобы ванильные модули могли использовать некоторые возможности LINK++ (пользовательские иконки, пользовательское название, пользовательское описание, ограниченные кнопки действий).
- Улучшить отображение заголовка cfg_setting_title (сделать возможность отображения большего количества символов).
- Немного оптимизировать работу.
Комментарии