GeorG
Чародей божьего бага
Команда форума
Администратор форума
Пользователь VIP
Почётный пользователь
Участник форума
- Регистрация
- 31 Мар 2010
- Сообщения
- 20.664
- Реакции
- 5.472
- Баллы
- 1.181
- Лучшие ответы
- 84



Большая интерактивная карта мира Elex
Автор: hhrhhr (собственно на его гитбабе и находится скрипт для создания карты из ресурсов игры.
Саму интерактивную карту мира Elex, можно открыть в браузере (в Мозилле у меня что-то не открылась, в Хроме нормально).
Эта карта сложена из ресурсов игры (объединении маленьких карт), её можно использовать для обозначений нахождения квестодателей, телепортов, продавцов, учителей, расположение врагов, полезного лута и.т.д..
Технические детали (для тех кому интересно как всё там работает, как создана карта, и для того чтобы делать доработки под себя)
Получение тайлов карт (отдельных плиток карт):
Что тут происходит:
Файлы .dds находятся формате DX10 со сжатием BC7. Для массового преобразования я использовал Compressonator (пока не смог найти других CLI-утилит, поддерживающих DX10-текстуры):
Получаемые фрагменты карт имеют весьма скромные размеры 256x256, потому их можно объединить с помощью ImageMagick в плитки по 512x512 px, применив для этого tga_256_to_512_webp.lua
После этого, вместо 1983 штук оригинальных плитки получает только 540.
Вы можете сами настроить формат вывода, для это вам нужно отредактировать переменные magick4 и tile в tga_256_to_512_webp.lua
(Перевод мой, выполнен в свободной форме, надеюсь ничего не упустил из оригинала)
Код:
if not exist .\map_dds mkdir .\map_dds
lua pak_unpack_map.lua path_to\c_1_na.pak .\map_dds
- скрипт ищет файл 0_na_img\w_img_0_na.csv в c_1_na.pak
- читает и сравнивает хэши в именах файлов (например w_img_0_na_98ca6197.rom -> Map_0000_0057_0029)
- конвертирует имена из игровых файлов Map_ZZZZ_YYYY_XXXX в формат elex-Z-Y-X (убирает нули из формата даты)
- копирует тайлы в формате DDS и новыми именами в папку .\map_dds
Файлы .dds находятся формате DX10 со сжатием BC7. Для массового преобразования я использовал Compressonator (пока не смог найти других CLI-утилит, поддерживающих DX10-текстуры):
Код:
if not exist .\map_tga mkdir .\map_tga
for /r .\map_dds %i in (*.dds) do @CompressonatorCLI "%i" ".\map_tga\%~ni.tga"
Код:
rem Make filelist
dir /b /s .\map_tga\*.tga > .\map_tga\tga_filelist.txt
if not exist .\map_www mkdir .\map_www
lua tga_256_to_512_webp.lua .\map_tga\tga_filelist.txt .\map_www > convert.cmd
rem Running the resulting batch-file
convert.cmd
Вы можете сами настроить формат вывода, для это вам нужно отредактировать переменные magick4 и tile в tga_256_to_512_webp.lua
(Перевод мой, выполнен в свободной форме, надеюсь ничего не упустил из оригинала)
Вложения
-
609,4 КБ Просмотров: 949
Последнее редактирование: