Quote:Вот, например, выпустил кто-то мод на 150 Мб, но зависимости изменились. Что, опять 150 Мб качать? Или выдавать пользователям инкрементальный апдейт?
В современное время редко кто занимается микроуправлением с инкрементальными обновлениями. Например, разработчики CMS Joomla за годы проблем пришли к выводу, что каждое обновление будет полным дистрибутивом (у кого файлы какие удалены, как переименованы, как измененены — всё перепишется). Я тоже теперь за полные сборки. Собственно, уже и радуюсь инструменту по сборке Эры автоматом.
Quote:Но ненормально, что он говорит:
WoG Rus идёт после WoG. Это должен сам WoG Rus писать (а лучше в одном месте записать).
Phoenix Mod верхний над всеми. А если кто-то скажет, что он выше? Sm
Нормально, если он знает, что так нужно и так играет.
Моды — просто порядок наложения файлов друг на друга. Если я включая зависимости в сборку в виде файлов, как сейчас плагины тащатся и дублируются, то либо всё в один мод забиваю (выполняя ручное наложение файлов), либо через installmod гарантирую порядок активации. Это нормально. Конфликт будет (уровня совета), если два мода захотят видеть другие два в разном порядке.
Quote:ValeryMap depends on:
- fred objects patch (этот по возможности должен быть выше morn)
- morn object patch
BersMap depends on:
- morn objects patch (этот по возможности должен быть выше fred)
- fred object patch
Идеальный пример. В карте Валерия объекты Фреда должны перекрыть при совпадении объекты Морна, а в моей наоборот (я поклонник полей боёв от Морна, не Фреда). Пользователь будет извещён о противоречии, но поскольку карта Валерия установлена последней, то её и послушаем в плане порядка. Тем не менее, в списке противоречий моего мода будет конфликт с настройками ValeryMap.
Если же порядок зависимостей не важен, то формально всё хорошо, зависимости разрешены. Однако предполагается, что зависимости не имеют перекрывающихся файлов. А это наивно )
Quote:Централизованный подход выкидывает целый пласт проблем, связанных с необходимостью сливать информацию из кучи модов вместе, а потом каким-то образом решать конфликты между ними (а они ведь будут).
Нажатием кнопки в ММ на конкретном моде: «Устранить конфликты», после чего модификации конфликтующие на основе явно прописанных зависимостей, отключаются. Напомню, в зависимостях можно указывать и неупорядоченные наборы модов:
BersMap:
[
["fredobjects", "mornobjects"] // порядок не фиксирован, лишь бы были объекты
]
ValeryMap:
[
"mornobjects", // порядок фиксирован
"fredobjects"
]
Вот теперь два мода совместимы и порядок будет диктовать карта Валерия.
Quote:Новый ММ работает с list.json
Ты начал переписывать его или это старый новый?
/P.S. Можем временно отложить упорядочивание модов и зависимости, пока не будет DLL с простым API по работе с ними. Удобно вызывать из AutoIt внешние функции с соглашением stdcall?