Time Paradox Map Tool v3.1.0

Пользовательские клиенты, программы, картосшиватели, боты, решение вопросов по ним

Time Paradox Map Tool v3.1.0

Сообщение Otto » 09 апр 2014, 17:27

Доброго всем дня :D Делимся нашим картографом с общественностью.

КАРТОГРАФ.
Должен работать с H&H тоже, но возможны нюансы. В любом случае, доработаем по пожеланиям.

Текущая версия: 3.1.0
Внесено множество исправлений в работу программы (см. ReadMe)

Изменения:
1. Добавлен режим ручной склейки карты в тестовом режиме.
2. Перемещение центра карты теперь предварительно очищает папки зуммирования и по окончании процедуры перемещает координаты в 0:0. Добавлена обработка ошибок и исправлены некоторые баги.
3. Пересоздание уровней зума теперь предварительно очищает папки зуммирования.
4. Режим Haven&Hearth в настройках теперь переименован в Display Cave Levels (отображать уровни пещер)
5. В настройки добавлена возможность перемещать склеенные сессии в отдельную папку. Необходимо указать папку для перемещения сессий в опциях. Если не стоит режим удаления сессий, то все склеенные сессии перемещаются в неё.
6. Добавлено логирование возможных ошибок при склейке карты.

В работе:
1. Определение загрузки 25% CPU при работе. (Но работает-то шустро ;) )


Ручная склейка запускается через меню Map-Merge:Manually
В отдельном окне открывается обозреватель сессий, и 2 карты. Слева - ваша карта, справа - выбранная сессия. Режим зума работает только на левой стороне.
Через Alt+Click необходимо выбрать СЛЕВА куда будет вклеена сессияя (zoom только 1:1 или 1:0.5 )
Через Alt+Click необходимо выбрать СПРАВА по какому фрагменту будет отцентрирована сессия.
По нажатию кнопки Merge. Сессия будет вклеена в архив.


Что умеет программа:
1. Просмотр игровой карты с 6-ю уровнями зума.
2. Автоматическая быстрая склейка всех сессий в единую карту и добавление новых сессий к существующей карте с проверкой их местоположения.
3. Ручная склейка карты.
4. Отрисовка координатной сетки, отображение локальных координат вплоть до игрового тайла.
5. Установка маркеров с комментариями на карту и отображение качества спотов/ресурсов.
6. Отображение подземных слоёв H&Haven&Hearth c наложением на карту или вышележащие слои.
7. Опциональное удаление папок сессий после их обработка (сбор мусора).
8. Откат сессий после склейки.
9. Ручное удаление фрагментов карты.


Описание:
Интерфейс:
Стандартный картографический интерфейс.
Драг-дроп - смещение карты.
Скролл - изменение масштаба. Масштаб указан в углу, кол-во тайлов на пиксель.
Клик - работа с маркерами.

Галочки отвечают за:
g - grid (отрисовка сетки)
m - markers (отображение маркеров)

Содержание XML Файлов:
Settings - настройки путей. Заполняется из программы (меню Options), но можно указать вручную, не забыв добавить \ в конце пути.
Markers - ваши маркеры. Один есть для примера.
Exceptions - тайлы, исключённые из проверки. Заполняется автоматически, но можно добавлять вручную.
MergerError.log - создаётся для последней сесии склейки карт в случае появления "битых" сессий для поиска "битых" тайлов.

Первый запуск:
После запуска необходимо зайти в настройки и указать 2 пути (всплывающая подсказка в наличии)
1. Путь к архиву карт. Создайте/укажите папку, куда программа будет складывать итоговый архив. Например "C:\Map\"
2. Путь к директории с сессиями салема. Например, "c:\Documents and Settings\user\Salem\map\roanoke.seatribe.se\"

Галочку "удалять обработанные сессии" ставить не нужно. Она используется для удаления обработанных программой сессий, и не рекомендуется к использованию если вы не уверены, что программа отработает без ошибки. Воспользуетесь когда привыкнете к программе.


В архиве необходимо создать папку с именем "5" (Например, "C:\Map\5\") и поместить туда один или несколько тайлов для начала склейки карты. Если не создать папку 5, программа создаст её сама, но всё равно нужно поместить туда начальные тайлы. Можно просто скопировать туда одну сессию (сами тайлы, а не папку).

После выполнения указанных действий в меню нажать MapMerge.
Если пути указаны правильно, программа начнёт склейку сессий, и выдаст итоговый отчёт. При большом объеме накопленной информации возможна длительная работа, вплоть до 2-3 минут, однако небольшие карты (10 тысяч тайлов) программа переваривает достаточно быстро.


Особенности работы:
Первичная сверка тайлов происходит по размеру, поэтому если в вашем архиве нет ни одного тайла, совпадающего с вашими сессиями, то ничего в него добавлено не будет.

Сессии, в которых тайлы присутствуют в неверных местах карты (например в битых сессиях тайлы города влезают в вашу глухомань), будут проигнорированы. Разумеется, для этого на карте должен быть сам город. Информация по этому тайлу логируется в файл MergeError.log примерно в таком виде:
Session: C:\SalemMap\Temp\2014-04-06 16.54.26
Session match: tile_10_2.png
Archive match: tile_12_1.png
Delta: 2_-1
Session Error Tile : tile_0_1
Supposed to Match in Archive: tile_2_0.png
Matched in Archive: tile_0_7

Это значит что в указанной сессии, совпал тайл 10.2 с тайлом 12.1 архива, исходя из этого сессия переиндексирована, но при дальнейшей проверке выяснилось, что тайл 0.1 сессии не сопал с тайлом 2.0 архива (что вполне возможно), но почему-то совпал с тайлом 0.7 в архиве. Проверяйте почему. Одинаковые тайлы не могут находиться в разных местах, если только это не вода/горы/снег, которые исключаются из проверки.
Если у вас появилась битая сессия, но все тайлы отличаются (по размеру) от тех, с которыми должна пройти проверка, то программа не сможет распознать что сессия битая. Такое бывает в давно не обновлявшихся кусках карты.

Тайлы, которые присутствуют на карте во множественном числе (вода, горы, снег) будут добавлены в файл для игнорирования (Exceptions.xml) Можно добавлять их туда автоматически, указывая размер в байтах.

Если хотите сместить координаты, например переместив 0.0 на Вашу деревню, скопируйте в пустой архив центральный тайл вашей деревни, сменив ему индекс на 0 : 0, и скормите картографу уже имеющийся архив с картами, он найдёт ваш тайл, и скоприует всю карту, попутно её переиндексировав.

Маркеры:
Устанавливаются кликом мыши на карте.
Удаляются/редактируются кликом мыши на маркере (должен быть подсвечен).
Второе (белое) поле существует для описания маркера. Если заполнено, будет отображаться на карте, в противном случае будет отображаться качество спота, рассчитанное из цветных полей ниже. Их заполняют, указывая процентное содержание составляющих элементов, например 25.3, 45.7; сумма всех четырёх полей должна быть в диапазоне от 0 до 100. Разумеется, при указании точных цифр, она всегда будет 100, но каких-то ограничений на заполнение полей не прописано.

Баги:
Текущая версия стабильная, но досконально не тестировалась. Будем устранять ошибки по мере обнаружения.
Склейщик карт работает по достаточно сложному алгоритму, хочется надеяться что всем понравится, но на всякий случай делайте бэкапы карты.

Скриншоты:
Изображение
Изображение
Изображение
Изображение

Настройка к H&H происходит аналогично.
Задавайте вопросы, будем отвечать.
Последний раз редактировалось Otto 07 сен 2015, 15:47, всего редактировалось 6 раз(а).
Сообщество Time Paradox
Аватара пользователя
Otto
 
Сообщения: 191
Зарегистрирован: 09 мар 2012, 15:11
Откуда: Time Paradox

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение Otto » 17 апр 2014, 18:42

Текущая версия версия 2.1.4
Добавлена возможность отката склейки карты.

При автоматической склейке картограф копирует обработанные сессии в папку Backup.
При нажатии правой кнопки на клетке карты, если она есть в бэкапе, появится список сессий, до которых можно провести откат. Сессия выбирается двойным нажатием.
Далее программа предложит:
1. откатить только на данную сессию, не затрагивая последующие;
2. откатить все сессии по всей карте последовательно, после выбранной, т.е. все изменения после данной сессии, включая её.

Откаты предназначены для восстановления карты при появлении битых кусков. Хотя вероятность их появления значительно снижена, панацею пока не изобрели.

В настройках программы выбирается срок хранения сессий в бэкапе, в днях.

Изображение
Последний раз редактировалось Otto 18 апр 2014, 15:25, всего редактировалось 4 раз(а).
Сообщество Time Paradox
Аватара пользователя
Otto
 
Сообщения: 191
Зарегистрирован: 09 мар 2012, 15:11
Откуда: Time Paradox

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение soos » 17 апр 2014, 19:27

Ссылка что-то у меня не открывается и скриншоты тоже.
Под линуксом программа работает?

ЗЫ: Извиняюсь за офтоп, как можно в LiF поселиться? Я бы хотел попробовать.
soos
 
Сообщения: 61
Зарегистрирован: 09 апр 2012, 19:11

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение Otto » 18 апр 2014, 13:10

Странно, однако. Все ресурсы на Dropbox расположены. Видимо, тебя туда не пускает.
Загрузил в виде архива здесь
Сборка на winforms поэтому под линуксом не пойдёт, если только в эмуляторе.

В ЛиФ пока закрытая альфа, туда только за предоплату пускают. Открытая альфа начинается через месяца 2. В любом случае, можно нас найти через форум ЛиФ, или пиши в личку =) 8 акков пробились наших в альфу, осваиваемся. Игра впечатляет.

PS Программа обновлена до версии 2.1.4. Детали выше.
Баги устранены.
Сообщество Time Paradox
Аватара пользователя
Otto
 
Сообщения: 191
Зарегистрирован: 09 мар 2012, 15:11
Откуда: Time Paradox

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение Sagrer » 20 апр 2014, 12:55

Отличная штука, спасибо).

Если бы программка умела ещё сама без шаманства с путями хранить несколько слоёв карт (для пещер и более глубоких уровней) - для рудокопов в H&H цены бы ей не было, хотя и так неплохо, можно просто менять пути и запускать несколько копий одновременно.
Sagrer
 
Сообщения: 275
Зарегистрирован: 29 авг 2013, 12:25

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение Otto » 20 апр 2014, 13:58

Посмотрим, что можно сделать :)
Сообщество Time Paradox
Аватара пользователя
Otto
 
Сообщения: 191
Зарегистрирован: 09 мар 2012, 15:11
Откуда: Time Paradox

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение Otto » 22 апр 2014, 16:17

Добавлена версия 2.2.0, тестовая

1. Битые сессии теперь сохраняются в отдельную папку ErrorSessions.

2. Добавлен режим работы для Haven&Hearth - включается и выключается галочкой в опциях.
Позволяет отображать до двух слоёв карты одновременно (5 слоёв шахт и слой поверхности).
Нижний слой из двух отображаемых всегда полупрозрачный.

При первой склейке карты программа добавляет в папку архива директории Cave1 - Cave5. Соответственно, в каждой из них будет отдельный набор папок 1-5 с фрагментами подземных карт.
Чтобы программа начала склеивать подземные уровни, необходимо поместить по одному тайлу в соответствующую папку 5 подземного уровня.
Чтобы карта отображалась корректно, необходимо переименовать помещаемый тайл, чтобы его индекс соответствовал индексу фрагмента с вашей шахтой на поверности(или предыдущем уровне, если копаете глубже).
Например, если ваша шахта находится по координатам 2_5, то тайл с шахтой на -1 уровне тоже должен иметь индекс 2_5.

После указанных процедур можно повторно запускать механизм склейки карты - программа поочерёдно пройдётся по всем уровням и добавит найденные файлы. Чёрный подземный тайл можно добавить в исключения, если каким-то чудом он сам туда не попал.
Собрано на скорую руку на коленке, поэтому если будут баги - присылайте. Отзывы о работе тоже были бы полезны.
Интерфейс топорный, в следующих версиях доработаем.

Выглядит всё вот так:
Изображение
Изображение
Изображение
Сообщество Time Paradox
Аватара пользователя
Otto
 
Сообщения: 191
Зарегистрирован: 09 мар 2012, 15:11
Откуда: Time Paradox

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение Sagrer » 22 апр 2014, 21:12

это офигенно, особенно режим с наложением карт друг на друга )

З.Ы. клиент ендера обычно складывает карты шахт в отдельную папку - на том же уровне что Map лежит папка Cave - приходится чтобы сгенерировать всё или копировать карты из Cave в Map или менять пути и генерить в несколько проходов, проще скопировать.
З.Ы.№2 по завершению генерации выдаёт ошибку:
 
System.IO.DirectoryNotFoundException: Не удалось найти часть пути "E:\Games\Installed\HnH_Ender_x64\map\5".
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.FileSystemEnumerableIterator`1.CommonInit()
в System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
в System.IO.Directory.EnumerateFiles(String path)
в LiF_Tools.Analyser.MapAnalyse(List`1 IgnoreTileList, MainForm main)
в LiF_Tools.MainForm.Menu1_Click(Object sender, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.MenuStrip.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


В прочем сами карты нормально генерируются, достаточно перезапустить программу.
Sagrer
 
Сообщения: 275
Зарегистрирован: 29 авг 2013, 12:25

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение Otto » 23 апр 2014, 10:37

Выложил версию 2.2.1
Пофиксил баги картосшивателя для режима ХиХ, слегка оптимизировал работу.
Сообщество Time Paradox
Аватара пользователя
Otto
 
Сообщения: 191
Зарегистрирован: 09 мар 2012, 15:11
Откуда: Time Paradox

Re: Salem Map. Программа по работе с картами от Time Paradox

Сообщение Sagrer » 25 апр 2014, 13:42

http://gyazo.com/5e368f82f88f0d738084323c260ec2b1

выдаёт при последующих генерациях, тестовая 2.2.0 на те же файлы ругается что они заняты другим процессом, хотя проверял анлокером - никем они не заняты. По ощущениям генерация при этом отрабатывает не полностью, часть тайлов остаются старыми.
Sagrer
 
Сообщения: 275
Зарегистрирован: 29 авг 2013, 12:25

След.

Вернуться в Programmer's Magic & Arcana

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron