SyDr
Posts: 1054
|
1) Переход пофикшен.
2) Только .ico - только хардкор.
3) Пробелы должны работать.
4) Версии модов нужны только для обновления. Если выставлять напоказ, надо всё же договорится, какой формат стандартный и как сравнивать какой мод новее по версии.
5) Тип мода нужен и используется только для определения стандартного поведния менеджера при отсутствии информации в секции Compatibility. Это название не есть суть мода. Только совместимость. Есть два класса: Feature (совместимы с другими такими же) и Conversion (ни с чем не совместимо). Плюс к ним Interface, который со всеми совместим. Можно их обозначить, как 0, -1 и 1.
6) Добавил проверку на существовании иконки (если файл битый или левый - такое всё равно будет происходить).
|
|
01.07.2013 23:46 |
|
SyDr
Posts: 1054
|
Если выставить Conversion то да, но...
Если выставить Feature -> понадобится прописывать во всех Conversion, которые совместимы.
Если выставить Interface -> понадобится прописывать во всех модах, которые несовместимы.
Я вообще предполагаю, что Conversion будет выставлено у двух-трёх модов. Типа Phoenix, MoP (^_^), HoTL. Ну и авторские карты сюда же.
Ну и поскольку с этим делом слишком много уж вопросов получится у всех.
Имя поля ModType -> CompatibilityLayer
Значения -> Default, None, All
Default (был Feature) - ничего интересного.
None - ни с чем не совместимо. Все совместимости прописываем через секцию.
All - совместимо со всеми. Приоритет выше, чем у None. Все несовместимости прописываем через секцию.
Отношение симметрично. Если мод A несовместим с Б, то и Б несовместим с А. С другой стороны, можно сделать, что А совместим с Б, а Б с А - нет.
Поэтому, для стандартных модов:
WoG -> All
Yona -> All
SSS -> All
FBA -> All
При этом в секцию Compatibility ничего писать не надо.
Добавляем к примеру ещё пару модов:
Dragon Slaughter -> None (с WoG всё равно совместим при таком подходе). Можно выключить Yona, чтоб уж совсем как задумано было.
King in Yellow -> аналогично.
Standart Maps (позволяет мне легко ориентироваться в авторских картах) - All. Прописываем, что несовместим с TDS и KiY.
New Interface Mod -> All
Turbo battles -> All. Несовместим с FBA
Portraits Manager -> All. Несовместим с Phoenix.
New Upgrades -> Default - в этом списке будет несовместим с TDS и KiY.
Phoenix -> None - будет несовместим с TDS, KiY и PM.
и т.д. Здесь пришлось прописать всего 3-4 мода в секцию Compatibility. Это ну никак не n2
|
|
02.07.2013 09:20 |
|
Berserker
Posts: 16657
|
|
02.07.2013 13:35 |
|
SyDr
Posts: 1054
|
Mod Manager_130702.zip
Проверь ещё раз пути к иконкам с пробелами.
Валидные значения для CompatibilityLayer - Default и None. С учётом реализации любое другое значение будет расценено, как All.
|
|
02.07.2013 15:47 |
|
hippocamus
Posts: 517
|
А почему Вогу не выставить Interface? Он же обязателен!
-= подпись Гиппокамуса =-
|
|
02.07.2013 23:27 |
|
Berserker
Posts: 16657
|
|
02.07.2013 23:53 |
|
kswdiy
Posts: 33
|
(01.07.2013 19:10)SyDr Wrote: [info.<Язык>]
Name = Локализованное имя. Можно не указывать.
Description = Имя файла с локализованным описанием. Можно не указывать.
[Compatibility]
<Имя мода 1> = 1 ; совместимо с этим модом
<Имя мода 2> = -1 ; несовместимо с этим модом
Таким образом, необходимый минимум - заполненное поле версия мода.
Пример файла с описанием:
[info]
Name = Standard maps
Description = info.txt
Author =
Link = http://wforum.heroes35.net/
Icon =
Version = 1
ModType = Interface
[info.Русский]
Name = Стандартные карты (на английском)
Description = info_ru.txt
[Compatibility]
Russian Fonts = 1
King in Yellow = -1
New Interface Mod = 0
Dragon Slaugther = -1
Good!
But you need fix Create new configurations to mod_info.ini.
[info]
Icon =
Version =
ModType =
[Compatibility]
...
At last,can you tell me how to use the icon option?
New Mod manger Chinese LNG 13_07_02:
https://www.box.com/s/jfa8979p14dmws7jabk3
|
|
03.07.2013 06:28 |
|
SyDr
Posts: 1054
|
Mod Manager_130703.7z
[info]
Icon = Path_to_icon.ico (Base folder is <HoMM3>\Mods\<Mod dir>\)
Index is not supported (at least now). MM will always use 0/
|
|
03.07.2013 17:49 |
|
WWWoWaNuS
Posts: 138
|
Обновил MM до (03.07.2013 17:49)SyDr Wrote: Mod Manager_130703
Появилась меню быстрого выбора набора WoG-опций. Ура.
Каплю дёгтя: по сравнению с Mod Manager_TV005 (2).zip (версии между ними не тестил, увы..) у меня ощутимо замедлилось время после переключения пресета перед повторной обработкой (проверкой?) окна MM. Задержка составляет пару секунд (на старой версии было меньше), если в это время вручную сменить выделение в списке модов, можно словить "цикл" выбора.
пример
|
|
04.07.2013 03:57 |
|
Bes
Posts: 5422
|
очень неудобно стало следующее...
1) если выбрать мод и сделать с ним что-нить (сдвинуть вниз, или отключить), то "взгляд" следует за этим модом... что в итоге крайне неудобно когда это дело вынуждает вновь тянут бегунок и выкручивать на самый верх до пункта "Включенные"... а ведь я просто хотел опустить мод в списке активных, не более...
можно как-то сделать обновление списка модов без такой вот скроллинг "бяки"? так сказать оставить взгляд там где он изначально был до действия.
К стати, это же актуально и для действия "отключить"... зачем мне видеть куда в итоге встанет мод по алфавиту в списке отключенных модов? ну нажал я отключить мод, и пусть он себе уйдёт в "низы", следовать за ним "взгляду" вообще не логично
2) каждый раз, когда окно менеджера вновь становится активным, происходит обновление списка модов.
Зачем? очень напрягает... Да, я понимаю что это сделано на случай, вдруг я только что распаковал новый мод и он должен в итоге отобразится в списке после возврата в окно менеджера... НО! процент такой нужды куда меньше чем холостое сворачивание и разворачивание менеджера.
Предлагаю на сей счёт добавить кнопку "Обновить список модов"... будет куда лучше, если я добавлю мод и зная что я это сделал а мод ещё не отобразился - нажму "Обновить"
|
|
04.07.2013 07:20 |
|
SyDr
Posts: 1054
|
Mod Manager_130704.zip
WWWoWaNuS, немного улучшил загрузку карты совместимости модов (выключенные теперь вообще не участвуют). Если будет мало, оптимизирую ещё пару моментов.
ИО Bes-а,
1) Сейчас ММ пытается следить за активным модом. С выключением это действительно неудобно. Но ведь по списку чаще всего двигается какой-то определённый мод в определённое место. С вас список действий/список активности после выполнения действия:
Изменение приоритета мода.
Отключение мода.
Включение мода.
Удаление мода.
2) Я пожалуй лучше сделаю, чтобы окно обновялось только при изменениях. Со списком/приоритетами будет легко, а вот с данными о конкретных модах тяжелее (имя, иконка, совместимость и т.д.). Если я найду, как нормально следить, изменился ли файл, всё будет нормально.
|
|
04.07.2013 09:34 |
|
Berserker
Posts: 16657
|
Угу, ибо так удобно, меняешь файл настройки и сразу же видишь обновление без перезапуска. Следить можно по дате изменения файла.
SyDr, будем делать скачивание/обновление модов с выбранного репозитория? Репозиторий - url папки с информацией, например http://bers.heroes35.net/mods/. А в нём файл mods.ini:
Code:
[]
Каноническое имя мода (имя папки) = Местное имя файла | Версия
...
Пример:
Code:
[]
Phoenix = Phoenix Mod 3.63.exe | 3.63
В имени файла на сервере нужно заменить как минимум пробел на %20 или вызвать аналог UrlEncode. Полная ссылка будет [Репозиторий с проверкой косой черты в конце][Локальное имя файла, закодированное]
Ещё хотел спросить, sfx-rar моды менеджер берёт (распаковывает?). Что насчёт модов с другими расширениями? .rar, .wog и т.д. Наконец, некоторые моды заменяют файлы в Help и Tools. Их структура включает Mods, Help, Tools, etc. Их менеджер нормально обрабатывает?
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
04.07.2013 14:16 |
|
SyDr
Posts: 1054
|
По дате изменения... Хм... Посмотрим...
По поводу обновления вообще были мысли сделать в духе:
1) Тип проверки наличия обновления (нет, автоматически - файл определённой струкутуры по определённому адресу), вручную - открывает ссылку в бразуере).
2) Тип обновления (нет, автоматически и вручную.
Это несколько гибче, чем централизованный репозиторий, но и следить за порядком в таком случае тяжелее.
Из форматов ест все те, что есть 7-zip: это и rar'ы, и zip'ы, и даже rarjpeg'и. Расширение файла не влияет ни на что, кроме того, что фильтром по умолчанию стоит только .emp
Неккоректно ММ будет обрабатывать архивы, в которых в Mods\ больше одного каталога (он будет считать это одним модом, но распаковывать будет полностью).
Остальные каталоги внутри архива также будут распакованы, после чего ММ навсегда забудет о них (при удалении мода будет удаляться только каталог с модом).
Ну и наконец, с соглашением о нумерации версий модов: я посовещался сам с собой и решил, что будет два поля:
Version = Value ; в любом виде, в котором только хочется. Именно это значение и будет показываться пользователю в качестве версии (если будет показываться).
Version Date = YYYYMMDDhhmmss ; т.е. 20130704154759, при этом конечные цифры можно будет опускать 20130704 = 20130704000000
|
|
04.07.2013 17:48 |
|
Bes
Posts: 5422
|
(04.07.2013 09:34)SyDr Wrote: ИО Bes-а,
1) Сейчас ММ пытается следить за активным модом. С выключением это действительно неудобно. Но ведь по списку чаще всего двигается какой-то определённый мод в определённое место. С вас список действий/список активности после выполнения действия:
Изменение приоритета мода.
Отключение мода.
Включение мода.
Удаление мода.
в списке чаще отключается некий мод, и куда он там поместится совершенно неинтересно, а по факту это навязчиво показывается человеку.
С включением мода прыжок взгляда вполне оправдан - сразу смотришь как он встал по списку активных - тут вопросов нет.
удаление мода - не пользовался ни разу (предпочитаю это делать, при нужде, в файловом менеджере)
Изменение приоритета: опускаю/поднимаю на две позиции мод, перепроверяю что в итоге выставлено - запуск игры
классич. порядок работы - открыл менеджер, посмотрел что там настроено, отключил несколько модов, т.к. только что установил новый мод sfx-архивом, запустил игру
|
|
04.07.2013 18:07 |
|