Цитата(Qwertyus @ 18 Feb 2015, 02:14)

Очень бы хотелось увидеть среди геройских утилит удобный просмотровщик карт!
Как минимум, что хотелось бы от программы:
1. Возможность указать каталог, в котором утилита обнаруживает все имеющиеся карты, создавая либо выпадающее меню со списком найденных карт, который бы легко прокручивался колёсиком мыши, либо полноценный список, в котором можно было бы выбирать курсором/щелчком мыши нужную карту.
2. Утилита отображает основную информацию о каждой выбранной карте: 1) формат карты (RoE/AB/SoD/WoG/HotA), 2) название сценария, 3) описание сценария, 4) размер карты, 5) наличие подземного уровня 6) условия победы, 7) условия поражения, 8) информация об игроках (количество людей/количество ИИ, наличие союзов, доступные типы замков в стартовых городах), 9) дополнительная информация (любые другие параметры сценария, типа запрещённых героев/заклинаний/артефактов/навыков, инфа о сложности сценария, ограничение опыта героев, + специально для WoG - определение наличия встроенных в карту скриптов).
Итак, спустя несколько лет с момента выхода этого поста и год с момента анонса приложения с моей стороны (в другой теме) у меня таки дошли руки сделать альфа-версию приложения, частично реализующего указанный функционал

Назвал его каталогизатором карт Героев 3.
ОписаниеВнешний вид:
https://ibb.co/tqSd1vGПриложение позволяет искать в указанной директории файлы с картами Героев различных версий (пока что - кроме WoG). Найденные карты отображаются в таблице, где выводится основная информация о них. С помощью фильтра можно отобрать карты по нескольким критериям, после чего отметить из них нужные и выгрузить их в другую директорию.
Установка Приложение на Python, поэтому запускаться будет на любой ОС, где есть интерпретатор Питон версии 3.5 и новее. Единственное - для работы графического интерфейса нужен ещё фреймворк PyQt5.
В общем виде инструкция по установке выглядит так:
1. Установить Python 3 (для Windows можно брать тут:
https://www.python.org/downloads/windows/). При установке прописывать его в $PATH.
2. Установить PyQt5: "pip3 install PyQt5" в командной строке. Может, есть и другие способы, я не искал. Утилита pip устанавливается вместе с Python и лежит в директории bin внутри директории, куда установлен сам Python, если не путаю.
3. Скачать архив с приложением по ссылке:
https://github.com/drevoborod/homm3-maps-cataloguer/releases4. Распаковать папку src из архива, остальное для запуска не нужно.
ЗапускЗапустить с помощью Python 3 файл src/cataloguer.py. В случае с Windows или большинства популярных линуксовых DE - просто щёлчок по значку (только файл должен иметь права на исполнение, разумеется)
Развитие проектаПланируется добавить в ближайшее время- кнопка "сбросить значения фильтра";
- пункт "Всё" в выпадающих списках фильтра;
- кнопка "выделить всё/снять выделение" в таблице карт;
- нормальное форматирование таблицы - чтобы сразу был виден весь нужный текст;
- поддержка формата WoG.
Планируется добавить позднее- улучшение возможностей парсинга файлов карт. Сейчас из файлов считываются не все параметры - к сожалению, освоить формат для меня оказалось немного сложновато, несмотря на имеющиеся описания, которые в основном устарели, так что ещё продолжаю разбираться.
- после улучшения парсера - расширение возможностей фильтра;
- более удобный установщик. Сам я использую Linux, поэтому для питоновских скриптов мне инсталлятор вообще не нужен, но в будущем планирую сделать самораспаковывающийся архив под Windows со всем необходимым, включая интерпретатор, внутри.
- ну и куча мелких визуальных улучшений - например, возможность копировать текст из таблицы, хелп и т.д.
Добавление под вопросом- отображение мини-карт в таблице. Пока не представляю, как это сделать, и не уверен, что найду время разобраться.
Не планируется добавлять- редактирование файлов карт. Во-первых, для этого существует профессиональный редактор карт, несравнимо более сложный, чем мой каталогизатор; во-вторых, мне бы с парсингом разобраться как следует, где уж тут кодирование реализовать...
Дополнительная информацияПроект является для меня учебно-развивающим (изучаю Qt) и делается в свободное время, к тому же я пока не являюсь профессиональным разработчиком ПО, так что больших возможностей от приложения ждать не надо. Однако, буду очень признателен за конструктивную критику и "хотелки". Со своей стороны обязуюсь по мере возможности отвечать на все предложения и либо реализовывать их, либо обосновывать, почему они не будут реализованы. Оставлять пожелания, наверное, можно в этой теме (если модераторы не против) или прямо в виде issue на гитхабе, где приложение выложено. Можно и в личку писать, конечно, только на этом форуме сильно ограничено количество личных сообщений, и ящик может переполниться.