Декомпрессия и делокализация мастер файлов
Это исправление явилось результатом продолжительных тестов и попыток, сначала определить причины, а позже найти решение проблемы. Все началось с того, что я поставил мод Путешествующие повозки и обнаружил систематические вылеты. Сначала подозрения пали на сборку, но после тестов на чистой игре все подтвердилось. Были перепробованы все известные "исправления" памяти и прочее, ничего не помогало. Манипуляции с ресурсами так же не дали ничего, включая полное исключение текстур, звуков, диалогов. Блочное отключение квестов, событий, нпс и пр. в мастер файлах (на момент тестов был оставлен только основной файл) тоже не дали результат. В ходе тестирования было выявлено, что перегрузка скриптового движка (в особенности модами с постоянным эффектом плаща) повышает частоту вылетов. Речь пойдет о главных мастер файлах игры. Т.к. после всех манипуляций обнаружилось, что именно манипуляция с ними дает положительный результат.
Первые варианты исправления были основаны на очень сложной, полной пересборке мастер файлов, путем копирования всех групп-разделов и форм в новые файлы. Но из-за несовершенства Tes5Edit редактора, который перемешивает все формы (даже при обычном сохранении) и затирает данные в формах под предлогом "если я не знаю что это такое значит это не нужно игре", для компенсации ошибок, которые он порождал в ходе такого копирования (и обычного пересохранения), пришлось создавать разные утилиты выправления полученных мастер файлов. Но все эти манипуляции были далеки от идеала т.к. не давали оригинальные мастер файлы в их исходном виде. Простая декомпрессия файлов, которую я делал через свой софт, хотя и давала положительный эффект, но не в том объеме как при пересборке и стало понятно, что основная проблема стабильности находится в локализации файлов и нужно было искать способ делокализации этих файлов. По всей видимости попытки игры загружать данные одновременно с esm файла и попутно ждать загрузку из файлов локализации (потому-что эти процессы неразрывно связаны: нельзя передать форму движку игры в которой есть локализация не загрузив данные из string файлов перевода) создает неблагоприятные условия для работы игры. Единственная программа которая способна на такое, не изменяя физически расположение форм в файле и не изменяя данные в формах, это старая утилита Skyrim String Localizer. Но у этой утилиты был свой ряд проблем которые пришлось решать по ходу дела. Первое - это 64 битность программы, которая требовалась для больших файлов. Второе - невозможность программы парсить файлы где длина блоков OFST была помечена как ноль, не являясь таковой. Т.к. я уже писал утилиты для выправления мастер файлов, после Tes5Edit, я был в курсе этой особенности в файлах и с виду неясная для других ошибка программы для меня была очевидна и понятна. Третей и самой сложной проблемой, которую я тоже знал давно, стало исправление адресов смещений, из-за изменения размеров файла, т.к. Skyrim String Localizer очевидно не был рассчитан под эти задачи. Но для этого я просто написал мини утилиту, т.к. уже имел опыт парсинга мастер файлов своим софтом. В итоге, после всех необходимых приготовлений и манипуляций с оригинальными мастер файлами удалось получить после Skyrim String Localizer рабочие и самое главное оригинальные, с точки зрения расположения и содержимого форм, файлы. Все байты в формах оригинальные, изменению подверглись только строки локализации и указатели размеров форм и групп. А т.к. Skyrim String Localizer попутно проводит декомпрессию всех форм в файлах, то к ним не пришлось применять уже имеющийся свой софт для этого. Получились "распакованные" от компрессии и локализации мастер файлы.
За основу были взяты оригинальные мастер файлы от версии LE 1.9.32.0.8 (BD72CCF3 Dawnguard.esm | A9F83BFF Dragonborn.esm | AF82CE6A HearthFires.esm | C665FD56 Skyrim.esm | E5B67BDA Update.esm).
Обратите внимание так же на эти исправления: раз, два,
Требуется:
Skyrim LE
Установка:
Сделайте резервную копию файлов Dawnguard.esm Dragonborn.esm HearthFires.esm Skyrim.esm Update.esm.
Скачать и распаковать файлы с заменой в папке Data.
Удаление:
Вернуть свои или скачать оригинальные файлы и заменить в папке Data.
Первые варианты исправления были основаны на очень сложной, полной пересборке мастер файлов, путем копирования всех групп-разделов и форм в новые файлы. Но из-за несовершенства Tes5Edit редактора, который перемешивает все формы (даже при обычном сохранении) и затирает данные в формах под предлогом "если я не знаю что это такое значит это не нужно игре", для компенсации ошибок, которые он порождал в ходе такого копирования (и обычного пересохранения), пришлось создавать разные утилиты выправления полученных мастер файлов. Но все эти манипуляции были далеки от идеала т.к. не давали оригинальные мастер файлы в их исходном виде. Простая декомпрессия файлов, которую я делал через свой софт, хотя и давала положительный эффект, но не в том объеме как при пересборке и стало понятно, что основная проблема стабильности находится в локализации файлов и нужно было искать способ делокализации этих файлов. По всей видимости попытки игры загружать данные одновременно с esm файла и попутно ждать загрузку из файлов локализации (потому-что эти процессы неразрывно связаны: нельзя передать форму движку игры в которой есть локализация не загрузив данные из string файлов перевода) создает неблагоприятные условия для работы игры. Единственная программа которая способна на такое, не изменяя физически расположение форм в файле и не изменяя данные в формах, это старая утилита Skyrim String Localizer. Но у этой утилиты был свой ряд проблем которые пришлось решать по ходу дела. Первое - это 64 битность программы, которая требовалась для больших файлов. Второе - невозможность программы парсить файлы где длина блоков OFST была помечена как ноль, не являясь таковой. Т.к. я уже писал утилиты для выправления мастер файлов, после Tes5Edit, я был в курсе этой особенности в файлах и с виду неясная для других ошибка программы для меня была очевидна и понятна. Третей и самой сложной проблемой, которую я тоже знал давно, стало исправление адресов смещений, из-за изменения размеров файла, т.к. Skyrim String Localizer очевидно не был рассчитан под эти задачи. Но для этого я просто написал мини утилиту, т.к. уже имел опыт парсинга мастер файлов своим софтом. В итоге, после всех необходимых приготовлений и манипуляций с оригинальными мастер файлами удалось получить после Skyrim String Localizer рабочие и самое главное оригинальные, с точки зрения расположения и содержимого форм, файлы. Все байты в формах оригинальные, изменению подверглись только строки локализации и указатели размеров форм и групп. А т.к. Skyrim String Localizer попутно проводит декомпрессию всех форм в файлах, то к ним не пришлось применять уже имеющийся свой софт для этого. Получились "распакованные" от компрессии и локализации мастер файлы.
За основу были взяты оригинальные мастер файлы от версии LE 1.9.32.0.8 (BD72CCF3 Dawnguard.esm | A9F83BFF Dragonborn.esm | AF82CE6A HearthFires.esm | C665FD56 Skyrim.esm | E5B67BDA Update.esm).
Обратите внимание так же на эти исправления: раз, два,
Требуется:
Skyrim LE
Установка:
Сделайте резервную копию файлов Dawnguard.esm Dragonborn.esm HearthFires.esm Skyrim.esm Update.esm.
Скачать и распаковать файлы с заменой в папке Data.
Удаление:
Вернуть свои или скачать оригинальные файлы и заменить в папке Data.
"Распакованные" мастер файлы LE (176мб)Сервер №1
Оригинальные мастер файлы LE (229мб)Сервер №2





В версии для SE нет смысла. Там нет таких проблем с потоками, там многопоточность и новый движок!
И полёт НОРМАЛЬНЫЙ. Врай баш же не видит то что ты заменил. Он читает Скайрим.есм и пофиг ему.
А что внутри это уже в игре будет работать.
-"повлияет на уже начатую игру, надо ли начинать новую" НЕТ. Играй далее. Игра даже загружается лучше чем если бы поставил к примеру двку на девку но с новой причёской стоящую рядом. Там 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
Или как понять. Если USLEEP это куча поправок, а вы опять исправили эту кучу к исходнику, то нам он не нужен ?
Вобщем непонятка. Хоть я и Модмейкер, но так глубоко не копаю. Вот тут не понимаю.