Плагин OBSE, содержащий исправления ошибок для игрового движка Oblivion.
Описание:

EngineBugFixes — это плагин OBSE, содержащий исправления ошибок для игрового движка Oblivion.
Он различает два типа модификаций движка:

1) Fix Исправляет то, что, вероятно, все сочтут ошибкой.
2) Патч Изменяет то, что может считаться или не считаться ошибкой, но, по моему мнению, может быть улучшено.

Ниже приведен текущий список исправлений / патчей.
Подробную информацию о каждом исправлении / патче можно найти в файле readme.
Все исправления и патчи можно включать / отключать отдельно, чтобы обеспечить максимальную совместимость с другими плагинами OBSE.

Установить:

1) Распаковать файлы во временное место.
2) Скопируйте файлы из папки Data в (папку установки) \ Oblivion \ Data \Uninstall:1) Удалите файлы / папки, связанные с модом.Использование:

Чтобы включить конкретное исправление или патч, установите его значение в файле INI на 1. Чтобы отключить, установите значение на 0.

Исходный код:

Включенный исходный код ( отдельная загрузка) дает вам обзор мест в движке, которые будут исправлены,
а также общее представление о самих исправлениях.
Однако в настоящее время невозможно скомпилировать плагин из кода, так как отсутствует проект, который воссоздает
классы игрового движка и сопоставляет функции с адресами памяти.
Этот проект ОГРОМНЫЙ и в настоящее время не предназначен для совместного использования (во всяком случае, не в общедоступном состоянии …).

Список исправлений.

Исправления:

1) InitRendererFix (v1.0) Исправляет
небольшую ошибку в коде инициализации средства визуализации, которая не позволяет игре правильно отображать окно сообщения об ошибке
при попытке запустить игру с неподдерживаемым разрешением экрана, указанным в INI-файле.

2) SpeedTreeLoadFix (v1.0)
Исправляет отсутствие безопасности потоков в коде загрузки SpeedTree, которое вызывает случайные CTD в пустыне.

3) ShadowCameraFix (v1.0)
Исправляет код тени и собственной тени с использованием устаревших данных камеры при оценке того, должна ли тень актера отображаться или нет.

4) CreatureLightingFix (v1.0)
Исправляет GetLightAmount, всегда возвращающий 0 для определенных типов существ (что влияет на обработку обнаружения).

5) WeaponCollisionFix (v1.0) Исправляет
проблему «плавающего оружия» с некоторыми нестандартными NIF скелетов.

6) SexChangeFix (v1.0) Исправляет
CTD в команде сценария «SexChange» при использовании с актером, у которого в данный момент есть 3D-объект.

7) GetAlarmedFix (v1.0) Исправляет
CTD в команде сценария GetAlarmed при использовании с актером, у которого нет пакета AI.

8) CellDistanceFix (v1.0) Исправляет
небольшую ошибку в вычислении расстояния актера до определенной (внешней) ячейки. Это влияет на поиск пути и сканирование клеток.

9) FollowerDoubleFaceFix (v1.0) (v2.2)
Исправляет хорошо известную ошибку двойного лица / шлема при использовании быстрого перемещения со спутниками.

10) ShutdownCTDFix (v1.0) (v1.7)
Теперь это сборник исправлений для различных проблем, которые могут вызвать CTD при выходе из игры. Подробности смотрите в файле readme.
ПРИМЕЧАНИЕ. В настоящее время в коллекции исправлены некоторые, но (пока) не все причины CTD при завершении работы.

11) DeathItemFix (v1.0) Исправляет
небольшую ошибку и утечку памяти в функции, которая разрешает предметы смерти.
Ошибка возникает только тогда, когда указанный выровненный список производит более одного элемента (что случается не очень часто).

12) DropItemFix (v1.0) Исправляет
CTD, когда игра пытается добавить владение персонажем игрока к выпавшему предмету без дополнительных списков данных.

13) LoadCreatedBaseObjectsFix (v1.0)
Это НЕ исправление ошибки движка, а скорее исправление ошибки OBSE, которое, будем надеяться, в будущем устареет.
Исправляет идентификаторы форм в созданных базовых объектах, которые не разрешаются должным образом после изменения порядка загрузки.

14) PlayerDeathCameraFix (v1.1) (v1.3) (v2.0)
Предотвращает застревание камеры на уровне земли после использования команды Resurrect на плеере.
Кроме того, таймер меню LoadGame сбрасывается, поэтому меню не появляется сразу после второй смерти игрока.

15) UseItemAtPackageFix (v1.2) (v1.3)
Исправляет пакеты UseItemAt AI, не работающие должным образом с определенными типами объектов или работающие только в первый раз.

16) Cell3x3LocalMapIconsFix (v1.2) Исправляет
значки / маркеры, не отображаемые на локальной карте, если внешняя ячейка с определенными координатами x / y сетки карты определена или изменена в не-главном файле.

17) CellChangeCollidedArrows3DFix (v1.3)
Исправлена ​​ошибка, из-за которой стрелки, застрявшие в игроке, превращались в комок на земле при перемещении в незагруженную ячейку.

18) ScriptPackageFix (v1.3) Устраняет
некоторые проблемы, связанные с командами сценария AddScriptPackage / RemoveScriptPackage. Подробности смотрите в файле readme.

19) HUDInfoQualityIconFix (v1.3) Исправляет
значок HUD для качества объектов типа устройства, которые не отображаются из-за ошибки в коде.

20) CreatureBipedObjectEquipFix (v1.4) (
v1.7) Исправляет трехмерное дублирование существа каждый раз, когда команда сценария EquipItem используется на нем с объектом одежды или брони (кроме щитов).

21) DialogueWaitFix (v1.4)
Исправляет диалог AI-пакета между двумя NPC, который иногда застревает в процедуре ожидания.

22) ExteriorCellTempObjectsLoadFix (v1.4)
Исправляет временные объекты ячеек, которые не загружаются, если определяющий мод является основным файлом и не загружается с тем же индексом мода, что и в редакторе.

23) BuyItemFromContainerFix (v1.5) (v2.1)
Исправляет ошибку, которая не позволяет NPC покупать еду и т. Д. Из контейнеров, принадлежащих торговцам. Эта ошибка может иногда приводить к CTD.

24) DialogMenuEmptyTopicsFix (v1.5) Исправляет
список тем диалогового меню, который оставался невидимым, если диалог был запущен, когда меню были скрыты.

25) LoadCellTempDataFix (v1.5) (v2.2)
Исправляет измененные внешние ячейки, которые не загружаются, если объект перемещается в ячейку, когда ячейка не была загружена.

26) RunScriptLineFix (v1.5)
Исправляет ошибку OBSE, которая влияет на команды сценария RunScriptLine и RunBatchScript.

27) SpellPurchaseCrashFix (v1.6) Исправляет
CTD при покупке последнего заклинания из списка заклинаний продавца с помощью клавиш со стрелками на клавиатуре.

28) GlobalAnimTimerFix (v1.6)
Регулярно сбрасывает глобальный таймер анимации, чтобы избежать проблем с анимацией, не являющейся актером, после долгого времени воспроизведения.
Эта ошибка широко известна как ошибка атомной бомбы.

29) AIPackageScheduleEvaluationFix (v1.6) Исправляет некорректную
оценку расписания пакетов AI для расписаний, выходящих за полночь, и продолжительности расписания> 24 часов.
Ознакомьтесь с файлом readme, чтобы узнать подробности и ограничения новой функции оценки.

30) AcquireWeaponNoAmmoFix (v1.7)
Исправлена ​​(редкая) ошибка, из-за которой в бою актеры застревали в маневре «Захват», если боевой ИИ выбирает стратегию дальнего боя,
но у актера в настоящее время нет боеприпасов.

31) BloodDecalMemLeakFix (v1.7) Устраняет
серьезную утечку памяти в коде генерации декалей крови, если ini-параметр ‘bDecalsOnSkinnedGeometry’ установлен на 0.

32) BowAndTorch3DFix (v1.7) Исправляет
CTD, вызванный случайным прикреплением 3D-фонарика к спине оружия. node в некоторых случаях, если у актера есть и лук, и факел.

33) PickupItemOwnershipFix (v1.7) Исправляет
две ошибки, связанные с подбором упавших ингредиентов.

34) SummonAILocationTargetFix (v1.8) Исправляет
ошибку в инициализации пакета AI вызванного существа, которая не позволяет установить целевое местоположение пакета.

35) VerboseMessagesFix (v1.8)
Исправление коллекции ошибок, связанных с консольной командой «Verbose».

36) UIMessageFix (v1.8) Исправляет зависание
очереди сообщений уведомления, если в очередь попадает пустое сообщение. Также исправлена ​​ошибка, связанная с таймером отображения субтитров.

37) CrimeGoldRemovalFix (v1.8) Исправляет награду
за NPC, которая не удаляется после оплаты и / или после воскрешения актера.

38) ActivateDoorWhileInvisibleFix (v1.8)
Предотвращает застревание игрока после активации загрузочной двери, когда значение актора Invisibility не равно 0.

39) ActorWithoutProcessCTDFix (v1.9)
Исправление сбора CTD, вызванное некоторыми командами сценария при вызове актера, который в данный момент не имеет назначенного процесса ИИ.

40) BoundItemEvaluationFix (v1.9)
Устраняет потенциальные проблемы с экипированным связанным оружием во время оценки снаряжения.

41) CanHaveFlamesFix (v1.9)
Предотвращает CTD в команде сценария CanHaveFlames при использовании на ссылке, у которой нет 3D.

42) HighProcessTeleportFix (v1.9) Исправляет
акторы, которые иногда не могут пройти через загрузочные двери, если загружены и текущая, и целевая ячейка.

43) MagicCastFailureSoundFix (v1.9) Исправляет
звуки сбоя каста игрока, которые больше не воспроизводятся после очистки ячейки и аналогичных действий по очистке.

44) PackageStartEquipmentFix (v1.9) Исправляет
оценку пакета AI NPC, не проверяющую флаги Unequip Armor + Unequip Weapons в новом пакете при изменении пакета.

45) SoundEffectsFix (v1.9)
Исправляет трехмерные звуковые эффекты в текущей ячейке, которые больше не воспроизводятся после закрытия меню.

46) StaffEnchantmentCastTypeFix (v1.9) Не позволяет
меню зачарования рассматривать посохи как обычное оружие и создавать эффекты зачарования, которые используют диапазон эффекта касания
вместо диапазона цели (который является правильным диапазоном эффекта для посохов).

47) UnloadedObjectReferencesFix (v1.9)
Исправляет ошибку в коде, которая отменяет регистрацию выгруженных объектов из всех других объектов, которые могут ссылаться на них. Ошибка предотвращает
правильную отмену регистрации выгруженного объекта в двух местах в экземпляре персонажа игрока, что вызывает раздувание сохраненной игры +,
возможно, CTD.

48) WeaponSwitchFix (v1.9) (v2.0)
Исправлена ​​ошибка, из-за которой существа с луком и оружием ближнего боя переключались на рукопашное вместо оружия ближнего боя, когда игрок приближался слишком близко для оружия дальнего боя.

49) CellChangedRefMemLeakFix (v2.0) Исправляет
утечку памяти и возможные CTD при выключении, если определенные ссылки, которые переместились из своей исходной ячейки, загружаются из сохраненной игры.

50) ObjectPaletteFix (v2.0) Исправляет
палитру объектов Gamebryo AV (структура для быстрого поиска частей сетки в трехмерном объекте объекта по имени), содержащую указатели на удаленные объекты
после того, как актер снимает снаряжение с элемента, что вызывает CTD, если к такому объекту обращаются позже. .

51) SavedHavokDataFix (v2.0) (v2.2)
Устраняет две проблемы, связанные с сохранением и загрузкой данных havok (тряпичная кукла).

52) CombatBuffSpellSelectionFix (v2.1)
Исправляет неправильную классификацию заклинания Absorb Magicka (вместо Spell Absorption) как заклинания с усилением во время выбора боевого заклинания NPC.

53) HaggleDispositionFix (v2.1) Исправляет
игру, не использующую расположение торговца по отношению к игроку для расчета цен на предметы, когда игрок хочет что-то продать.

54) RemoveExcessDeadFix (v2.1)
Предотвращает постоянное отключение возрождающихся актеров после их удаления с помощью процедуры игры «Удаление лишних мертвых»
(которая пытается сохранить производительность в сложной сцене путем выборочного отключения мертвых актеров).

55) SleepCastLoopFix (v2.1)
Предотвращает застревание NPC в цикле анимации каста, когда они пытаются восстановить свое здоровье, пытаясь использовать кровать или скатку.

56) SneakPowerAttackFix (v2.1) Исправляет
обычную анимацию скрытой атаки, заменяющуюся анимацией силовой атаки, когда навык акробатики игрока равен 50 или выше.

57) BackgroundCellLoadFix (v2.2)
Исправляет две ошибки, связанные с фоновой загрузкой внешних ячеек, влияющие на общую стабильность и производительность.

58) InventoryFix (v2.2)
Исправление коллекции для проблем, связанных с контейнерами и инвентаризацией акторов. См. Подробности в readme.

Патчи:

1) SmallBushBillboadPatch (v1.0) Уменьшает
пороговый размер для удаленных рекламных щитов LOD-дерева с 200×350 до 10×10. Становится виден отдаленный LOD для небольших кустов.

2) EvaluateEquipmentPatch (v1.0) (v1.8)
Изменяет иерархию оценки для слотов оборудования, чтобы элементы, использующие несколько слотов, выбирались только самым высоким слотом в
иерархии. Пожалуйста, обратитесь к файлу readme для получения подробной информации о том, что делает этот патч, а также о потенциальных побочных эффектах.

3) CombatBlockPatch (v1.3)
Изменяет поведение блокировки, чтобы предотвратить блокировку NPC, даже если их никто не бьет.

4) FloraOwnershipPatch (v1.4)
Изменяет сбор растений так, что сбор собственных растений считается преступлением.

5) HavokMovedDataLoadPatch (v1.4) (v2.0)
устарело. Удалено и заменено на SavedHavokDataFix в версии 2.0.

6) TerrainLODLoadPatch (v1.4)
Позволяет называть файлы сетки и текстуры LOD альтернативным способом, независимым от порядка загрузки, чтобы избежать проблем LOD с мировыми
пространствами, определенными в мастер-файлах. Для более подробного объяснения, пожалуйста, обратитесь к файлу readme.

7) DialogConditionsEvalPatch (v1.7)
Предотвращает неожиданное поведение при оценке условия элемента темы диалога, когда список условий родительского квеста элемента темы заканчивается
условием, для которого установлен флаг OR.

8) PluginLoadErrorMessageBoxPatch (v1.7)
Показывает окно сообщения, когда игра CTD при запуске из-за отсутствия главного файла. В сообщении указывается имя плагина
, вызвавшего CTD, и отсутствующий мастер-файл.

9) SleepWearPatch (v1.9)
Унифицирует поведение неигровых персонажей во сне, когда они входят в кровать. См. Подробности в файле readme.
Этот патч отключен в ini-файле по умолчанию и должен быть включен пользователем, прежде чем его можно будет использовать.

10) AIPackageNeverRunFlagPatch (v2.2)
Позволяет оживить пакеты AI, которые были помечены игрой с помощью флага «Никогда не запускать», потому что их целевой пакет умер или был удален.

11) ParentCellUpdatePatch Запрещает
игре сохранять данные о движении (положение / вращение и т. Д.) Для каждого постоянного объекта во внешних ячейках при загрузке.