Перейти к содержанию

OpenMW или мечты иногда сбываются


MEZON

Рекомендуемые сообщения

Официальный сайт OpenMW
Страница загрузки
Ссылка на загрузку актуального билда для Win64 (обновляется ежедневно)
 
Баг-трекер

Wiki

Список задач до релиза 1.0

Репозиторий с исходным кодом на GitLab

Discord: OpenMW (в наличии русскоязычный канал)
IRC: #openmw на irc.freenode.net

Полезные ссылки:
Реестр популярных модов для OpenMW с гайдами по установке
Руководство по портированию ретекстуров в OpenMW
OpenMW на Youtube
OpenMW на GitLab
Диздоки планов развития после 1.0
 
Сторонние проекты, основанные на OpenMW:
TES3MP - реализация мультиплеера для OpenMW.

Тема OpenMW на 4PDA - здесь можно найти сборки OpenMW для Android 5+ и гайды по решению проблем.

OpenMW для VR - основан на OpenXR, готовые сборки (устаревшие) есть только для Windows.

Порт на Switch - к сожалению, в настоящее время им никто не занимается.

Что такое OpenMW?

 

OpenMW - это попытка воссоздать игровой движок для популярной RPG TES3 Morrowind, полноценную реализацию всех особенностей игры с открытым исходным кодом. Для того, чтобы вы имели более полное представление о проекте, вот ключевые особенности OpenMW:

  • Кроссплатформенность - запуск на Windows (7 или новее), Linux, MacOS X, Android (платформы x86 не поддерживаются).
  • Виртуальная файловая система, позволяющая устанавливать моды в отдельные директории, а не засорять Data Files.
  • Поддержка сжатых BSA-архивов для экономии места на диске.
  • Исправление ошибок системного проектирования: "грязные" GMST записи в плагинах, проблема "удвоения" в сейвах, лимит на 255 плагинов и т.д.
  • Улучшенный поиск пути - с помощью статического или динамического (на выбор) построения навигационной сетки на основе геометрии локаций (вместо использования вручную расставленных дизайнерами локаций маркеров).
  • Улучшение интерфейса (поддержка TrueType-шрифтов, масштабирования интерфейса и миникарты, поддержка текстур высокого разрешения для элементов интерфейса, редактирования разметки интерфейса с помощью XML-файлов, клавиатурной навигации, поворота камеры с помощью гироскопов и т.д.).
  • Улучшение графики (поддержка шейдеров постобработки, динамические тени от объектов, Distant Land (хоть и без генератора LOD-ов), анимированная трава, шейдер воды с поддержкой отражений в реальном времени, улучшенная система освещения без лимита в 8 источников света на объект, улучшенная система тумана и многое другое).
  • Улучшенная поддержка анимаций (возможность использовать отдельные файлы для отдельных групп анимаций, возможность добавлять кастомные кости в скелеты, возможность задать новые анимации для топоров, булав и кинжалов, поддержка анимаций открытия-закрытия контейнеров).
  • Начальная поддержка Lua-скриптов для расширения возможностей плагиностроения.
  • Поддержка ICU для локализации Lua-скриптов, шейдеров постобработки и элементов интерфейса.
  • Использование дополнительных ядер процессора для фоновых задач (например, для предварительной загрузки локаций для бесшовного перемещения по игровому миру или для обработки коллизий объектов).
  • Отсутствие лимита 4Гб на адресуемую процессом игры память из-за поддержки 64-битных архитектур.
  • Намного меньшее количество вылетов в сравнении с оригинальным движком.
  • Возможность модификации движка под свои нужды (например, довольно популярен TES3MP - форк OpenMW с поддержкой мультиплеера).

OpenMW выпущен под лицензией GPLv3, весь исходный код написан с нуля.

Нужен ли оригинальный Morrowind для OpenMW?

И да, и нет.

ДА. Прежде чем использовать OpenMW, вы должны легально приобрести и установить Morrowind на ваш компьютер. OpenMW воcпроизводит только техническую сторону игры, и не содержит в себе каких-то материалов, защищенных авторским правом. Используются только данные уже установленной игры, либо с установочных файлов с диска или цифровой копии игры.

НЕТ. OpenMW - самостоятельный игровой движок. Он может быть базой для тотальных конверсий, не использующих файлы Morrowind. В качестве примеров можно привести Robowind Construct и StarWind.

Каково текущее состояние проекта?

Статус

OpenMW уже находится в состоянии "бета": основные функции реализованы, идет работа по оптимизации и паритету с MGE и MWSE. Кроме этого есть ряд проблем, в основном с физикой и поддержкой модов, использующих баги и недокументированные возможности оригинального движка.
OpenMW играбелен (можно нормально пройти сюжет игры и аддонов, ветки гильдий и т.д.), хотя и местами уступает MGE в качестве графики, но выигрывает по стабильности, а на многих машинах и по производительности и скорости загрузки локаций.

Какие технологии вы используете?

OpenMW построен с использованием различных библиотек и инструментов с открытым исходным кодом:

  • Языки программирования: C++ (стандарт C++17 с частичной поддержкой C++20), GLSL, Lua
  • Графика: OpenSceneGraph
  • Физика: Bullet
  • Звук: OpenAL
  • Ввод-вывод: SDL2
  • Интерфейс: MyGUI
  • Поиск пути для ИИ: Recast & Detour

 
Я не программист, как я могу помочь проекту?

 

1. Можно просто играть и отсылать багрепорты

2. Можно тестировать разрабатываемый код, до того, как он попадёт в основную ветку. Там же можно вести обсуждение и предлагать изменения.

3. Можно тестировать моды. Основная цель - выявить проблемы с совместимостью.

4. Можно исследовать механики оригинального движка, особенно актуально в области тонкостей работы скриптов.

5. Можно обновлять Wiki.

6. PR тоже не помешает, особенно если он позволит привлечь тестировщиков и плагиностроителей.

7. Можно донатить разработчикам на Patreon'е:

  • psi29 — проджект лид, поможете закрыть траты на хостинг
  • Capostrophic — тысяча и один фикс + вагон фич
  • AnyOldName3 — тени в OpenMW
  • David Cernat — работа над TES3MP
Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...
  • Ответов 3.1 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

UnPinned posts

Как оказалось, Морровинд для того, чтобы определить, за что отвечает фасттревельный непись, использует не класс (что было бы логично, но это ж беседка), а тип его ячейки, то есть интерьерные NPC -- это проводники гильдии, и соответственно используется цена-константа и звуки каста телепортирующего заклинания, а экстерьерные -- это погонщики силт страйдеров и капитаны кораблей, и у них цена зависит от расстояния до цели.

 

24.png

 

Т.е. в Муравинде если запихнуть капитана-перевозчика в рубку, то он будет брать деньги как за телепорт и телепортировать вас со своего корыта в мгновение ока на другой конец острова, а если вытащить проводника ГМ на улицу, то он начнёт отправлять в другой конец острова за кучу денег + ещё и время будет тикать? Беседка могёт, молодцы.

Изменено пользователем morrow
Ссылка на комментарий
Поделиться на другие сайты

Может кто-нибудь подсказать, как в Морровинде камера от первого лица работает?

Если я правильно понимаю, камера привязывается к узлу Camera из xbase_anim.nif. Но тут нюанс: этот узел привязан к узлу головы, которая вместе с руками привязана к шее.

Собственно вопрос: что и как вращать при вращении камеры? Сейчас OpenMW ворочает шею шеликом, в результате положение камеры меняется при повороте, чего быть не должно.

Изменено пользователем akortunov
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

C 16 августа.

Андрей:

  • Новое логирование теперь используется всей встроенной отладкой.
  • GetPCInJail и GetPCTravelling теперь работают более-менее правильно.
  • Эффекты свечения от каста заклинаний теперь проигрываются на любом объекте.
  • Идл не будет сбрасываться анимациями движения, если у какого-либо набора анимаций их недостаёт и используется идл в качестве фолбека. Относится к стойке каста и к арбалетам (временно сломаны, новый набор фиксов, который собственно большую часть этого пункта приводит в действие, требует тестирования).
  • Исправлен сброс идла анимациями поворота (фиксит глючащих скампов).
  • Исправлен некорректный сброс идла вообще (исправляет проигрывание звуков идла у алитов).
  • Плавнее сделан поворот у актёров, использующих оружие ближнего боя, в бою.
  • Исправлен проигрыш маленького куска анимации замаха при спамклике для атаки, приводящий к невозможности игроком достижения нулевой силы атаки (она всегда была больше нуля).

я:

  • Исправлен бесконечный цикл инициализации одного и того же скрипта, возникающего из-за применения в скрипте команды Equip. Вроде ничего не сломалось. Вроде.
  • Пакеты AiFollow теперь могут следовать за пакетами AiWander и считаться пакетами спутников. Была попытка немного оптимизировать процессинг ИИ.
  • Операторы <>, <<, ><, >> теперь не ломают компиляцию скриптов, а обрабатываются как <, <, > и > соответственно (так ваниль делает). Делает банковские скрипты из последней версии TR менее сломанными — там случайно попал в скрипт <> вместо != и поведение стало некорректным что в ванили, что в опенмв. Но что-то мне кажется, что им хотфикс сделать проще, чем опенмв 0.45.0 выпустить.
  • Для предсказания шанса атаки у ИИ существ используется правильный навык (Combat) вместо специализации навыка. Из-за последних изменений это могло приводить к неатакующим гоблинам с мечами, использующими навык коротких клинков (специализация Stealth, у гоблинов этот навык низкий), так как шанс атаки мог достичь нуля, а до того чистый навык не мог.
  • Выяснил, что ваниль игнорирует soundgen Land. Вообще. Звук приземления играется вручную, как только персонаж начинает приземляться. Теперь это копируется в опенмв. Раньше опенмв полагался на сам кусок анимации прыжка, проигрывающийся во время падения, в котором был этот soundgen, поэтому если анимация падения прерывалась до того, как мог быть использован этот soundgen, звук никогда не играл.

MrTopCat:

  • Исправлено отсутствие штрафа, если штраф за нападение на цель уплачен до того, как цель погибла.
  • Исправлена нотация чисел формата g с большим количеством указанных значимых цифр

"Юбилей": в сумме мной и андреем было пофикшено 100 траблов с трекера, назначенных на 0.45.0, 36 и 64 соответственно - из около 138 открытых и закрытых на момент подсчета вчера.

Ссылка на комментарий
Поделиться на другие сайты

 

Операторы <>, <<, ><, >> теперь не ломают компиляцию скриптов, а обрабатываются как <, <, > и > [...] там случайно попал в скрипт <> вместо !=

А чего <> и != не приравнять друг к другу? В паскалеподобных языках <> всегда было заменой !=, так что это было бы вполне логично.

Ссылка на комментарий
Поделиться на другие сайты

А чего <> и != не приравнять друг к другу? В паскалеподобных языках <> всегда было заменой !=, так что это было бы вполне логично.

Если логические условия в Морровинде и в OpenMW будут вести себя по-разному, поломается обратная совместимость с модами, плюс искать баги в скриптах станет сложнее.

Примерно по этой же причине не добавили составные условия (&&, || и т.д.).

Ссылка на комментарий
Поделиться на другие сайты

Запуск локальных скриптов раньше глобальных — это фича. Где бы нормальную спецификацию по таким вещам достать...

 

Я покурил контракт Кальвуса и выяснил следующее. Есть вот такая движковая штука:

post-20861-0-92387100-1535129983_thumb.gif

После неё какого то фига срабатывают сначала локальные скрипты (Mercenary_Calvus отлавливает minimumProfit < 0).

В openMW скорей всего намудрили, либо её вообще не реализовали, либо реализовали так чтобы что после нажатия на "пусть наемник уходит" первыми срабатывают глобальные скрипты. Прикол в том, что там глобальный скрипт Contract_Calvus совсем отбитый и он начал творить фигню, которую никогда не делал.

И тут разраб openMW (scrawl) принял гениальное решение, а давайте пустим локальные скрипты перед глобальными :royal:.  Там локальный скрипт стопает глобальный и бага не происходит 8-).

Ну пофиг что некоторые плагины станут не совместимы (музыка в тавернах), зато по дефолту всё работает.

 

Ссылка на комментарий
Поделиться на другие сайты

 

Пробовал пускать глобальные скрипты раньше локальных, никакой разницы в поведении компаньона при его уходе не наблюдаю.

В обоих случаях при нажатии на "пусть уходит"  инвентарь закрывается, появляется запись в журнале и диалоговое окно, где наемник ругается. Что конкретно там должно быть не так?

Может, там за эти четыре года проблему решили и этот костыль вообще больше не нужен?

Ссылка на комментарий
Поделиться на другие сайты

Пробовал пускать глобальные скрипты раньше локальных, никакой разницы в поведении компаньона при его уходе не наблюдаю.

В обоих случаях при нажатии на "пусть уходит"  инвентарь закрывается, появляется запись в журнале и диалоговое окно, где наемник ругается. Что конкретно там должно быть не так?

Может, там за эти четыре года проблему решили и этот костыль вообще больше не нужен?

 

Ну может в те времена (18 Sep 2014), что то по иному было с этой штукой.

Инвентарь закрывается и наемник ругается это правильное поведение обеспеченное локальным скриптом, означает что глобальный не сработал.

Ссылка на комментарий
Поделиться на другие сайты

 

Допустим, оно теперь работает. Есть ли где-нибудь информация о порядке выполнения скриптов, на которую можно сослаться, или мне указать в качестве источника "мне тут один чувак с вечноумирающего форума в Рунете написал, что глобальные скрипты должны выполняться раньше локальных"?

Ссылка на комментарий
Поделиться на другие сайты

Хммм. Я косожопиклапик, а потому не рискну этого делать, но если есть мысль по отлову этого момента. Помещаем локальный и глобальный скрипты, которые должны выполниться "одновременно", в одну локацию. Задаем глобальную переменную, условно, А. По умолчанию задаем А=0. Локальный скрипт делает Set A to 1; Глобальный скрипт проверяет значение А. если А==0, выдает сообщение, что первичен глобальный, если А==1, то сообщает, что первичен локальный. Или я что-то упускаю?

Изменено пользователем Дарин
Ссылка на комментарий
Поделиться на другие сайты

Хммм. Я косожопиклапик, а потому не рискну этого делать, но если есть мысль по отлову этого момента. Помещаем локальный и глобальный скрипты, которые должны выполниться "одновременно", в одну локацию. Задаем глобальную переменную, условно, А. По умолчанию задаем А=0. Локальный скрипт делает Set A to 1; Глобальный скрипт проверяет значение А. если А==0, выдает сообщение, что первичен глобальный, если А==1, то сообщает, что первичен локальный. Или я что-то упускаю?

Allofich пробовал и получил результаты, противоположные тем, что получил Larkin. Поэтому я и спрашиваю про документацию.

Ссылка на комментарий
Поделиться на другие сайты

Allofich пробовал и получил результаты, противоположные тем, что получил Larkin. Поэтому я и спрашиваю про документацию.

Чот сомневаюсь, что такая информация существует. Разве что в недрах беседки.

 

А вот факт того, что в ходе двух опытов получены противоположные результаты может означать одно из двух:

1) Какой-то из опытов проведен некорректно

2) Порядок выполнения скриптов не зависит напрямую от того, глобальный скрипт или локальный

По хорошему, надо бы провести серию опытов штук из ста и посмотреть что за статистика выйдет.

Ссылка на комментарий
Поделиться на другие сайты

Допустим, оно теперь работает. Есть ли где-нибудь информация о порядке выполнения скриптов, на которую можно сослаться, или мне указать в качестве источника "мне тут один чувак с вечноумирающего форума в Рунете написал, что глобальные скрипты должны выполняться раньше локальных"?

 

Есть два доказательства:

1) OnChangecell первыми отлавливают глобальные скрипты, какое другое вменяемое объяснение можно найти, кроме как то что первые глобальные, потому что они первые в кадре?

2) Я провел хитровыщербленный тест с getsecondspassed, локальный и глобальный и глобальный скрипт показывали сколько прошло, результат таков, глообальный показывают одно значение, затем локальный такое же значение, это значит что между ними смены кадра не происходит, напротив после локального глобальный показывает другое значение, а getsecondspassed как раз таки считает время сколько кадр меняется (графоний отрисовывается, все дела...), значит кадр меняется после локальных скриптов.

 

А вот то, что на написанное в консоли первыми реагируют локальные скрипты это вообще ничего не доказывает, я думаю что написанное в консоли исполняет глобальный скрипт, который, как полагается, встает в конец глобальных и естественно сразу после него локальные фигачат.

Я подозреваю как Allofich тест проводил, примерно как Дарин написал, но из консоли всё стартовал, но и неверные выводы сделал.

Ссылка на комментарий
Поделиться на другие сайты

С 25 августа.

 

Thunderforge:

  • На всех системах теперь используется нативный диалог выбора цвета в редакторе. Кроме того, на macOS не возникает проблем с кучей открывающихся диалогов.

Андрей:

  • Команды Move и MoveWorld двигают актёров, стоящих на объектах, которые двигаются командами (чтобы актёры в них не проваливались).
  • Перед тем, как запустить немагический снаряд, запускается дополнительный луч, чтобы проверить, нет ли кого прямо перед актёром, чтобы если что, снаряд мимо супостата не пролетел (он мог быть запущен изнутри коллизий супостата).
  • Скиннинг оптимизирован, теперь намного полегче должно быть движку при стоящих реплейсерах тел и всяких Better Clothes при куче гуляющих актёров. В обычной игре разница небольшая.
  • В сообщениях теперь могут быть символы новой строки - там на них движок будет реагировать предупреждением, а не безвременной остановкой компиляции скрипта (напомню, что это нужно для работы трибунальского квеста про театр в версии от 1C).
  • Анимированные ноды не масштабируются дважды.
  • Исправлена скорость мерцания пульсирующих источников света (например, свет от кольца в пещере воплощения), глупая опечатка в вычислении амплитуды мерцания обычных мерцающих источников света и возможные резкие переходы между освещением.
  • Прикрепленные окна теперь правильно обновляются во время самой игры.
  • Анимации поворота добавлен маленький порог, можно двигать мышкой вверх-вниз с определенной вольностью, не боясь её спровоцировать.

я:

  • Исправлено вычисление количества золота при поднятии его мышкой при открытом инвентаре. Раньше оно было строго 1 в этом случае, потому что объект технически 1, но инвентарь это учитывал, и в него попадало все золото, кроме одной монеты, поэтому на мышке только эта монета и висела.
  • Персонажи, которые по идее не могут двигаться, так как парализованы или в нокдауне находятся, теперь и прыгать не смогут.
  • В годмоде теперь нельзя в землю с большой высоты упасть и уйти в нокдаун.
  • Когда персонаж левитирует или как-то ещё летает, он не сможет красться, как и в оригинале (скорость ведь постоянная).
  • Когда человек находится в воздухе, но не летает, в режиме от первого лица сдвиг камеры при переходе в стелс будет, как в оригинале.

kcat:

  • Добавлен обход бага в драйвере OpenAL от Rapture3D, чтобы звуковые эффекты работали, пока там не пофиксят (о проблеме знают).

pineapplemachine:

  • Исправлена пара бед, из-за которых опенмв на macOS не собирался... только он до сих пор у неё не работает.

Из того, что зини пока мешкает сливать:

я:

  • Оказалось, что почти пять лет урон от падения применялся дважды - один раз "сырой", другой -- с учетом всего, что нужно учитывать. Поправлено, теперь "сырой" урон не вычитается.
  • RemoveSpellEffects теперь не убирает заклинания с заданным ID из списка активных, а убирает его эффекты, а само оно остаётся активным. Тупо, но так оно в оригинале работает, а уговор был копировать оригинальное mwscript беспрекословно.
  • А ещё инструкция теперь умеет чистить эффекты с постоянных заклинаний с заданным ID - проклятий, болезней, заклинаний знаков рождения и вроде ещё чего-то.
  • Оказывается, что навык должен повышаться на значительную* сумму при попытке перезарядки предмета камнем душ, даже если эта самая попытка провалилась. С изменениями опыт даётся и при провале перезарядки. * для справки, ту же, что и при зачаровании нового предмета.
  • ну и ещё че-то там по мелочи, и ещё сегодня днем закину кое-что

Андрей:

  • Можно выбрать, сколько зелий сварить вплоть до максимально возможного количества на основе числа ингредиентов. Кроме существующих технических ограничений, беда в том, что это определенно будут эксплуатировать, а алхимия и так несбалансированная. Зини не знает, забить или нет.
  • ИИ магов чуток порасторопнее будет (бой 20 на 20, после/до). Несколько кар... кхм, словарей захардкоженных вещей перестраивались при каждом вызове к магическим эффектам. Ещё ИИ в целом перестанет зря доставать слоты каждого предмета в инвентаре и каждый существующий магический эффект.
  • Прорыв по части масштабирования трутайповых шрифтов при использовании масштабирования интерфейса: хотя книги пока поломаны, новый метод обхода баги в MyGUI позволяет вообще там ничего не патчить (до и после, шрифт один и тот же - Пелагиад, кегль действительно немного мельче).

elsid продолжает ковырять поиск путей, а AnyOldName3 продолжает ковырять тени - вот недавно производильность сильно повысил.

wareya ковырял, ковырял Bullet, и вот вдруг плюнул и в лоб предложил: а чего бы не заменить Bullet на что-то другое? Пока скандалы, интриги и расследования только начались раскрываться.

Ссылка на комментарий
Поделиться на другие сайты

(до и после, шрифт один и тот же - Пелагиад, кегль действительно немного мельче).

А ты в openmw_font.xml Resolution еще увеличь, шрифт будет более четкий.

Ссылка на комментарий
Поделиться на другие сайты

Прорыв по части масштабирования трутайповых шрифтов при использовании масштабирования интерфейса: хотя книги пока поломаны, новый метод обхода баги в MyGUI позволяет вообще там ничего не патчить (до и после, шрифт один и тот же - Пелагиад, кегль действительно немного мельче).

Вроде все доделал. Теперь там можно не только UI масштабировать, но и размер шрифта отдельно изменить в диапазоне от 12 до 20 (bitmap-шрифты Моррки рассчитаны на размер 16).

Здесь скрины шрифта Pelagiad с размерами 20 и 17. Как видно, при крупном шрифте алфавит в журнале надо на три колонки делить, а не на две.

Ссылка на комментарий
Поделиться на другие сайты

В годмоде теперь нельзя в землю с большой высоты упасть и уйти в нокдаун.

К слову, а к магии в режиме бога персонаж ещё уязвим в OpenMW?
Ссылка на комментарий
Поделиться на другие сайты

К слову, а к магии в режиме бога персонаж ещё уязвим в OpenMW?

С 0.44.0 новые отрицательные эффекты к персонажу не применяются, однако существующие не снимаются (правда, здоровье и другие статы у персонажа всё равно убывать не будут). Буду думать, как это сделать ближе к оригиналу, где эффект висит, но силы не имеет, но потом.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Новый новостной пост

С 31 августа:

 

Андрей:

  • Небольшая оптимизация ИИ
  • В NiFlipController теперь проверяется наличие текстуры, чтобы деление на ноль не приводило к вылету
  • Исправлены или заткнуты все оставшиеся предупреждения при сборке Visual Studio 2015/2017

я:

  • RemoveSpellEffects теперь работает на постоянных заклинаниях и вместо того, чтобы стирать заклинания с заданным ID из списка, убирает их эффекты (это значит, что они будут продолжать висеть).
  • Урон от падения применяется только один раз, а не два
  • Почистил горстку ненужных функций
  • Опыт навыка Зачарования от зарядки зачарованных предметов будет даваться, если попытка таковой провалилась (вот всё-таки хз, почему так)
  • Расположение, репутация и ранг во фракции NPC теперь беззнаковые переменные (пределы - от 0 до 255).
  • ИИ больше не будет использовать заклинания Звука, Тишины и Слепоты, если их нет смысла использовать — так как они влияют на шанс каста заклинаний или атаки, ИИ будет их кастовать только тогда, когда супостат находится в соответствующей стойке и в самом деле может что-то делать.
  • К рейтингу оружия в ИИ теперь применяется множитель скорости.
  • Более мощные атаки сильнее влияют на финальный базовый рейтинг урона оружия (поскольку имеют больший шанс быть использованы).
  • Рейтинг брони супостата учитывается в рейтинге оружия. Это не так уж полезно, на самом деле.
  • GMST fAIMagicSpellMult, fAIRangeMagicSpellMult, fAIMeleeWeaponMult, fAIRangeMeleeWeaponMult теперь используются в приоритете действий ИИ. Разница незначительная, ассасины дротики всё ещё бросают только иногда.
  • ИИ будет меньше обожать заклинания с несколькими эффектами "на цель" (в применении множителя была логическая ошибка, умножавшая весь рейтинг на 1,5 при каждом таком эффекте).

Assumeru:

  • У заклинаний с немедленным эффектом по ошибке псевдо-продолжительность была нулевая в вычисления стоимости эффекта при создании заклинания. Так как опенмв, как оригинал без фичи в MCP, добавляет секунду к продолжительности, когда на неё цену заклинания умножаёт, она была равна таковой у стандартных заклинаний (а не заметно больше, как в мурокрыле). Пуристы вознегодовали.

В лимбе:

 

Андрей:

  • Действие взятия активирует drag-and-drop, когда инвентарь открыт. Это позволяет взятым с открытым инвентарём предметам, в которых активация как-то заскриптована, правильно в него перемещаться.
  • При закрытии окна лута фокус клавиатурного управления остаётся на кнопке закрытия без взятия предметов.
  • Нельзя зажимать клавиши принятия, чтобы их соответствующие действия непрерывно выполнялись (их нужно нажимать отдельно). Позволяет избавиться от занятного "эксплойта" с гриндом красноречия, связанного с зажатием Enter в инвентаре при фокусе на убеждении.
  • Исправлено большинство оставшихся косяков, которые нашёл сканер Coverity.

я:

  • Добавлены проверки на то, что NPC действительно бежит или крадётся (находится в соответствующих анимациях) перед тем, как применять соответствующие правки к скорости передвижения. Сейчас при плавании, если зажать Ctrl, персонаж замедляется, вопреки здравому смыслу. При прыжке скорее всего то же самое (особенно не проверял).
  • В меню создания заклинаний используется GMST sTo, как в оригинале, вместо дефиса. Если она отсутствует, используется довольно интернациональный дефис.
  • Монументальное причёсывание проверяльщиков записей в редакторе. Нужно доделать проверку списка эффектов зачарований.

Ну и elsid с AnyOldName3 продолжают делать поиск путей и тени соответственно.

Ссылка на комментарий
Поделиться на другие сайты

ИИ будет меньше обожать заклинания с несколькими эффектами "на цель" (в применении множителя была логическая ошибка, умножавшая весь рейтинг на 1,5 при каждом таком эффекте).

ИЧСХ, в Моррке та же ерунда, т.к. там приоритет прямо зависит от стоимости заклинания в очках магии, так что эта "логическая ошибка" оттуда.

Ссылка на комментарий
Поделиться на другие сайты

 

Сейчас при плавании, если зажать Ctrl, персонаж замедляется, вопреки здравому смыслу.

 

А вы попробуйте вприсядку поплавать ))

Ссылка на комментарий
Поделиться на другие сайты

С 11 сентября.

Андрей:

  • Исправлен флаг форматирования целочисленных значений в их выводе парсером.
  • Когда инвентарь открыт, действие взятия, используемое в частности для предметов, на которых висит скрипт при активации, использует drag-and-drop.
  • При закрытии окна лута фокус всегда остаётся на кнопке закрытия, а не перемещается на кнопку взятия всего.
  • Исправлено большинство оставшихся предупреждений от Coverity.
  • Пофикшены оставшиеся регрессии анимаций.
  • В выпадающие меню редактора вверху добавлены иконки!
  • Теперь нельзя зажимать Enter и другие кнопки активации, чтобы действие активации в интерфейсе постоянно повторялось. В частности, теперь нельзя заспамить NPC убеждением, зажав клавишу, её нужно постоянно заново нажимать.

я:

  • Анимационные проверки на состояния бега и приседания в скорости передвижения добавлены.
  • В меню создания заклинаний теперь используется GMST sTo вместо дефиса в надписи над слайдером максимальной силы эффекта (в английской версии это "to". Если настройка отсутствует, используется дефис, как раньше, потому что его переводить не нужно).
  • По-настоящему исправлен флаг %g, замечено Андреем: горефиксер невнимательно прочитал описание форматирования форматирования чисел с этим флагом, и в опенмв он стал обрабатываться основном так же, как флаг форматирования чисел с плавающей точкой. То есть если раньше (в 0.44.0) отбрасывалась дробная часть, то с изменениями позднее добавлялись не-значимые цифры, и обработка точности была неверной - она означала количество цифр после запятой. Теперь точность обрабатывается как количество значимых цифр, однако дробная часть и научная нотация будут продолжать использоваться, как это и должно быть (если последняя более компактна), без лишних нулей.

Лимб:

Андрей:

  • Поведения coc и fixme сильно приближены к оригинальному. fixme теперь действительно "работает", когда цель — вылезти из чего-то, где ты застрял, а coc переносит к вроде бы правильной двери (пока не протестировано) в требуемой ячейке, первой в списке по ID самой себя и по ID целевой ячейки.
  • GetPCJumping возвращает 1, когда персонаж действительно находится в прыжке, а не просто в воздухе.
  • Трансформации шейпов и данных скиннинга учитываются при скиннинге. Лодки абота побеждены.

я:

  • Как в Морровинде, подводные звуковые эффекты применяются, когда камера под водой, а не сам персонаж под водой. Ушами игрока остаются уши персонажа. Однострочная правка.
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...