Если нравится наш проект, пожалуйста, поддержите любой приемлимой суммой чтобы помочь оплачивать хостинг. Спасибо!
Навигация  🇷🇺RU | 🇬🇧EN

Новые комментарии

Последние файлы

[ Через Yoo.Money ]
(бывшие Яндекс.Деньги) 410011494554572

Contact us if you wish
PayPal or BitCoin donation

Наши друзья

Файловый архив
Dungeon Cleaners (Санитары Подземелий / Planet Alcatraz) .PAK tools v1.5
Автор: CTPAX-X Team Размер: 40 КБ Скачали: 7535 Дата: 2012-07-08 06:48

Утилита для распаковки и упаковки .PAK архивов из игры Санитары Подземелий (Dungeon Cleaners / Planet Alcatraz).

Судя по комментариям тестировавших должна работать и с Planet Alcatraz 2 тоже.

С исходными кодами на C.

FAQ: запуск консольных программ >>>
Комментарии [28]

- - - - Комментарии пользователей - - - -

 2012-09-14 14:51 Guest #1 

запакованные файлы не работают

1) Упаковщик не проверялся на игре - писался по заказу.

2) Ещё убедитесь что запакованные файлы (если это, например, текстуры) в правильном формате. К примеру, игра может не поддерживать новые DX11 текстуры.

 2012-12-15 09:34 Dorje #2 

With cmd works! a billion thanks to ctpax-x!

 2012-12-15 22:44 Dorje #3 

in my humble opinion the unpacking of .pak and .bm with sanunpak.exe works fine, i think the textures are DXT3, the problem are, when you test a repacked file ingame packed with sanpkpak.exe or packfile.bat, the game trows an error, here are the log: http://pastebin.com/6qjKcSTF hope it helps!

Sorry, don't cleary understand it in first time. In other words: everything works fine if you don't change textures? I.e. packer works fine?

 2012-12-21 12:42 Dorje #4 

The unpacker works fine, the packer do not work fine!

i'm trying to pack on .bm for testings, this program works for .bm extension too right?

Thanks for explanation! We're fixed unpacker and packer. Please test and report back. If everything works fine - we replace current version with this one and release source codes. Thanks in advance and sorry for the inconvenience.

 2012-12-22 15:15 Dorje #5 

i cant post messages! is there some kind of filter or.. something? xD please, if you read, let me know if you already knows it works. if not, i will try to post a message lather or contact you!

ok forget last one.. it works! works with .csv files and textures 100%

Thanks for the feedback! We're just update this archive - you can download it with source codes now. And yes - there are some kind of antispam filter, so backup your messages before you send it.

 2014-01-27 02:15 AliceShade #6 

Packer is still acting up. I`m not quite sure what caused it, but a minor edit of one of the csv files (inserted several numbers, total increase less then 1kbyte) caused the repacked file to swell up by 60 kbytes... While on it`s own it`s negligible, there`s also the issue of modified .pak refusing to work.

Thanks for the feedback! About size - most of game files packed with deflate method (used in ZIP archives). There are few files (like *.WAV and *.DDS) which game never pack - probably because in most cases it's useless (you won't gain much space) - just in case packer never pack them too. Also I should warn you, that deflate has 9 level of compression (0 - fastest and bigger, 9 - slower and smaller) and packer uses default level 6 (reasonable tradeoff between packing speed and size), but even if you use the same compression level you can get a different by size compressed files depending of what implementation of deflate library you are using. So difference in size can be explained very easy just make sure that files exactly the same (unpack and compare with originals) to exclude possibility of a bug in packer.

So, the question is: the game didn't run with the repacked archive if you change something inside? If that so - could you please provide us with the original and modified csv files (please upload on any fileshare service which didn't require registration for download files - like www.mediafire.com). Just add "_" char at the start of the name of modified file, so we can easily know what's what (example: "weapons.csv" and "_weapons.csv"). And last question: did the game refuse to work if you change only that file or (it's important) if you change that file and something else? Thank you!

 2014-01-27 22:25 AliceShade #7 

Out of curiosity, I`ve performed the clean test - copied original data.pak into separate directory, used unpacking script to unpack it into data/ folder, renamed original into data.bak and then used packing script on data/ folder to repack it into data.pak without changing anything within.

Sadly, it gave me the exact same result as my previous attempt with modified file, except this time the increase of size was by ~94 kb. Other then that, it crashed exactly like the modified package.

http://pastebin.com/EVQ1Jw6i - all the data I was able to obtain about crash.

Game used is Dungeon Erasers, patch 1.0.5, russian version.

Thank you for the test and report! As you can see in comments above Dorje has some kind of error too and looks like its similar to yours. Did you get packer/unpacker from our site or not because this behavior (with error you got) looks like an old version of the tools which has a bug in it (in packer and unpacker - so you should unpack game files again with fixed unpacker). We update it some time ago, so if you download it somewhere else or here, but before it was patched - please redownload now. If you are already have the latest version (v1.1) - please write back, because we don't have the game now and it take some time to get it and check whats wrong. As you can see this can be a long process (day or two), so it's better check everything before we do that. By the way: did you have enough free space on the disk drive where you repack game files? Thank you.

 2014-01-28 00:57 AliceShade #8 

I`ve got the tools from the link on top of this page last week.

There is no issue with disk space - I`ve been performing experiments on the drive that has over half a terabyte of free space. I sincerely doubt it`s possible to pack up enough in less then two gigs to take up all the space.

Just in case, I`ve checked - the total size of folder containing unpacked files is 2 027 498 351 bytes. Size of original pak file is 2 008 066 025 bytes, so compression was pretty minimal - I suspect that only csvs were compressed to any degree, being plaintext.

I had a question for you to consider, however. The error in both cases complained about a specific file. Could it be that original .pak contains folder structure that was ignored in the unpacking? Because everything that was unpacked was dumped into one folder with no substructure whatsoever. Because patch introduced some of the files present in pak (patch replacements, I`m guessing), and it did add some folders for those files.

Could it be that unpacker hoses the folder structure, and packer then repacks everything as if it were all in a same folder, causing the game to crash due to simply not locating file where it expects it to see?

Thank you for the tests and answer! We get this game in a day or too. We never test a patched version, so it's unknown if patch change anything there or not. Filename inside archive must be 127 characters long (can be less, but can't be more), in retail version there are no subfolders in filenames, but you are right - patch can change this. Would you please upload headers from your .pak files? Here pak_dump.zip - please make a header dump (filename.pak.dat) for all .PAK files (run this tool for every .pak file) and upload somewhere in .ZIP archive. Thank you.

 2014-01-28 22:46 AliceShade #9 

Well, I`ve got the header dumps right here.


There are three files included. There are two pak files in the original, and I`ve included a header dump of modified data.pak for comparison.

Out of curiosity, I hit the dumps of original and modified data.pak with hex comparator, and they seem to be vastly different inside. Order of files within modified pak is vastly different. Not sure if it is relevant to the problem, but it`s very much curious, considering the total listing of the files was not changed at all.

Thank you! Looks like there is nothing wrong with the header, maybe the file order is the culprit... Still don't have the game, but you can test this tool: santools.zip - it's a WIP (Work In Progress), so if you have any problem - please write back. If you run it you can see few examples of usage. You can extract, list and update files, but can't add new or delete existing. Repacked archive will be placed in file named (for example) "_ata.pak" for "data.pak" (first character will be replaced with "_"). Please replace one or more file in archive and write back - if game still crashes or not (just don't forget to move original archive somewhere and rename new archive file, so the game can see it as original one). Thank you.

 2015-03-21 19:05 svin #10 

А как распаковать файлы карт (.ai или erm)? Очень нужно.

Неизвестно. Никто из нас с этим форматом не разбирался.

 2016-01-20 18:37 qqqbbb #11 

Ни версия 1.1 ни версия из 9 поста не создают читающийся data.pak. При запуске игры вылазит ошибка: "FileInArchive_c: Decompress error...". Версия игры 1.05.

Нда... Там ошибка была - таблица размещения файлов не перезаписывалась на исправленную в заголовке нового архива. Поправлено - просьба проверить новую версию программы из 9-ого сообщения. Ждём отчёта. Спасибо!

 2016-01-23 19:41 qqqbbb #12 

С новой версией тоже самое - ошибка "FileInArchive_c: Decompress error...".

Понятно, спасибо! Игры нет и места, чтобы её поставить, тоже нет (там около 10 Гб нужно - образ, установленная игра, распакованные файлы). Если игре не нравится сжатие - то не вопрос, его можно отключить (это, правда, раздует размер архива, ну да ладно). Но сначала нужно проверить, что игре именно сжатие не нравится. Просьба проверить на версии из 9-го сообщения:

santools.exe u data.pak mainmenu.dds

santools.exe u sound.pak man_attack_14.wav

Взять какой-нибудь .DDS файл (можно из распакованных из игрового архива - так будет точно понятно, что игра эту версию .DDS поддерживает), переименовать в "mainmenu.dds" и обновить этот файл в игровом архиве указанной командой - этот файл не сжат, так что и упаковщик его сжимать не будет, а просто заменит. По идее, должна текстура главного меню смениться (к сожалению, игры нет - только заголовки архивов, так что это только предположение основанное на имени файла).

В "sound.pak" вообще ни один файл не сжат, так что там можно любой звук заменить - например первый - "man_attack_14.wav" (тоже просьба взять какой-нибудь файл из игры).

Если несжатые файлы заменяются нормально, то можно просто отключить сжатие при обновлении файла в архиве. Но это нужно проверить.

 2016-01-23 23:34 qqqbbb #13 

После замены обоих файлов игра запустилась.

Небольшая просьба: сделайте так чтобы файлы распаковывались в отдельную папку, а не в текущую.

Спасибо за проверку! Новая версия лежит там же - в 9-ом сообщении. Просьба внимательно прочитать справку - формат вызова изменился. При обновлении файлов не из текущего каталога, новый архив будет создан там же:

santools.exe u media05.bm aryancent_q_white_conrabandist.csv csvfiles

"_edia05.bm" будет создан в каталоге "csvfiles", а не в текущем.

Просьба сообщить о результатах.

 2016-01-24 13:17 qqqbbb #14 

Всё отлично работает. Архивы из 2-ой части игры тоже распаковываются и обновляются.

Большое спасибо за проверку! А ещё такой вопрос: можно проверить новую версию (лежит там же - в 9-ом сообщении)? Возвращено назад сжатие, но теперь с той же старой версией zlib (1.2.1), которую использует сама игра - сжатые файлы получаются точь-в-точь как были (проверено на архиве "media05.bm" из патча 1.05). Просьба протестировать - заменить какой-нибудь сжатый файл в "data.pak". Узнать какие файлы сжаты очень просто - в первом столбце при расширенном выводе списка файлов должна стоять единица (1 - сжат, 0 - не сжат):

santools.exe f data.pak

Программа автоматически сжимает те файлы, которые уже были сжаты в архиве. Если их заменили прошлой версией программы на несжатые, то они сжиматься уже не будут! Просьба проверить эту версию - не хочется совсем от сжатия отказываться. Спасибо!

 2016-01-25 19:17 qqqbbb #15 

сжатые файлы заменяються без проблем.

Большое спасибо за проверку и за сообщение об ошибке!

Документация, утилита и её исходные коды обновлены.

 2016-03-18 03:34 Akira #16 

Привет, очень хотелось бы помодерствовать на СП, но че то никак не могу разобраться со списком аргументов. Я так понял, что, например,

Santools u media02.bm items.csv должен обновлять файл items в архиве media02 и при этом тот и другой должны находиться в той же папке что и сам santools так? Проблема в том, что консоль просто зависает, ощущение что там идет что то вроде бесконечного цикла, процесс не убивается, и никакого output'a тебе. И вообще ни одна команда пока не сработала корректно. L создала файл пустой, но потом тоже повисла, в чем может быть дело? Кстати - единственное, что сработало - старая версия sanunpak, она хотя бы смогла распакавать media02.bm, но собрать обратно не могу. Подсобляйте комрады. У меня win7x64, если это имеет значение.

1) Win7 x64 роли не играет - программа работает и под Win10 x64.

2) У комментатора выше проблем не было, из чего следует, что...

3) Возможно, что-то с версией игры не то. На примере файла "media05.bm" из патча

Сохранить список всех файлов в файл "list.txt":

santools.exe l media05.bm > list.txt

Смотрим список, находим там какой-нибудь файл (например "rynda.csv") и распаковываем его:

santools.exe x media05.bm rynda.csv

Меняем файл как нужно и упаковываем обратно:

santools.exe u media05.bm rynda.csv

В результате получится новый файл "_edia05.bm" содержащий в себе перепакованный "media05.bm" с заменённым "rynda.csv".

Просьба проверить работу программы именно на этом файле "media05.bm" из патча. Установщик патча можно распаковать при помощи innounp, если нет желания патч ставить.

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

 2016-03-18 19:19 Akira #17 

Нет, ничего не сработало, дело не в файле (кстати я пытаюсь вскрыть СП2, забыл упомянуть, но думаю разницы никакой). Пробовал Вскрыть media05.bm из патча первой части - тот же результат. Консоль виснет, помогает только убить процесс (кстати у меня почему то в списке процессов есть два неубиваемых процесса santools.exe помимо того, который я запускаю и убиваю). Спасибо, что дали исходник, сижу копаюсь, zlib скачал, собрал exe, но пока безуспешно, он все равно виснит и ниче не делает. Надо бы отладить, думаю запустить сразу с аргументами и пошагово дебажить. Пока результатов ноль. Какие нибудь наметки есть вообще? Где может быть собака? Либы какие то нужны может дополнительно еще? И кстати, есть вариант быстрой связи с кем-нибудь, кто работал над тулзой? В комментах срач наводить не хочется. Пойдет любой вид живого чатика.

 2016-03-18 19:32 Akira #18 

О мой б-г, как же я опростоволосился. Прошу простить за наведение паники. Новый Avast теперь вообще не оповещает о том, что он тестирует программу, либо не доверяет ей. Сидит себе молча и блочит ее. Прошу прощения еще раз, проблема решена.

Для все остальных совет: не забывайте про антивирь.

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

 2016-04-26 20:07 Дмитрий #19 

А у меня выдает такую ошибку, при попытке запаковать измененный файл на место. Can not create output archive file.

Скорее всего либо нет прав на запись в тот каталог, куда планируется записать выходной файл, либо в имени файла какие-нибудь неразрешённые символы, типа "?" или "*". А, ещё нельзя чтобы в выходном каталоге был каталог с тами же именем как у выходного файла, т.е. если, например, пакуется "media05.bm", то каталога (папки) с именем "_edia05.bm" там не должно быть (при упаковке первый символ имени оригинального файла заменяется на подчерк).

 2016-04-26 20:15 Дмитрий #20 

Нужно созать копию архива? и использовать один как входной, второй выходной?

Пардон за дезинформацию. Судя по исходным кодам там не так. Выходной файл автоматически создаётся из имени входного, только первый символ на подчерк заменяется. Можете здесь привести всю строку, которой пакуете файлы? И ещё, что за система и как (Far, TC, CMD) запускаете упаковщик?

 2016-04-26 20:29 Дмитрий #21 

C:\Users\Дмитрий>D:\sp2\santools.exe u D:\sp2\buildings.pak D:\sp2\pol_bar_hi.dds

Система Вин7 64, запускаю упаковщик через CMD

А! Всё понятно. Дело в том что "D:\sp2\buildings.pak" при упаковке превращается в "_:\sp2\buildings.pak", а это некорректный путь. Прочитайте сверху ссылку "FAQ: запуск консольных программ" чтобы разобраться. Запускать нужно из текущего каталога (программа _не_ работает с абсолютными путями, а только с относительными). Т.е. после запуска CMD нужно ещё выполнить:


cd \sp2\

А только потом уже:

santools.exe u buildings.pak pol_bar_hi.dds

 2016-04-26 20:42 Дмитрий #22 

Урааа получилось) спасибо большое)

Отлично и спасибо что отписались, а то иногда непонятно, то ли человек разобрался, то ли махнул рукой и всё бросил.

 2016-05-21 16:47 svin #23 

Поражает ваш постоянный фидбэк) Спасибо за работу.

Спасибо, стараемся.

 2017-06-04 10:00 Nowarroe #24 

Распаковщик работает! Есть ли утилита для конвертации распакованных bma\bms файлов в удобоваримый формат? :)

К сожалению, ничем не можем помочь. Если такая утилита и существует, то нам о ней неизвестно.

 2017-09-24 20:09 SusieQ #25 

Для конвертации bma/bms можно потыкать эту штуку https://sourceforge.net/projects/bmabms2obj/

К коду приложено несколько неиспользуемых классов от Skyfallen, возможно они могут быть кому-то интересны.

Кто-нибудь знает, что за файлы cms и для чего они нужны? Обычно лежат в паре с одноименным bms.

 2022-07-07 14:27 egen #26 

Привет. Санитары подземелий 2

santools.exe версия 1.5. Добавлять файлы в архив (media01.bm) умеет?

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

 2022-07-09 13:53 egen #27 

Спасибо за ответ. Увы в Си - "ни в зуб ногой".

Комментарий удалите.

Ну, комментарий никому не мешает, пусть будет. Возможно у кого-то такой же вопрос появится.

 2023-11-15 09:04 Timofei #28 

С "санитарами" всё работает, но .bm архивы в других играх, сначала распаковываются нормально, а в конце обрушиваются. Можете подсказать, есть ли какие-то подобные утилиты для других игр на TheEngine (движке, на котором писаны санитары)? Или эта утилита как-то тоже может использоваться в той же "Магии Крови"?

Спасибо, посмотрели .BM файлы в патче к игре "Магия Крови". Там два изменения во внутреннем формате архива: во-первых, поле под имя файла сократили до 64 символов (char name[128] до char name[64]), а, во-вторых, если поле pack раньше было 0 (данные не сжаты) или 1 (данные сжаты zlib), то теперь оно 5 (маска 4 + 1) и сами файлы не распаковываются - судя по всему они зашифрованы. Однако архивы обеих частей "Магии Крови" (Dawn of Magic) можно распаковать программой QuickBMS со скриптом Dawnofmagic2 (ссылка). Ещё есть программа Dawn of Magic .BM Tool v1.0, которую можно скачать из Discord фанатов игры (ссылка).

Ваше имя:
Текст комментария:

    © CTPAX-X 2006-2024 | engine version 2.5
Based on original site design by Blade



При копировании материалов ссылка на сайт WWW.CTPAX-X.ORG обязательна!
Использование материалов влечёт безоговорочное принятие правил сайта.
Количество запросов к БД: 8 | Страница сгенерирована за 0.010483 сек.