Тема для общего обсуждения Gothic 1 Remake: первых впечатлений, ожиданий, атмосферы, визуального стиля, геймплея, боевой системы, персонажей, локаций и отличий от оригинальной Gothic. Здесь можно...
Of Ash and Steel: атмосферный экшен выходит 6 ноября 6 ноября станет важной датой для поклонников сложных и атмосферных игр - именно в этот день состоится релиз долгожданного проекта Of Ash and...
Разработчики "Русской Готики" объявили о старте закрытого плейтеста. Если вы оставляли заявку на участие, не забудьте проверить электронную почту или посмотреть свою библиотеку - возможно игра уже...
Обновлен встроенный плагин DX8 Mouse (Union.vdf), а его исходный код выложен на GitHub.
Внесены изменения в процесс установки. Теперь Player Kit включен в Первичный патч, что устраняет необходимость устанавливать его отдельно.
Для корректной работы Union с модами на Ikarus рекомендуется устанавливать актуальную версию Ninja, даже если его патчи не используются. Ссылка доступна в заголовке.
В SystemPack.ini добавлен параметр UseAdaptiveHooks = 1, который улучшает совместимость модов, патчей Ninja и плагинов. Это может помочь в устранении сбоев до выхода официальных исправлений.
Интересные исправления патчей движка:
[PARADEJUMPB when GAME_ACTION not pressed]
Исправляет баг Gothic 2, возникающий при использовании управления из первой части. Если игрок выполнял атаку и сразу пытался отпрыгнуть, персонаж вставал в блок. Теперь можно уклоняться так же, как в Gothic 1 или при управлении из Gothic 2 Classic.
[CopyDamage to arrow/bolt]
Исправляет ошибку, из-за которой первый выстрел после загрузки игры оказывался холостым. Это происходило, потому что стрела как предмет (Item) не сохраняла урон и загружала его только из шаблонной инстанции.
[CheckInsertNpc - NPC spawn fix] и [Fix double spawn for summons]
Исправляют поведение призванных существ. Первый фикс предотвращает их повторное перераспределение по локации после появления. Второй активирует скрытую анимацию T_SPAWN, заложенную в движке, но ранее блокируемую AI (актуально для демонов, скелетов и големов).
[CheckInsertNpc - NPC spawn fix]
Исправляет баг Gothic 1, из-за которого спаун-менеджер забывал отрисовывать NPC без прописанной рутины. Например, зомби в затонувшей башне Ксардаса могли исчезнуть после выхода игрока из зоны их прорисовки. Теперь применяется аналогичный фикс из Gothic 2.
[CastSpecificSpell - SetAsPlayer fix]
Исправляет ошибку в механике трансформации: монстр сначала загружался в нулевой координате, а затем перемещался к игроку. Это вызывало резкий скачок камеры, сбрасывая AI в округе. Теперь порядок вызовов исправлен.
[GIL_SKELETON_MAGE to GIL_SKELETON]
Устраняет проблему, при которой скелет-маг мог случайно атаковать собственных призванных скелетов. Теперь урон от его магии не распространяется на союзников.
[Sliding fix]
Исправляет баг, при котором NPC, скользя по склону, мог внезапно начать подниматься вверх или застревать. Оригинальный алгоритм был чувствителен к FPS, теперь он адаптирован под любую частоту кадров.
[MobInterCollision]
Решает проблему, из-за которой персонажи могли сталкиваться с невидимыми объектами при взаимодействии с мебелью, воротами, механизмами и прочими интерактивными элементами. Теперь коллизии корректно отключаются у NPC, а не у объектов.
[Rain particle collisions]
Теперь капли дождя не проходят сквозь 3D-модели с коллизией, а не только через левел-меш. Ранее это ограничение использовалось ради оптимизации.
[Turn_Attack_on_Run]
Теперь противники корректно атакуют на бегу, а не просто следуют за игроком.
[Magic_Collision_Fix]
Исправляет баг, из-за которого магические заклинания не наносили урон при попадании в противника в упор.
При возникновении проблем с загрузкой DLL в сообщении отображается конкретная системная ошибка, вызвавшая сбой.
Аналогично работает и с VDFS: если в файловой системе происходит сбой, она попытается отобразить предполагаемую причину ошибки вместо нечитаемых символов.
В дополнение к параметру [Plugins] IgnoreList добавлен UnIgnoreList, который позволяет отменять игнорирование определенных DLL.
В патч-скрипте появилась инструкция #disable, блокирующая выполнение отдельных патчей.
Код:
// В любом патч-файле указывается инструкция #disable [имя патча], которая запрещает
// вызов указанного патча. Она имеет высокий приоритет выполнения, поэтому запрет
// будет распространяться абсолютно на все патч файлы. Имеет смысл использовать
// при написании собственных патчей, в спидранах, плагинах и так далее.
#disable [Lootfix Unconscious]
#disable [CView_Blit_farZ_65534]
// ...
#engine
#patch
// TO DO ...
#/patch
#/engine
В прошлом обновлении была изменена точка входа для инициализации Union. Сейчас изменен еще и механизм ее создания. Цель - улучшить стабильность загрузки библиотек с параметром ранней загрузки ** не поломав совместимость с другими программными пакетами. Для адептов поясню: точка входа переехала в CrtWinMain, но со смещением, чтобы в случае чего не пересечься с возможными хуками продуктов типа дх11 и тп.
На основе баг репортов были обновлены некоторые патчи, в основном касающиеся взаимодействия с интерактивными объектами. Также добавлены два параметра в SystemPack.ini:
INI:
[PARAMETERS]TestHardCollisionsOnLadder = false
; ... разрешает столкновения с полигонами, которые являются частью статического меша локации.
; Включение этого параметра может сбить центровку персонажа, если лестница расположена слишком близко к стене.
; Используйте этот параметр для отладки в случае непредвиденного поведения персонажей на лестницах.
; По умолчанию - false
AdvancedFloorCheckForInteract = true
; ... вспомогательный параметр, который разрешает непрерывную проверку высоты персонажа во время
; его взаимодействия с интерактивными объектами. Позволяет устранить эффект левитации, когда
; bbox модели персонажа слишком большой и выдавливает персонажа наверх при определенных
; фреймах анимации. По умолчанию - true
Добавлены дополнительные проверки в zBinkFix, отключающие масштабирование, если по какой-то причине на целевом ПК эта операция недоступна. Это предотвращает краши на таких машинах.