29.07.2023, 11:23
Очередной апдейт, но в основном он про исправления ошибок )
- Поменял немного механизм сохранения mob файла. Теперь данные сохраняются во временный файл, после чего этот временный файл копируется в точку назначения. Это нужно, чтобы исключить поломку целевого файла (если он уже есть) в случаях, когда в процессе записи происходит какая-то ошибка.
- Теперь редактор читает и обратно пишет в файл секции VSS, DIRICTORY, DIRICTORY_ELEMENTS (в терминологии Mob Reversing Tool).
- Теперь можно в mob файлах хранить свой дополнительный скрипт. Это может быть либо скрипт на другом языке, из которого сторонний редактор может "отдать" чистый игровой скрипт, или какой-нибудь код со своими пометками. Можно просто использовать как блокнот для записей. Чтобы в mob файле появилась такая секция, надо в редакторе при нажатии на кнопку редактирования скрипта зажать Ctrl. Тогда ZoneView отдаст во внешний процесс два пути в качестве аргументов, а не один.
- Дополнительно отмечу, что теперь скрипт из mob файла при открытии во внешнем редакторе пишется не в script.eis файл в папке с ZoneView, а во временный файл, которому гарантированна уникальность системой. Это позволяет, в частности, открывать две копии ZoneView и работать с двумя скриптами одновременно. Надо только учитывать, что ZoneView зачитывает обратно эти файлы в момент, когда умирает запущенный процесс внешнего редактора скриптов. Проще говоря, если вы пользуетесь каким-нибудь notepad++, то он эти файлы из двух ZoneView будет открывать вкладками в одном процессе, что делает невозможным корректное определение факта "завершения редактирования" скрипта одной из запущенных копий редактора. Зачитают обратно обе копии одновременно, когда процесс notepad++ завершится.
- Починил работу инспектора свойств при работе с отрицательными значениями в векторных структурах (в комплекции, в точке привязки партикл-эффекта для факела, в буквальных векторах/позициях и т.д.)
- Починил работу инспектора свойств при работе с полями, которые представлены числами с плавающей точкой. Теперь он считает разделителем целой и дробной части точку, а не тот символ, который задан в настройках системы/локали.
- Починил некорректную работу редактора при удалении кости из списка выбранных у модельки и при чтении .mob файлов с пустым значением кости (такие файлы могла породить старая версия редактора).
- Исправил работу редактора свойств с областями срабатывания ловушек.
- Теперь при ResetRotation правильно обновляется Bounding Box.
Duty is everything, the greatest of joys, the deepest of sorrows.