
Декомпрессия форм 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.
Речь пойдет о главных мастер файлах игры. Т.к. после всех манипуляций сначала обнаружилось, что их пересборка дает положительный результат. Позже стало ясно, что речь идет о эффекте декомпресии форм, которую я проводил при пересборке мастер файлов. Предыдущая версия этого исправления основывалась именно на таких файлах прошедших сложную процедуру переработки через 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.
Основной архив (174)Сервер №1
Программа имеющая раздел для декомпрессии файлов.Сервер №2
Исходники программы.Сервер №3
Стандартные мастер файлыСервер №4
Интересная вещь вылезла, я не посещал Солстейм. В файле Dragonborn.esm у блока OFST в размере забиты нули. Я сначала офигел от такого. Т.е. прога рассчитывала получить длину блока для коррекции смещений, а там нули. Оказывается длина блока слишком длинная и не помещалась в 2 байта и беседка просто забила это важное поле нулями. Ну видимо игре пофиг на это, она по другому парсит файлы. Я сделал коррекцию проги под такую ситуацию. Но замечу, что это не ошибка, а просто нестандартная ситуация. Теперь x64 для SE\AE (но нужно тестирование).
Skyrim LE\SE? Se же тут не при чем? И второй вопрос, сборка SLMP будет обновляться или отсюда просто файлы вставить?
И полёт НОРМАЛЬНЫЙ. Врай баш же не видит то что ты заменил. Он читает Скайрим.есм и пофиг ему.
А что внутри это уже в игре будет работать.
-"повлияет на уже начатую игру, надо ли начинать новую" НЕТ. Играй далее. Игра даже загружается лучше чем если бы поставил к примеру двку на девку но с новой причёской стоящую рядом. Там 70% вылет в первый заход. Второй заход уже срабатывает.
Я нормально пояснил?
У меня технические вопросы.
Вобщем я поставил 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
Они теперь нужны? Или какой то будет мешать?
Они были поставлены когда Видюха и система была старая, а сейчас всё новое.
Может это всё мешается и не нужно?
Ну подскажи.
https://gamer-mods.ru/load....6:26:27
А SSME нужно только если вы не используете встроенный в SKSE расширитель.
Load Game CTD Fix нужен только если есть конкретные проблемы.
UPD: Проверил, побегал, все отлично, пока глюков нет, рекомендую.
И это не удивительно, т.к. T5E как есть так и копирует. И если изначально форма была такая - она такая и при переносе. От себя T5E или я ничего не добавляли.
https://postimg.cc/7C3gM9Jj