Обсуждение Утаптываем pc_eng.str на CD-R

Edison007

Ветеран
Модератор
Mickey1s, ты не прав) всё, что использую есть на паблике
 

Гатс

Новичок
архив не сжат, распакованные файлы весят столько же. у него просто приватные компрессоры (dlz, lolly(zi),oggre и т.п.), поэтому выиграть по лосслесс сжатию его не получится, можно даже не пробовать.
Не думаю что можно выехать чисто на детекте raw аудио и прикручиванием заголовков.
Нужно именно разбирать файл на части, что думаю и сделал Эд.
==
oggre ? lolly? :D
 

Гатс

Новичок
выиграть по лосслесс сжатию его не получится, можно даже не пробовать.
Я вожусь с этим файлом давно и в нём столько козырей запрятано. Так что резерв еще есть и рекорд Эда не предел.
==
Кстати, Эд, замерь всё таки время распаковки 791 MB, т.к 30 минут я считаю вменяемым.
 

Edison007

Ветеран
Модератор
http://forum.xentax.com/viewtopic.php?f=17&t=8017
можно распаковать этот архив, мб кому пригодится
здесь с распаковкой есть некоторые проблемы для сжатия)
Возьмём например файл "Tosca.wav" (не уверен, что он именно так называется)

извлекаем и получаем raw-кусок на 51.7 мб, посмотрим что он из себя представляет.
https://i.gyazo.com/4eac4babe3c95684464007bc5ae3c012.png

Да, явно видны лишние данные в потоке, окей, вычистим файл от ереси)
https://i.gyazo.com/3599269be448d0d085dc4e39d4964cdc.png
Картина явно изменилась, да и поток выглядит по-другому, сравним сжатие.

Оригинальный извлеченный файл: 51,7 МБ (54 316 678 байт)
разделённый на мусор/pcm-сигнал: 184 КБ (188 416 байт) + 51,6 МБ (54 128 262 байт).

Прилепим wave-заголовок к raw_pcm данным (44100/3/16bit), пожмем wav с помощью TAK, а мусор в lzma.

Код:
оригинальный_файл+tak:p4m - 12,6 МБ (13 254 974 байт)
обработанный+lzma:lc2:lp0:pb0:fb96/tak:p4m - 12,5 МБ (13 120 244 байт)
здесь разница не столь интересна конечно, чем, например на M06PartyBlues/rock/salsa, однако там немного другой финт)
 
Последнее редактирование:

Edison007

Ветеран
Модератор
Я вожусь с этим файлом давно и в нём столько козырей запрятано. Так что резерв еще есть и рекорд Эда не предел.
Очень близко к пределу) Сам я вроде года с 2012 мучаю его

Кстати, Эд, замерь всё таки время распаковки 791 MB, т.к 30 минут я считаю вменяемым.
Мне лениво вспоминать все нюансы, и что как обработано, да и придется для восстановления прогу дописывать) как-нибудь, когда переделаю всё)
 
Последнее редактирование:

Гатс

Новичок
Да, явно видны лишние данные в потоке, окей, вычистим файл от ереси)
Руками от мусора чистил? на слух?
Мне лениво вспоминать все нюансы, и что как обработано, да и придется для восстановления прогу дописывать) как-нибудь, когда переделаю всё)
Будем пинать тебя:yes:
 

Edison007

Ветеран
Модератор
ну и собственно оставлю цитату из скайпа:
Код:
[16.08.2017 20:06:17] Edison007: сегодня я решил опять вернуться к pc_eng.str из хитмана
[16.08.2017 20:06:38] Edison007: и на этот раз под цель попало три трека
[16.08.2017 20:06:49] Edison007: а именно из миссии "убийство воронов"
[16.08.2017 20:15:18] Edison007: в общем, до этого результат на тех файлах - 66,5 МБ (69 809 815 байт)
использую набрученные optimfrog+sac
теперь же использую TAK - 52,7 МБ (55 334 749 байт)

[16.08.2017 20:16:02] Edison007: нужно еще обратное восстановление проверить
[16.08.2017 20:16:21] Edison007: но я думаю там всё нормально
[16.08.2017 20:24:29] Edison007: https://i.gyazo.com/0621bee4ad5bca5163a5b821a693ba51.png
[16.08.2017 20:26:29] Edison007: собственно это значит, что уже побит рубеж в 800мб
[16.08.2017 20:26:53] Edison007: Примерный результат на данный момент: 830 486 383 небольшой +-

А файлы следующие: M06PartyBlues, M06PartyRock, M06PartySalsa.

Вообще, как и некоторые, изначально я думал что это трёхканальное аудио с некоторой лишней инфой или простеньким шифрование (типа xor). Т.к при их извлечении и проигрывании был слышен некий лишний звук (щелчки, писк итд), а в самой игре такого не наблюдалось.

Спустя какое-то время в моей голове засела мысль, что на самом же деле внутри потока не один файл, а два (но руки не доходили проверить то времени нет, то еще чего), и на это намекало несколько вещей:

1. В таблице имен хранились еще 6 треков на том же смещении.
Например :
17 | 66884200 | 31880052 | 24 | 2 | 44100 | 16 | Music/Licensed/M06PartyBlues

2 | 66884200 | 28337824 | 24 | 2 | 44100 | 16 | Music/Licensed/M06_Blues_Double_Trouble.wav
2 | 66884200 |  3542228 | 24 | 1 | 11025 | 16 | Music/Licensed/M06_Blues_Double_Trouble_Radio.wav

Тип аудио (возможные значения: 2,17, 3,4) | смещение | размер | какой-то размер для таблицы | кол-во каналов | частота | битность | имя файла

2. Неправильное проигрывание этих аудио (уже писал выше).
3. Плохая сжимаемость данных файлов.
[17.08.2017 1:48:49] Edison007: Несколько последних дней, между перерывами от безделья, вынашивал мысль как же всё же определить, где какой поток.
[17.08.2017 1:52:22 | Изменены 1:52:40] Edison007: И всё оказалось перед носом. Оказывается размер M06PartyBlues кратен размеру M06_Blues_Double_Trouble_Radio.
31880052 / 3542228 = 9 и здесь появилась мысль, что идет 8 байт одного трека, 1 байт второго, но нифига не вышло.
И очевидная мысль меня настигла сегодня, из-за того что битность у треков 2 байта и первый трек - стерео и второй - моно, было решено проверить: 16 байт на первый трек и 2 на второй

[17.08.2017 1:58:32 | Изменены 1:58:53] Edison007: Теперь нужно добраться до "тяжелых" компрессоров, optimfrog/sac дадут еще некоторой профит
[17.08.2017 1:58:50] Edison007: Вот такая вот история (bow)
 

Edison007

Ветеран
Модератор
Руками от мусора чистил? на слух?
Не, там наблюдались некие закономерности, чет писал для этих целей)
Там есть еще файлы с подобным:
TomorrowNeverDies_Mix.wav
TomorrowNeverDies_Mix_mono.wav
Но это я оставлю вам на тесты, а у меня появилась еще одна идея)

И у Skymmera результат поменьше есть) ~ 862 773 758
 

Гатс

Новичок
Там есть еще файлы с подобным:
TomorrowNeverDies_Mix.wav
TomorrowNeverDies_Mix_mono.wav
Ну, в общем под козырями я это и имел в виду, т.к очень интересные файлы, нужно просто их размять.
а у меня появилась еще одна идея)
В ходе этого обсуждения появилась?
 

Edison007

Ветеран
Модератор
В ходе этого обсуждения появилась?
можно сказать и так)


Мне как-то делать было нечего написал наговнокодил дампилку ima_adpcm с приклеиванием WAVE-заголовков

По сути делает тоже самое, что скрипт с xentax только побыстрее, и дампится без лишней инфы* для сжатия не особо важно, зато можно послушать)
* почти внутри всех ima_adpcm хранится дополнительная информация (скорее всего для анимации лиц), которая мешает нормальному проигрыванию.

Вообще в планах когда-нибудь полностью доделать дамп, но ХЗ когда.
юзать: exe "pc_eng.str", вроде чет работало
 

Вложения

Гатс

Новичок
Утилита гуд!
Проигрывается действительно лучше чем после bms
 

Edison007

Ветеран
Модератор
ммм, надо смотреть как у меня в репаке пожато) ну там что-то типа:
Код:
srep:l32+msc:raw1:tak9+lzma2:lp0:pb0:lc4
 
Сверху