1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

UELR 0.1.0

рекомпрессор unreal engine lzo контейнеров

  1. Ветеран Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    889
    Симпатии:
    496
    Или же пускай юзает стандартную для движка функцию сжатия. А то каждый мододел будет юзать разные версии/функции и че каждую добавлять?
    Насчет многопоточности я уже ответил)

    ага) кое-какой самопал, только для тестирования
     
    Последнее редактирование: 4 май 2018
  2. Ветеран Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    889
    Симпатии:
    496
    Небольшой апдейт пакера.
    Только прирост скорости (сделал чтобы компилилось на GCC/в х64 вариант), никаких новых типов не добавлено (чет как-то совсем не хочется этим заниматься). Анпакер остался от предыдущей версии.

    Код (Text):
    type1:
    uelr_v010b_x86 - 8.13 secs.
    uelr_v011c_x86 - 7.59 secs. (~ +  6.6 %)
    uelr_v011c_x64 - 7.24 secs. (~ + 10.9 %)

    type1_with_brute:
    uelr_v010b_x86 - 37.24 secs.
    uelr_v011c_x86 - 34.80 secs. (~ +  6.5 %)
    uelr_v011c_x64 - 32.94 secs. (~ + 11.5 %)

    type8:
    uelr_v010b_x86 - 181.90 secs.
    uelr_v011c_x86 - 159.86 secs. (~ + 12.1 %)
    uelr_v011c_x64 - 121.06 secs. (~ + 33.4 %)
    ХЗ, вроде чет работает)
     

    Вложения:

    • uelr_0.1.1c.7z
      Размер файла:
      136,8 КБ
      Просмотров:
      93
    -NORO-, dixen18, 78372 и 6 другим нравится это.
  3. Ветеран

    Регистрация:
    3 фев 2014
    Сообщения:
    186
    Симпатии:
    38
    покопался с инсталятором этого мода
    сама тулза открытая
    https://github.com/MassEffectModder/MassEffectModder
    сжатие lzo тут
    https://github.com/MassEffectModder/MassEffectModder/tree/master/MassEffectModder/Helpers/LZO2
    где нужно что изменить, чтобы сделать совместимое сжатие с uelr?
    может в lzo1x.h?

    я к чему
    попробовал снова ужать все..
    заняло неделю (10-12ч день + спящий режим)
    в итоге:
    Total skipped LZO stream size: 5162582kb (всего ~26GB)
    и
    CRC errors...
     
  4. Ветеран Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    889
    Симпатии:
    496
    toolame, исходники lzopro имеются?
     
  5. Ветеран

    Регистрация:
    3 фев 2014
    Сообщения:
    186
    Симпатии:
    38
    а они нужны?
    разве там не самодостаточный набор?
    компилится lzo2wrapper.dll
    который вроде как и отвечает за декод\энкод
    в #include'ах нет ничего такого чего нет в сборке
     
  6. Ветеран Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    889
    Симпатии:
    496
    для совместимости с uelr нужны функции сжатия из lzopro
     
  7. Ветеран

    Регистрация:
    3 фев 2014
    Сообщения:
    186
    Симпатии:
    38
    хех((
    это же коммерческая херь да?
    он через либу (lzo2.lib) что ли реализовал?

    ладно, попробую еще разок пожать
    через недельку\полторы отпишусь
    uerl выдает там кучу Type 0,Brute=0000h \ Type 0,Brute=0017h \ всяких
    может из-за них CRC
    а может из-за спящего режима (хотя lolz его переживает без проблем)
     
  8. Ветеран

    Регистрация:
    3 фев 2014
    Сообщения:
    186
    Симпатии:
    38
    на Alice: Madness Returns крашится новая версия
    старая работает (анпакер новый тоже)
    http://www.mediafire.com/file/a7cefgscqhf2f7t
     
  9. Ветеран Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    889
    Симпатии:
    496
    Забавно, забавно, быстренько глянул че тут к чему.
    В абсолютном большинстве случаев сжимаются абсолютно все блоки, и без разницы сжимаемые они или нет.
    А вот в данных файлах могу быть сабблоки без сжатия.
    В принципе поправил, но часть потоков скорее всего не разжимается, нужно этот момент проверить.
     
  10. Ветеран Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    889
    Симпатии:
    496
    и так, возьмём файл Chapter4_W1_East_08_NPC.umap, смотрим в логе:
    Код (Text):
    00006A55C9h: LZO (Compr: 006BEC3h, Unpack: 008BF37h, Type 1)
    00007114C4h: LZO (Compr: 0082CE7h, Unpack: 00AC6F8h, bad   - skipped)
    00007941EBh: LZO (Compr: 01F98D6h, Unpack: 01F9DA8h, bad   - skipped)
    000098DB51h: LZO (Compr: 00BC898h, Unpack: 00FD2A9h, Type 1)
    вырежем блок который начинается на смещении 00007114C4h, выйдет файл на 523кб. Натравим на сдампленный файл uelr и получим:
    Код (Text):
    0000000000h: LZO (Compr: 0082CE7h, Unpack: 00AC6F8h, bad   - skipped)

    WARNING! Stream does not contain LZO-compressed blocks!
    Total non-LZO stream size: 523kb
    Total skipped LZO stream size: 0kb
    All OK!
    Из-за 1го несжатого сабблока, скипается весь блок, на самом же деле данный файл должен разжаться ~ в 706 296 байт
     
    Последнее редактирование: 16 июл 2018
    agent555 нравится это.
  11. Ветеран Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    889
    Симпатии:
    496
    В добавок небольшой тест.
    Если разжать с помощью uelr и пакануть в 7-zip (lzma дефолт) выходит - 9,02 МБ (9 459 731 байт), а если разжать все потоки+7-zip, то - 8,95 МБ (9 389 283 байт)
    Но потребуется время (ХЗ сколько), чтобы добавить поддержку
     
    agent555 нравится это.
  12. Ветеран

    Регистрация:
    3 фев 2014
    Сообщения:
    186
    Симпатии:
    38
    я старой версией прошелся, всего ~600mb non-LZO stream из 5.77 GB
    кстати, почему оно туда (non-LZO) записывается? ведь это skipped LZO stream должно быть
     
  13. Ветеран Модератор

    Регистрация:
    15 июн 2011
    Сообщения:
    889
    Симпатии:
    496
    В исправленной должно быть также, я там заменил функцию декомпрессии на safe-вариант, она не крашит не на LZO-данных, но немного медленнее. Может потом залью, сейчас лень профайл пилить

    Потому что не может проверить (распаковать) весь блок, и пакер считает, что блок с не lzo данными.
    A lossy данные разжимаются нормально, но не сжимаются обратно, примерно так.
     
    Последнее редактирование: 16 июл 2018
    dixen18 и agent555 нравится это.
  14. Ветеран

    Регистрация:
    3 фев 2014
    Сообщения:
    186
    Симпатии:
    38
    а что будет делать uelr если LZO блок был намеренно распилен?
    т.е. начало то у блока есть (считай есть инфа где он начинается\кончается), а самого конца нету (может даже с середины)
    мне кажется, там нет обработки такой ошибки, да?
    Код (Text):
    0017DB9D3Ah: LZO (Compr: 00BEA8Bh, Unpack: 00D3CEEh, Type 1)
    0017E7880Dh: LZO (Compr: 00AE93Eh, Unpack: 00C9A56h, Type 1)
    0017F27193h: LZO (Compr: 00D22CBh, Unpack: 00F14EAh, Type 1)
    0017FF94AEh: LZO (Compr: 009983Fh, Unpack: 00A27D2h
    Total non-LZO stream size: 53759kb
    Total skipped LZO stream size: 0kb
    All OK!
    непонятно что с последним блоком происходит
     

Поделиться этой страницей