Сейчас на форуме: localhost1, vsv1, asfa, tyns777 (+4 невидимых) |
eXeL@B —› Вопросы новичков —› Распаковка/запаковка ресурсного пака. Требуется помощь. |
Посл.ответ | Сообщение |
|
Создано: 21 апреля 2019 05:33 · Личное сообщение · #1 Распаковка/запаковка ресурсного пака с заменой файла текстуры. Помогите кому не сложно. Требуется помощь в замене 1 файла с текстурой (png) в паке текстур игры. Не читерство, а просто оптимизация трассера стрелы для мониторов 19-21" (ибо лук иначе неиграбелен совсем). Разрабам писал, но видимо у них моники по 29" и им насрать)). Расширение пака cmpack. Открывается 7zip, но только видит файлы, а распаковать не может- пишет неподдерживаемый метод сжатия. Раньше делал сам, но из-за читеров запаковали всё подряд, в том числе и эти текстуры. Искал как можно распаковать/запаковать, но ничего конкретного не нашел. Как я понял операция не сложная, но мне как не специалисту не понятно в каком направлении искать информацию по этому вопросу. Подскажите где найти как это сделать. Ну или замените сами если не сложно. пакет с ресурсами art.cmpack для игры Life is Feudal 0.25.6.1 на движке Torque 2d/3d (Torque Game Engine, or TGE, is an open-source cross-platform 3D computer game engine) DIE для клиента игры library: Qt(5x) compiler: MS Visual C++ linker:Microsoft Linker(14.16)[EXE64] > пак с текстурами 17.4 мб https://cloud.mail.ru/public/4yNN/XJfS2AHNZ > файл который требуется добавить с заменой 5.04 мб https://cloud.mail.ru/public/45C7/25jXuPzTz > клиент игры 27.4 мб https://cloud.mail.ru/public/2C2h/3zAEi1aC9 > ссылка с офф сайта https://cdn.xsolla.net/life-is-feudal/launcher/life-is-feudal-mmo-installer.exe Не знаю что еще может понадобиться, если чего то не хватает - напишите. erwin911@mail.ru или в теме или ЛС Заранее спасибо всем кто откликнется. |
|
Создано: 21 апреля 2019 09:05 · Личное сообщение · #2 |
|
Создано: 21 апреля 2019 13:11 · Поправил: erwin9 · Личное сообщение · #3 |
|
Создано: 21 апреля 2019 14:35 · Поправил: f13nd · Личное сообщение · #4 zip архив с кастомным кодеком. На глаз точно не deflate, напоминает что-то типа lz77. Добавлено спустя 34 минуты quickbms не знает такого алгоритма, лемпель-зив просто концепция, кодировать каждый может по-своему. 0000005Dh 00 00 0A 39 69 43 43 50 50 68 6F 74 6F 73 68 6F ...9iCCPPhotosho 0000006Dh 70 20 49 43 43 20 70 72 6F 66 69 6C 65 p ICC profile 00000044h 00 00 0A 4F 69 43 43 50 50 68 6F 74 6F 73 68 6F ...OiCCPPhotosho 00000054h 70 20 49 43 43 20 70 72 6F 66 69 6C 65 p ICC profile 4F 69 скорей всего управляющий код, в нем обычно 2 поля: смещение (количество бит определяет длину окна) и количество переносимых байт. Возьми исходник лемпеля-зива (можно прямо из quickbms) с плавающим окном и подбирай поля. Если в процессе не расхочется, может быть сможешь разобраться Можно реверсом самой игры себе немного помочь. ----- 2 оттенка серого |
|
Создано: 21 апреля 2019 17:48 · Поправил: SDK · Личное сообщение · #5 |
|
Создано: 21 апреля 2019 18:37 · Поправил: f13nd · Личное сообщение · #6 SDK пишет: Подумаешь, премудрости, шлеп, шлеп и готово. Если бы я еще каждый день этим занимался то может шлеп-шлеп и готово бы было. Пару раз приходилось так делать, но там к алгоритму не было доступа. 0001361D очевидно размер, F0 1E управляющая информация, 89 50 ... 44 52 несжатые данные, про фотошоп строчка 24 байта. 00000000h 04 22 4D 18 54 50 C0 1D 36 01 00 F0 1E 89 50 4E ."M.TP..6.....PN 00000010h 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 00 00 01 G........IHDR... 00000020h 00 00 00 00 80 10 06 00 00 00 B4 25 6B 49 00 00 ...........%kI.. 00000030h 00 09 70 48 59 73 00 00 0B 13 04 00 F0 FF B6 01 ..pHYs.......... 00000040h 00 9A 9C 18 00 00 0A 4F 69 43 43 50 50 68 6F 74 .......OiCCPPhot 00000050h 6F 73 68 6F 70 20 49 43 43 20 70 72 6F 66 69 6C oshop ICC profil В лемпеле-зиве есть управляющее поле (часто 1 байт, но здесь несжатых явно не 8 край), обычно в биг эндиане, проверяется старший (или не старший) бит, 0 обычно значит байт (или не байт) несжатых данных (или наоборот), 1 сжатые, потом сдвиг влево (/вправо) и снова проверка. При несжатых берется очередной байт и помещается в выходной буфер, при сжатых выбирается управляющее поле (произвольной длины, чаще 2 байта) из двух - смещение назад в буфере на выходе и количество байт, которые надо скопировать. После того, как все биты первого поля обработаны, выбирается следующее и так далее. Это уравнение с целой кучей неизвестных, определяемых только фантазией разработчика. И это еще самый простой случай, lzma сложней. ----- 2 оттенка серого | Сообщение посчитали полезным: SDK |
|
Создано: 21 апреля 2019 20:19 · Личное сообщение · #7 |
|
Создано: 21 апреля 2019 20:41 · Личное сообщение · #8 LinXP пишет: хз что это может быть, может подпись... Да не, блок-то вполне понятный ----- 2 оттенка серого |
|
Создано: 21 апреля 2019 21:13 · Поправил: LinXP · Личное сообщение · #9 f13nd аа, ну таки это цифровая подпись, просто на глаза ни разу не попадалась, а открывать 010 леньки было... не, "зип" один, https://i.imgur.com/pbiVcdw.png - тут добавил костыль "+2" и всё сошлось.. Добавлено спустя 3 часа 7 минут вообщем сжатие lz4f, скрипт: 0fb1_22.04.2019_EXELAB.rU.tgz - cmpac.bms | Сообщение посчитали полезным: Wilps, alexlight777 |
|
Создано: 22 апреля 2019 05:14 · Личное сообщение · #10 |
|
Создано: 22 апреля 2019 06:12 · Личное сообщение · #11 |
|
Создано: 26 июня 2020 11:54 · Личное сообщение · #12 Запаковать обратно не получается, вот что пишет консоль при попытке запаковать даже один файл. - open input file C:\Users\Nameless\Documents\images\backpack_bottom.png - open script C:\Users\Nameless\Documents\quickbms\cmpack.bms - set output folder C:\Users\Nameless\Documents\repacked offset filesize filename -------------------------------------- - signature of 4 bytes at offset 0x00010146 doesn't match the one expected by the script: this one: "" 03 00 9e 04 .... expected: "PK" 50 4b 05 06 PK.. - 0 files reimported in 0 seconds coverage file 0 0% 4 65884 . offset 0001014a Press ENTER or close the window to quit 05a8_26.06.2020_EXELAB.rU.tgz - Capture.PNG |
|
Создано: 26 июня 2020 12:15 · Личное сообщение · #13 |
|
Создано: 26 июня 2020 15:42 · Личное сообщение · #14 |
|
Создано: 01 июля 2020 22:44 · Личное сообщение · #15 Так ещё раз Я распаковал cmpack файл внутри которого и папки с png и просто png файлы лежат. В примере выше я реимпорту указываю 1. скрипт bms 2. файл закоторый я пытался запаковать .png (select input archives/files) 3. папку которую я назвал repacked (select output folder) и в итоге вылезает ошибка. LinXP сверху пишет что входящий файл должен быть .cmpack... зачем мне cmpack запаковывать в cmpack? Как мне хотя бы png файл обратно запаковать, а лучше понять как и папки тоже. Где документацию почитать я не знаю, именно по этой проблеме, да и стоит ли небольшое изменение интерфейса в этой убогой игре таких мучений. В любом случае очень приятно что так быстро ответили, большое спасибо. |
|
Создано: 02 июля 2020 00:57 · Поправил: LinXP · Личное сообщение · #16 alexlight777 открываешь quickbms.txt и читаешь "3) Reimporting the extracted files" Code:
quickbms не умеет создавать новые архивы, он умеет только импортировать именённые, поэтому для ре-импорта нужно указывать оригинальный архив | Сообщение посчитали полезным: alexlight777 |
|
Создано: 03 июля 2020 01:31 · Личное сообщение · #17 |
eXeL@B —› Вопросы новичков —› Распаковка/запаковка ресурсного пака. Требуется помощь. |