Декомпрессия форм ESM-ESP файлов
Сегодня 12792 1656 Автор мода: Mitradis Автор публикации: Mitradis Версия: 2.0 Перевод: Русский

Декомпрессия форм ESM-ESP файлов

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

Речь пойдет о главных мастер файлах игры. Т.к. после всех манипуляций сначала обнаружилось, что их пересборка дает положительный результат. Позже стало ясно, что речь идет о эффекте декомпресии форм, которую я проводил при пересборке мастер файлов. Предыдущая версия этого исправления основывалась именно на таких файлах прошедших сложную процедуру переработки через TES5EDIT. Но как уже тогда выяснилось, данный редактор в корне ломает сами файлы и порядок данных в них. Я выпускал версии исправления этих файлов где с помощью моей мини пакетной утилиты NifScan я производил восстановление удаляемых TES5EDIT данных при сохранении, а так же пересортировку. Но все это... скажем так, мягко не устраивало меня т.к. сами файлы все равно были не те, не в оригинальном исполнении данных. И даже самые последние версии TES5EDIT ничего не меняли в этой ситуации.

Учитывая все факты и положение дел я решил работать с файлами esm\esp напрямую через ту же свою утилиту. Для этого я полностью переделал раздел утилиты по работе с файлами, оставив лишь одну кнопку, за которой все необходимое, без необходимости парсить оригинальные файлы для восстановления утраченных байтов. Одной кнопкой теперь можно разжать формы в любых файлах. Функция достаточно простая и работает по принципу поиска нужных форм, определение сжата ли ли форма, извлечения сжатых данных, декомпрессия и обратная запись с обновлением всех смещений в т.ч. зависимых, в блоках которые TES5EDIT просто удаляет (разрабы не поняли просто что это за блоки и решили удалять). Таким образом сам файл в его исходной форме остается прежним. На месте совершенно каждый байт и все формы в прежнем порядке.

После предельно детального изучения вопроса с TES5EDIT я категорически НЕ рекомендую вообще когда либо производить там пересохранения мастер файлов, очисток и пр.

За основу были взяты оригинальные мастер файлы от версии 1.9.32.0.8 (BD72CCF3 Dawnguard.esm | A9F83BFF Dragonborn.esm | AF82CE6A HearthFires.esm | C665FD56 Skyrim.esm | E5B67BDA Update.esm). Для Skyrim.esm так же заменены 3 байта (34 8E 02 00) на NULL т.к. это ссылка на несуществующий ID в критическом блоке NAVI (Navigation Mesh Info Map). Это было замечено еще в предыдущей версии с пересборкой, тогда из-за этого невозможно было скопировать данный блок данных. Для контроля качества были использованы 2 метода. 1) Прогон скриптом декомпрессии форм в TES5EDIT по полученным файлам, как результат - никаких изменений требующих сохранение. 2) Подготовка специального шаблонного файла Skyrim.esm в TES5EDIT путем многократного пересохранения с разжатием\сжатием, чтобы редактор перестал пересортировывать формы в случайном порядке. На основе такого шаблона контрольное финальное разжатие в TES5EDIT и утилитой, как итог - файлы идентичны.

Вы можете разжимать ЛЮБЫЕ esm\esp файлы утилитой. Если собрались разжимать мастер файлы самостоятельно то они должны быть строго оригинальные (но проще скачать готовые, получите такие же). Для этого рядом с программой NifScan создайте папку Data и поместите туда нужные файлы, запустите программу и откройте раздел ESM\ESP.

Обратите внимание так же на эти исправления: раздва,

Требуется:
Skyrim LE (должно так же работать для SE\AE т.к. структура файлов идентичная, не проверялось)

Установка:
Сделайте резервную копию файлов Dawnguard.esm Dragonborn.esm HearthFires.esm Skyrim.esm Update.esm.
Скачать и распаковать файлы с заменой в папке Data.

Удаление:
Вернуть свои или скачать оригинальные файлы и заменить в папке Data.
1 2 »
Аватар Mitradis
Mitradis в 17:30:34, Сегодня
Нравится (2)
Версия 2:
Интересная вещь вылезла, я не посещал Солстейм. В файле Dragonborn.esm у блока OFST в размере забиты нули. Я сначала офигел от такого. Т.е. прога рассчитывала получить длину блока для коррекции смещений, а там нули. Оказывается длина блока слишком длинная и не помещалась в 2 байта и беседка просто забила это важное поле нулями. Ну видимо игре пофиг на это, она по другому парсит файлы. Я сделал коррекцию проги под такую ситуацию. Но замечу, что это не ошибка, а просто нестандартная ситуация. Теперь x64 для SE\AE (но нужно тестирование).
Аватар Berser
Berser в 16:13:13, Сегодня
Нравится
In Creation Club тоже пересобраны мастер файлы или тупо расширены?
Аватар Mitradis
Mitradis в 17:27:15, Сегодня
Нравится
Тут речь не про пересборку. Тут речь только про декомпрессию, в основном мастер файлов.
Аватар Mitradis
Mitradis в 13:58:28, Сегодня
Нравится
Пожалуйста проверьте на SE\AE версии и сообщите результат. У меня нет этих игр.
Аватар Facker12
Facker12 в 16:09:00, Сегодня
Нравится
при обработке файла Skyrim.esm SE вылезла ошибка https://disk.yandex.ru/d/2_pJiuOFLtnCTg
Аватар Mitradis
Mitradis в 17:26:16, Сегодня
Нравится
Это даже не ошибка, просто памяти не хватило. Я соберу в x64 версию. Скиньте сами ESM файлы оригинальные. Я гляну заодно.
Аватар Facker12
Facker12 в 18:41:33, Сегодня
Нравится
Я следил за нагрузкой, ЦП на 20 % загружен был, память 4 Гб поднялось использование. Остальные файлы прошли декомпрессию, но без основы не стал пробовать в игре. Исходники попозже скину, если надо
Аватар Mitradis
Mitradis в 19:33:13, Сегодня
Нравится
Добавил x64 версию. Но вообще даже 32 битная не должна была уходить за 1гб при размере файлов 250мб. Есть подозрение на какой-то баг, который видно именно на SE\AE файлах.
Аватар Mitradis
Mitradis в 13:48:52, Сегодня
Нравится
Мод был скрыт вчера для доработки. Теперь все нормально. Программа теперь изменяет смещения для блоков данных OFST (в мирах группы WRLD). К слову сказать T5E такие блоки просто удаляет с файлов, а тут все на месте и правильные обновленные смещения.
Аватар Facker12
Facker12 в 20:25:54, Вчера
Нравится
Добрый вечер. Требуется:
Skyrim LE\SE? Se же тут не при чем? И второй вопрос, сборка SLMP будет обновляться или отсюда просто файлы вставить?
Аватар Mitradis
Mitradis в 13:51:24, Сегодня
Нравится (1)
Я подразумеваю, что для SE это пригодно т.к. строение файлов совершено такое же. И там тоже есть сжатие форм. Сборка будет перезалита целиком в скором времени, думаю на выходных. Я не буду больше перезаливать обновление для нее т.к. оно и так достигло большого размера.
Аватар Mitradis
Mitradis в 19:27:10, Вчера
Нравится (3)
Страница мода полностью изменена. Изменен подход к исправлению вылетов. Больше никаких пересборок мастер файлов. Читайте описание.
Аватар slava7788
slava7788 в 20:32:53, Вчера
Нравится
Доброго времени суток. Не совсем понятно - теперь нужно вернуть оригинальные мастер файлы а потом прогнать их утилитой, либо вернуть (или не возвращать оригиналы?)  и прогонять конкретные моды на предмет сжатых форм?
Аватар Mitradis
Mitradis в 13:52:36, Сегодня
Нравится
Вы можете скачать готовые или прогнать утилитой ОРИГИНАЛЬНЫЕ файлы игры и получить такие же файлы. Неприменимо для уже модифицированных мастер файлов в любом виде.
Аватар slava7788
slava7788 в 17:30:51, Сегодня
Нравится
Спасибо. Прочитал обновленную информацию - теперь все понятно. Еще раз спасибо.  Утилиту теперь можно использовать для любых esp файлов, если осторожно  smile
Аватар Nord108
Nord108 в 20:52:13, 06.12.2023
Нравится
У мну работает, спасибо smile
Аватар uriahheep
uriahheep в 10:41:53, 05.12.2023
Нравится (3)
wacko
Аватар BrainMacMorn
BrainMacMorn в 00:04:43, 03.12.2023
Нравится
большое спасибо...это замечательно...у меня не хватает слов для благодарности...
Аватар roland1970
roland1970 в 00:53:24, 02.12.2023
Нравится
Очень любопытно! А уважаемый автор планирует создать нечто подобное для Скайрима СЕ?
Аватар uriahheep
uriahheep в 10:48:53, 02.12.2023
Нравится
Костя ! Так у вас всё летает и без этого. Разница в выпуске 10 лет. МОЖ у вас там ужо УСЁ поправили изначально с новым выпуском. Я не верю, что они просто тупо переносили УСЕ файлы. По любому копались там УСЕ СКОПОМ. Ну по любому коррекция была и не хилая.
Аватар roland1970
roland1970 в 12:40:00, 02.12.2023
Нравится (2)
Летает всё из-за того, что СЕ использует больше памяти компа, чем ЛЕ... Беседка, при выпуске СЕ/АЕ, конечно, что-то подправила, но не сильно. Например, модели такие же кривые, как и на ЛЕ... И всё-таки у меня один вылет присутствует при пересечении ячеек, если на перекрёстке недалеко от Монумента Гьюкара повернуть на Фолкрит и подняться вверх в горку. Причём 9 раз всё нормально, на 10 вылет.
Аватар Mitradis
Mitradis в 14:25:46, 02.12.2023
Нравится (1)
Летает не по этому, летает и идет плавно потому что там другой принцип формирования кадра.
Аватар Mitradis
Mitradis в 14:25:03, 02.12.2023
Нравится (1)
в СЕ мастер файлы были пересобраны беседкой.
Аватар roland1970
roland1970 в 11:10:31, 03.12.2023
Нравится
Возможно, что у меня вылет и не из-за границ ячеек, а из-за какого-нибудь блуждающего багованного НПС или ещё по какой причине... Не понимаю, как мне эту ошибку диагностировать. Если б вылет был стабильным, тогда легко, а когда в 10% случаев, то сложно.
Аватар Mitradis
Mitradis в 11:55:15, 03.12.2023
Нравится
Или из-за какого-то мода, ведь это исправление не исправит ошибки в других модах и плагинах.
Аватар Vladimarion
Vladimarion в 12:27:55, 01.12.2023
Нравится
А установка данных мастеров как нибудь повлияет на уже начатую игру, надо ли начинать новую. Скорее всего врай баш будет ругатся на них.
Аватар uriahheep
uriahheep в 12:40:27, 01.12.2023
Нравится (2)
Нормально всё. Я ставил версию 1, потом на неё версию 2 и потом поверху версию 3.
И полёт НОРМАЛЬНЫЙ. Врай баш же не видит то что ты заменил. Он читает Скайрим.есм и пофиг ему.
А что внутри это уже в игре будет работать.
-"повлияет на уже начатую игру, надо ли начинать новую" НЕТ. Играй далее. Игра даже загружается лучше чем если бы поставил к примеру двку на девку но с новой причёской стоящую рядом. Там 70% вылет в первый заход. Второй заход уже срабатывает.

Я нормально пояснил?
Аватар Mitradis
Mitradis в 16:17:29, 01.12.2023
Нравится (1)
да)
Аватар cataclizm1977g
cataclizm1977g в 11:42:28, 01.12.2023
Нравится
В файле 02017F95 есть строчка - <Error: Unknown lstring ID 00001648>, так и должно быть?
Аватар Mitradis
Mitradis в 11:53:01, 01.12.2023
Нравится (1)
Я еще раз повторю: если форма ТАКАЯ - значит она изначально ТАКАЯ. И не всегда это ошибка.
Аватар Vladimarion
Vladimarion в 12:27:03, 01.12.2023
Нравится
ок
Аватар uriahheep
uriahheep в 17:25:27, 30.11.2023
Нравится (1)
Добрый день !
У меня технические вопросы.
Вобщем я поставил Grid Transition CTD Fix и Grid Transition CTD Fix 2.
Теперь в игре стоят ещё какие то:
1-Bug Fixes v1
2-SSME-v1.8.0.0---Skyrim Startup Memory Editor
3-Исправление вылета при загрузке---Load Game CTD Fix-1.0
Они теперь нужны? Или какой то будет мешать?
Они были поставлены когда Видюха и система была старая, а сейчас всё новое.
Может это всё мешается и не нужно?
Ну подскажи.
Аватар Mitradis
Mitradis в 21:47:03, 30.11.2023
Нравится (1)
тут умный человек рассказал что да как
https://gamer-mods.ru/load....6:26:27

А SSME нужно только если вы не используете встроенный в SKSE расширитель.

Load Game CTD Fix нужен только если есть конкретные проблемы.
Аватар slava7788
slava7788 в 15:31:24, 30.11.2023
Нравится
О, круто, проблема со звуком решена, я только заметил, сейчас скачаю заново. Я ставил первый вариант фикса - заметил эту проблему - вернул ванильные, тем более что у меня вылеты раз в 5-6 часов бывали, сборка вылизана хоть и 270+модов плюс CDT фикс стоит, краш фикс, все устраивало, но я хочу и этот фикс поставить - доверяю автру целиком. Проверю этот вариант. Тем более распакованы мастер файлы и почищенные должны в теории +Стабильности  +Скорости дать))
UPD: Проверил, побегал, все отлично, пока глюков нет,  рекомендую.
Аватар cataclizm1977g
cataclizm1977g в 18:13:14, 29.11.2023
Нравится
В Dawnguard.esm в Actor Value Information есть два файла подписанные иероглифами - это так надо?
Аватар Mitradis
Mitradis в 19:12:41, 29.11.2023
Нравится (1)
так в оригинальных файлах.
И это не удивительно, т.к. T5E как есть так и копирует. И если изначально форма была такая - она такая и при переносе. От себя T5E или я ничего не добавляли.

https://postimg.cc/7C3gM9Jj
Аватар grey-grif
grey-grif в 22:35:28, 29.11.2023
Нравится
Это ошибка "Беседки" из-за "Ансишной" кодировки. В первой строчке должно быть - Вервольф, во второй - Вампир-лорд.
1 2 »
avatar
Gamer-mods.ru © 2012 - 2025. Все права защищены. Копирование материалов без указанной активной ссылки на данный сайт запрещено.