Решил покопать сие творение. И как все могли заметить изменилась упаковка графики. Так что если не против модераторы, то пусть тема повисит. Может кто поделится своими исследованиями, если есть такие. Я немного покопал паки с графикой (я не силен в графике), но структура проясняется. Приведу все найденное в порядок - выложу.
Спасибо за внимание!
было бы очень полезно иметь чёткое представление как там dds распределены по пакам... сейчас там просто блочная мешанина
я сделал сортировку по размеру dds, но и она относительна и не даёт тонкой сортировки моделей битв, карты приключений и т.д.
Спасибо за ссылку. Если кто с этопростоя поддерживает контакт, попросите, может он знает полный формат архива.
Посмотрел программку, которая распаковывает pak-и. Как я понял там просто поиск zlib сигнатур по файлу и их распаковка. Хотя там вполне логичная структура. Например, первым запакован в х3 спрайтах деф (хоть он уже и не деф) - ABF01B.
Вкратце,
0х04 - смещение на структуру с описанием "дефов" (или групп рисунков). Далее structure.
structure + 0x0 - имя структуры/дефа
structure + 0x20 - ссылка на структуру кадров в дефе (состоит из имени кадров, их описания и zlib архива dds)
structure + 0x24 - размер описания кадров
structure + 0x28 - размер zlib архива dds
Пока так топорно и неопрятно. На выходных попробую запилить программку. А также сейчас смотрю формат dds, может получиться распилить на кусочки.
Здорово, не растерял ты навыки )
Вот на основе редактора карт БлэкФантома сделал редактор карт для HD Edition c возможностью генерации случайных карт. Кстати я помню кто-то делал прогу для создания шаблонов. Кто-то пользовался той прогой она вообще нормально работала? И ссылка есть у кого?
http://dropmefiles.com/DpQLo
Следующим шагом попробую восстановить автосейвы.
пойду продам твой редактор убейсофту... давно хотел слетать на море )))
Дьякон Wrote:Вот на основе редактора карт БлэкФантома сделал редактор карт для HD Edition c возможностью генерации случайных карт.
(14.02.2015 20:54)Дьякон Wrote: [ -> ]Кто-то пользовался той прогой она вообще нормально работала?
Нормально, но MS Excel удобнее. Разве что генерации схемы не хватает.
Дьякон Wrote:Следующим шагом попробую восстановить автосейвы.
А можно там восстановить работоспособность под XP?
И прикрутить ERM. И Эру... и губозакаточную машинку...
Заменил архив в посте, чтобы при генерации карты видно было, что нужно выбирать HD Edition
(14.02.2015 20:54)Дьякон Wrote: [ -> ]Кстати я помню кто-то делал прогу для создания шаблонов. Кто-то пользовался той прогой она вообще нормально работала? И ссылка есть у кого?
Да, хорошая прога. Всегда ею пользуюсь.
ссылка
(14.02.2015 21:30)Algor Wrote: [ -> ]А можно там восстановить работоспособность под XP?
Можно попробовать просто тупо поменять PE формат, я так понимаю в нем проблема, что не запускается. Хотя конечно гарантий нет никаких - это я так просто попробовать. У меня ХР нет - попробовать не могу.
AKuHAK= Wrote:Вот сделал распаковщик игровых архивов для QuickBms.
Порядок действий:
качаете КвикБМС;
запускаете quickbms.exe;
выбираете мой скрипт;
выбираете pak архив, который желаете распаковать;
выбираете папку, куда пойдут распакованные файлы.
В итоге файлы распакуются с их настоящими именами + распакуется текстовый файл, в котором будут указаны расположения подтекстур. Ну и конечно ещё одна возможность - файлы можно изменять и запковывать обратно. Для этого достаточно запустить reimport.bat, и повторить последовательность дествий описанную выше только в последнем пункте выбрать папку, где лежат модифицированные файлы. Не обязательно класть все файлы в папку, для ускорения процесса достаточно пложить только модифицированные. Единственное ограничение - модифицированные текстуры не должны занимать больше места в сжатом виде, чем оригнальные структуры в сжатом виде.
Скрипт
Если не скачивается, то код скрипта под спойлером:
Code:
# Heroes 3 of might and Magic UG Edition
# updated by AKuHAK
# script for QuickBMS http://quickbms.aluigi.org
Get DUMMY long # 04 00 00 00
Get TABLEOFFSET long # start of all offset table
GoTo TABLEOFFSET
Get FILES long # get number of files
For i = 0 < FILES
SavePos OFFSET_TABLE
GetCT NAME string 0x00 # name of file
set NAME_TXT NAME
string NAME_TXT += ".TXT"
math OFFSET_TABLE += 20 # after text some code phrase, ignore it
GoTo OFFSET_TABLE
Get OFFSET_TXT long # offset of txt file
Get SIZE_TXT long # size of txt file
Log NAME_TXT OFFSET_TXT SIZE_TXT
Get TEXTURES long # number of textures stored in dds
Get ZSIZE_ALL long
Get SIZE_ALL long # ZSIZE and SIZE of whole texture pack
set OFFSET OFFSET_TXT
math OFFSET += SIZE_TXT # calculating starting offset of whole texture
set MINIOFSET TEXTURES
math MINIOFSET *= 4
SavePos OFFSET_TABLE
For j = 0 < TEXTURES
GoTo OFFSET_TABLE
Get ZSIZE long
math OFFSET_TABLE += MINIOFSET
GoTo OFFSET_TABLE
Get SIZE long
math OFFSET_TABLE -= MINIOFSET
math OFFSET_TABLE += 4
set NAMEI NAME
string NAMEI += j
string NAMEI += ".DDS"
Clog NAMEI OFFSET ZSIZE SIZE
math OFFSET += ZSIZE
next j
next i
круто, именно это и хотелось иметь - видеть где какие файлы!
поиск теперь стал человеческим как и с родными геройскими ресурсами