Wake of Gods Forum | Форум Во Имя Богов
ERA III. Новые версии - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99)
+--- Forum: Моды (/forumdisplay.php?fid=104)
+---- Forum: ЭРА / ERA (/forumdisplay.php?fid=182)
+---- Thread: ERA III. Новые версии (/showthread.php?tid=5830)


ERA III. Новые версии - Berserker - 01.06.2020 04:53

ERA 3

Image: era3-poster2.jpg

Image: e29aa1.png Вышла новая мажорная версия HoMM 3 ERA
Текущая версия: 3.0.0 (альфа 0)

Image: f09f9383.png Что нового ?

Image: e2ad90.png Опциональный режим ERM 2.0: именованные константы, локальные переменные и функции на стадии прекомпиляции. На ЕРМ становится возможным писать понятный код с малым числом комментариев.
Image: e2ad90.png Переписан движок ЕРМ: множество исправлений наследия прошлого, универсальный синтаксис, удобная работа со строками, исправление багов, расширение и добавление команд и многое другое.
Image: e2ad90.png Добавлена стандартная библиотека ЭРЫ на ERM: 1 расширенное событие и тысячи предопределённых констант.
Image: e2ad90.png ЭРА становится полноценным ядром для мододелов всех мастей: больше нет навязанных модов, анимации, большинства графических изменений, нового интерфейса, заменённых кампаний и музыки и т.д. Установив ЭРУ вы получаете рабочий скелет со всеми инструментами для создания уникальной сборки под ваши вкусы и желания. Базовый комплект новых монстров/объектов из WoG 3.58 остаётся в качестве ресурсов и включаемых/выключаемых игровых механик.

Image: e29884.png Скачать основной установщик: https://mods.hmm35.ru/Era%203.X.exe
Image: e29884.png Скачать минорное обновление (может устаревать, только для создателей сборок): https://mods.hmm35.ru/Era%20Update.exe

История изменений: (Click to View)



ERA III. Новые версии - Berserker - 03.06.2020 05:33

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.0.1 (альфа 1)

Image: f09f9383.png Что нового ?

Image: e2ad90.png Работать с ЕРМ-функциями стало ещё приятнее: корректный подсчёт переданных параметров, значения параметров по умолчанию, автоинициализация параметров нулями.
Image: e2ad90.png Улучшенная поддержка отладки и тестирования: новые магические константы и первая версия библиотеки тестов Эры. Для обнаруженных багов написаны авто-тесты на ERM.
Image: e2ad90.png SN:M динамические массивы теперь отлично выполняют роль списков. Изменение размеров было оптимизировано. Появился доступ к концевым элементам по отрицательным индексам.
Image: e2ad90.png Исправлено несколько багов движка и недочётов предыдущего релиза.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III - Berserker - 24.06.2020 03:53

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.0.2 (альфа 2)

Image: f09f9383.png Что нового ?

Image: e2ad90.png Добавлено новое событие OnAdvMapObjectHint, позволяющее динамически управлять подсказкой при наведении на любую клетку карты, что активно используется, например, в моде на новые хранилища существ от PerryR.
Image: e2ad90.png Вернулась поддержка старого синтаксиса некоторых ЕРМ команд. Баг с улучшением существ до копейщика и ошибки в моде расширенных жилищ существ пропадут.
Image: e2ad90.png Исправлен баг в библиотеке тестов на ЕРМ и обновлена библиотека, отвечающая за виртуальную файловую систему.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III - Berserker - 30.07.2020 04:09

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.0.3

Image: f09f9383.png Что нового ?

Image: e2ad90.png Добавлена долгожданная возможность безлимитной установки названий/описаний артефактов через ЕРМ без привязки к фиксированному набору строковых переменных.
Image: e2ad90.png ERS-файлы (файлы вог-опций) избавлены от ограничений геройского движка на имя в 12 символов, что позволило восстановить работу мода Era Scripts.
Image: e2ad90.png Добавлено новое событие на получение хода отрядом в бою до фазы регенерации. На необходимость такого события указал автор мода Z Усиленные Боевые Машины IV.
Image: e2ad90.png Множественные мелкие исправления.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III - Berserker - 05.09.2020 04:54

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.0.4

Image: f09f9383.png Что нового ?

Image: e2ad90.png Добавлено событие расчёта дохода города. Лимит дохода увеличен с 32767 до 2 млрд.+
Image: e2ad90.png Улучшена работа с ЕРМ циклами, повышена стабильность ЕРМ движка.
Image: e2ad90.png Для азиатских языков стало доступным переключение элемента ввода текста с игрового на системный.
Image: e2ad90.png Были возвращены оригинальные портреты, описания и специализации Нагаша и Джеддита. В WoG 3.58 эти герои получили Вуаль тьмы и Перестройку городов.
Image: e2ad90.png Исправлено более 7 ошибок, которые ранее могли приводить к вылетам или нестабильному поведению игры.

Image: e29884.png Скачать

История изменений: (Click to View)



RE: ERA III - Berserker - 21.09.2020 03:44

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.0.5

Image: f09f9383.png Что нового ?

Image: e2ad90.png Обновлён плагин WoG-диалогов от igrik: строки с переводом были вынесены в json, добавилась поддержка тонкой настройки шрифтов.
Image: e2ad90.png Исправлен патч для алтаря трансформации. Адские Гидры теперь преобразуются в костяных драконов, а для мумий возвращено оригинальное поведение.
Image: e2ad90.png Существенно доработан мод-основа на ЕРМ. Добавлена поддержка объединения, заполнения и сортировки массивов, расширено событие нового игрового дня и список игровых констант. Стал доступен ряд математических функций.
Image: e2ad90.png Исправлена 1 ошибка с отсутствующим портретом в редакторе карт, 2 ошибки модуля генерации отчётов по ЕРМ и 1 ошибка движка ЕРМ.
Image: e2ad90.png Обновлён ЕРМ редактор.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III - Berserker - 20.10.2020 04:55

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.1.0

Image: f09f9383.png Что нового ?

Image: e2ad90.png Обновлён плагин WoG-диалогов от igrik: добавлена поддержка диалога отображения текста с произвольной BMP/JPG картинкой (IF:B/P диалогов). Реализовано окно просмотра журнала боя по клавише "H" или ЛКМ на нижней панели в бою. Улучшена совместимость с плагинами от majaczek.
Image: e2ad90.png Обновлён плагин диалога просмотра заданий от igrik для совместимости с улучшенным движком игровых диалогов.
Image: e2ad90.png Реализована поддержка сложных диалогов с выбором до 8 картинок (здания, ресурсы, мана, монстры и т.д), возможностью предустановки выбранного элемента, управления выравниванием текста и типом диалога (сообщение, вопрос, всплывающая подсказка, выбор). Авторы: igrik, Berserker.
Image: e2ad90.png Существенно расширена библиотека ERM в виде поставляемого с Эрой мода: добавлено множество констант-идентификаторов (коды клавши, типы данных, опции WoG, игровые пределы, действия в бою, уровни магии, слоты артефактов и многое другое). Добавлено несколько удобных событий, таких как «после инициализации скриптов» и «нажатие клавиши в определённом игровом экране», а также более десятка вспомогательных функций.
Image: e2ad90.png Улучшен движок ЕРМ 2: использование констант в размерах локальных массивов, псевдонимы констант, приведение типов (целое - вещественное), возврат временных массивов из функций, передача локальных строк в функции, укороченные синтаксисы команд, удобный поиск объектов на карте и др.
Image: e2ad90.png Около десятка исправлений и изменений, включая защиту от переполнения опыта существ, корректный возврат клеток входа для объектов без сокрытия стоящих на них героев, возможность выбрать тип атаки монстра при игре в режиме Хот-Сит и др.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III - Berserker - 22.10.2020 04:36

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.1.1

Image: f09f9383.png Кратко: играбельные санта-гремлины, новейшие плагины от igrik'а, качественный генератор случайных чисел и обновление библиотеки ЕРМ.

Image: e2ad90.png Санта-гремлины стали играбельным монстром. Нормальный еженедельный прирост (16) вместо ежедневного, отмена подарков, урон ледяной стрелы = 10 * число сант. Итог: отличный третий апгрейд для мастер-гремлинов.
Image: e2ad90.png В установщик включена новейшая версия плагина исправления багов игры от igrik. Из последнего: исправлены вылеты из-за некорректной установки стены огня при атаке пожарами. Исправлены ошибки и в уже включённых плагинах.
Image: e2ad90.png Добавлены две новые опциональные заплатки: запрет генерации тюрем на случайных картах и однослотовые комбо-артефакты.
Image: e2ad90.png Генератор случайных чисел, порой изрядно раздражающий игроков, заменён на современный алгоритм «Вихрь Мерсена».
Image: e2ad90.png Библиотека ЕРМ дополнилась функциями для копирования и клонирования массивов, хэширования целых чисел, получения текстового описания размера нейтралов на карте и рядом других исправлений.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 09.11.2020 19:48

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.2.0

Image: f09f9383.png Кратко: рост библиотеки ЕРМ в два раза, исправление багов в движке и плагинах, новые и исправленные ЕРМ команды, исправление картинок специализаций монстров, функции для форматирования чисел, дальнейшее развитие системы диалогов игры и др.

Image: f09f9491.png Отдельное спасибо Andarium за поддержку проекта.

Image: e2ad90.png Обновлены плагины "wog native dialog" и "game bug fixes" от igrik. Возможность удобной настройки секций ВоГ-опций через ini-файлы, поддержка настройки, какие картинки будут выбираемы в диалогах, исправление багов с блоком урона и автоклонированием существ.
Image: e2ad90.png Добавлены средства форматирования чисел с учётом локализации и соответствующие json-настройки.
Image: e2ad90.png Переработан файл un44.def (картинки специализаций существ): исправление и оптимизация кадров, палитры. Автор: Bes.
Image: e2ad90.png ЕРМ редактор обновлён. Добавлена поддержка автодополнения новых констант и событий.
Image: e2ad90.png В универсальный диалог с выбором до 8 картинок добавлена возможность делать часть картинок невыбираемыми для декоративных целей.
Image: e2ad90.png ERM функции, наконец-то, получили возможность возвращать строки из функций.
Image: e2ad90.png Разрешено повторное объявлений ЕРМ констант с одними и теми же значениям, что позволит модам под более старые версии движка использовать новые файлы с константами. Сами константы теперь записываются в сохраняемые игры.
Image: e2ad90.png Добавлены ЕРМ команда для приведения числа к фиксированному диапазону и команда для получения значения константы по имени во время выполнения скриптов.
Image: e2ad90.png Добавлено событие, срабатывающее, когда основные настройки для боя уже установлены и можно анализировать отряды противников.
Image: e2ad90.png В ERM библиотеку добавлена встроенное получение большинство параметров боя в глобальные переменные.
Image: e2ad90.png В ERM библиотеку добавлены функции для создания динамических массивов, добавления в них элементов и вытягивания элементов с конца массива, остановки и старта игровых анимаций, открытия произвольных всплывающих DL диалогов, изменения координат DL диалогов, выравнивания положения DL диалогов, форматирования чисел.
Image: e2ad90.png Исправлено ряд багов в движке Эры: IF:Q, FU:S, HookCode.
Image: e2ad90.png И др.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 24.01.2021 04:46

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.3.0

Image: f09f9383.png Кратко: цветные тексты с полупрозрачностью, корректным расчётом ширины, поддержкой азиатских языков и всех режимов HD-мода, а также возможностью ввода тегов в полях ввода; встраивание картинок и иконок в любые тексты, обновление игровых плагинов от igrik, новые наборы портретов монстров, множество новых функций, констант и событий для библиотеки ЕРМ, включая работу со временем, массивами, строками, каталогами, ini-файлами, монстрами и действиями в бою, загрузку настроек из json, работу с диалогами и подсказками; множественные исправления и улучшения в ЕРМ, включая исправления наиболее неприятных выявленных в процессе тестирования багов.

Image: e2ad90.png Реализована поддержка цветных текстов и языка разметки Эры в целом для всех режимов HD-мода.
Image: e2ad90.png Стал возможным ввод невидимых тегов в поля ввода с использованием символов "{" и "}". Реализация может измениться в будущем.
Image: e2ad90.png Реализована поддержка альфа-канала для цветных текстов с использованием синтаксиса {~RRGGBBAA}.
Image: e2ad90.png Значительно улучшена поддержки азиатских языков и текстов с несколькими языками, включая корректный перенос слов и расчёт ширины символов, слов и строк. Для китайского языка выбор файла шрифта происходит на основе размера оригинального игрового шрифта, а не имени файла в архиве.
Image: e2ad90.png Реализована возможность встраивать def-изображения в любые геройские тексты. Поддерживаются авто-обрезка, вертикальное выравнивание и возможность горизонтального отражения.
Image: e2ad90.png Обновлены плагины на исправление багов и родные диалоги от igrik.
Image: e2ad90.png В ресурсы включён файл "monprt44.def" с портретами монстров 44х44 от Bes. Кадры в def-файле отсортированы по идентификаторам монстров.
Image: e2ad90.png Добавлена поддержка обработки одиночных нажатий клавиши ALT.
Image: e2ad90.png Добавлено автосоздание каталогов "Runtime", "Games", "Random_Maps". Каталог "Runtime" предназначен для хранения настроек и данных, генерируемых скриптами и плагинами во время работы игры. Его очистка должна возвращать моды к чистому состоянию после установки.
Image: e2ad90.png Визуальное улучшение синтаксиса ЕРМ: нет нужды писать ":;", достаточно одной точки с запятой.
Image: e2ad90.png Добавлена команда для получения игрока-человека, сидящего за данным компьютером и команда для работы с адресами в оперативной памяти.
Image: e2ad90.png Новое событие "OnStartOrLoad" пригодится для выполнения действий при старте карты или загрузке сохранения.
Image: e2ad90.png Библиотека "Era Erm Framework" пополнилась сотнями новых констант для битовых масок, адресов игровых менеджеров, идентификаторов элементов диалогов и др.
Image: e2ad90.png Добавлены средства удобной обработки событий мыши и клавиатуры с сохранением в глобальных переменных всех необходимых для написания условий параметров.
Image: e2ad90.png Множество новых функций в библиотеке ЕРМ: упаковка и распаковка битовых флагов, перемешивание элементов в массивах, объединение массивов, получение срезов массивов, получение подстрок, получение списка файлов и папок в конкретных каталогах, чтение и запись ini-файлов, загрузка настроек из json-файлов прямо в глобальные переменные, получение лимитов монстров и героев, получение улучшенных и неулучшенных монстров, управление стрельбой отрядов в бою, сохранение игры, очистка экрана от сообщений чата, получение активных диалогов и отправка команд любому элементу диалога, перерисовка элементов диалога и управление подсказкой карты приключений.
Image: e2ad90.png События нажатия клавиши более не срабатывает при наличии фокуса в любом поле ввода. Ввод текстов в строке чата больше не мешает скриптам.
Image: e2ad90.png Ряд изменений и исправлений в ЕРМ командах.
Image: e2ad90.png Доработано событие установки подсказки для клетки или объекта при наведении курсора на карте приключений.
Image: e2ad90.png Исправлено порядка 10 ошибок в ресурсах игры, интерпретаторе и библиотеке ЕРМ.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

Image: image.png

Image: image.png

Image: image.png

Image: image.png

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 24.01.2021 17:19

Неофициальное обновление в сторону версии 3.4.0
Скачать

[+] Added extra parameter to "OnKeyPressed" event. "OnKeyPressed" occurs multiple times, when you hold the key, while it's sometimes necessary to catch only the first time, when key state changes to DOWN and ignore other events until key state changes to UP. The third event argument serves this purpose and is TRUE only when the key changes its state to DOWN.

   !?FU(OnKeyPressed);
   !#VA(key:x) (preventDefault:x) (isDown:x);

[+] The following improvements were introduced in "Era Erm Framework" mod:

    - Added new globally saved parameters for "OnKeyPressed" event:
    i^key_down^: boolean. TRUE only when the key changes its state from UP to DOWN the first time until being released.



RE: ERA III. Новые версии - Berserker - 29.01.2021 04:42

Вскоре на экранах:
Image: image.png



RE: ERA III. Новые версии - Berserker - 29.01.2021 21:49

Неофициальное обновление в сторону версии 3.4.0
Скачать

Коротко: реализована поддержка горизонтального выравнивания текста (включая изображения) в любых диалогах и текстовых элементах.

Code:
[+] Implemented horizontal text alignment support in Era Markup Language (EML).

  To specify alignment use either regular color tags with new align=xxx attribute or new tag "text".
  Possible alignment values: "left", "center", "right".

  Examples:

  {~RosyBrown align=right}Some text with(out) images{~}
  {~text align=center}Some text with(out) images{~}
  {~RosyBrown align="left"}Some text with(out) images{~}
  {~text color="RosyBrown" align="left"}Some text with(out) images{~}

  Attribute values without spaces and special chars may be written without double quotes.



RE: ERA III. Новые версии - Berserker - 30.01.2021 06:06

Обновление до версии 3.3.2
Скачать

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

Code:
[+] Implemented block-style images support for Era Markup Language (EML).

  Use "block" attribute to mark image in text as block-style. New line before and after image will be forced automatically.
  Vertical space in text is also automatically reserved for block images. Moreover, they can be partially scrolled without vanishing effect, occuring for inline images.

  Examples:

  !!IF:M^{~text align=center}{~Orange}Fire camping{~}

  ----
  {~>CDEVIL.def:0:0 valign="middle" block}
  ----

  {~>cndrgn.def:12:2 block}{~}^;

Image: image.png


RE: ERA III. Новые версии - Berserker - 30.01.2021 19:52

Обновление до версии 3.3.3
Скачать

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


RE: ERA III. Новые версии - Berserker - 04.02.2021 01:11

Обновление до версии 3.3.4
Скачать

[+] Добавлена поддержка фоновых цветов для текстовых элементов в 32-битных режимах HD-мода.
[-] Исправления найденных артефактов рендеринга текстов и картинок.


RE: ERA III. Новые версии - Berserker - 24.02.2021 19:24

Обновление до версии 3.3.5
Скачать

[~] Исправлены нерабочие события "OnBeforeBattleReplay" и "OnAfterBattleReplay". Требуется новейший плагин "BattleReplay" от igrik.
После окончания боя, когда пользователь нажимает кнопку "Отмена", генерируется "OnBeforeBattleReplay". Боевое состояние сбрасывается и генерируется событие "OnBattleReplay"
, в котором вы можете вернуть глобальные переменные в предбоевое состояние, потому что OnBeforeBattleUniversal не будет вызываться дважды.


RE: ERA III. Новые версии - Berserker - 07.03.2021 23:19

Обновление до версии 3.3.6
Скачать

[+] Добавлена поддержка 65536-цветных изображений pcx (pcx16) в DL-диалогах. Режим загрузки по умолчанию-256 цветов (pcx8). Чтобы загрузить изображение как pcx16, измените его имя в редакторе диалогов на"****. pcx16". Реальное имя файла в архиве lod/pac должно быть оставлено как есть. Движок распознает новое расширение, преобразует его в ". pcx" и загружает изображение как pcx16.

[+] Отключено срабатывание системного меню ALT + KEY в оконном режиме. Комбинации клавиш ALT могут свободно использоваться скриптами.

[+] Реализовано два универсальных события для обработки локальных событий человека: "OnBeforeLocalEvent" и "OnAfterLocalEvent". Они возникают перед любым триггером !?LE/!$LE
соответственно и получают 3 параметра: координаты x, y и z.

Code:
[+] Added support for 65536-color pcx images (pcx16) in DL-dialogs. Default loading mode is 256 colors (pcx8). To load image as pcx16 change its name in dialogs editor to '*****.pcx16'. Real file name in lod/pac archive should be left as is. The engine will recognise new extension, transform it into '.pcx' and load image as pcx16.

[+] Disabled ALT + KEY system menu triggering in windowed mode. ALT key combinations can be freely used by scripts.

[+] Implemented two universal events for handling human local events: "OnBeforeLocalEvent" and "OnAfterLocalEvent". They occur before any !?LE/!$LE trigger respecively
    and receive 3 parameters: x, y and z coordinates.

    Example:

    !?FU(OnBeforeLocalEvent);
    !#VA(x:x) (y:x) (z:x);
    !!IF:M^OnBeforeLocalEvent %(x) %(y) %(z)^;

    !?FU(OnAfterLocalEvent);
    !#VA(x:x) (y:x) (z:x);
    !!IF:M^OnAfterLocalEvent %(x) %(y) %(z)^;



RE: ERA III. Новые версии - Berserker - 11.03.2021 18:44

Обновление до версии 3.3.7
Скачать

- Улучшен компилятор ERM 2. Стало возможным использовать именованные локальные переменные и быстрые переменные (f..t) в качестве индексов массивов.
Синтаксис: (array[index]) или (array[i]).
Значение индекса вычисляется ПЕРЕД текущим приемником, поэтому не изменяйте его в самом приемнике, как "!!MO998:G?i G(массив[i])".

Для возврата размера массива была добавлена новая магическая константа "SIZE". Использование: (массив[SIZE]). Он компилируется в количество элементов массива.
Таким образом, перебор всех элементов массива стал легким:

!!re i/0/(array[SIZE])/1/-1; Обратите внимание на последний -1, означающий цикл от индекса 0 до РАЗМЕР - 1
!!IF:M^%(array[i])^;
!!ru;

Обратите внимание, что регулярные константы также поддерживаются:
!!IF:M^%(array[PLAYER_TEAL])^;


RE: ERA III. Новые версии - Berserker - 31.03.2021 17:00

Обновление до версии 3.3.8
Скачать

[+] !!VR:F команда теперь может быть вызвана с 3 параметрами: !!VR(var):F(minValue)/(maxValue)/(showErrors);
Если третий параметр указан и не равен (FALSE), значения вне заданного диапазона выводятся в виде ошибки с помощью диалогового окна ERM ошибок.

[+] Реализована автоматическая статическая и динамическая проверка индексов для массивов ERM 2.0. Сообщается о недопустимых индексах и принудительно устанавливается допустимый диапазон.

Пример:


Давайте перепишем пример без ошибок:


[+] Событие DL/(OnCustomDialogEvent) теперь получает все параметры мыши/клавиатуры, доступные через !!CM и отслеживает щелчки вне основной области диалогов.
Проверьте значение CM:T или i^dlg_action^ на:
    (DLG_ACTION_INDLG_CLICK)
    (DLG_ACTION_OUTDLG_CLICK)
    (DLG_ACTION_MOUSE_WHEEL)
    (DLG_ACTION_KEY_PRESSED)

Пример:


Для (DLG_ACTION_MOUSE_WHEEL) действие CM:S или i^mouse_action^ может быть одним из:
    (MOUSE_WHEEL_UP)
    (MOUSE_WHEEL_DOWN)

Пример:


Нажатия клавиш в диалоге теперь можно обрабатывать с помощью Era Erm Framework:


Добавлены две глобальные переменные в Era Erm Framework:
- i^dlg_action^ со значением CM:T (тип действия). Особенно полезно для событий DL-dialog. См. константы DLG_ACTION_XXX.
- i^dlg_id^ с ID активного DL-диалога.

[-] Исправлена ошибка в Era Erm Framework: функции NewIntArray и NewStrArray игнорировали аргумент (storageType).
[-] Исправлена ошибка в Era Erm Framework: данные событий мыши/клавиатуры не восстанавливались в конце триггера.

[!] SN:Q устарел и не должен использоваться, потому что он может нарушить любую функциональность ERM-библиотеки/мода/скрипта.
В частности, использование SN:Q нарушает работу обработчиков событий Era Erm Framework, которые должны срабатывать после всех остальных.

Code:
[+] !!VR:F command can be called with 3 parameters now: !!VR(var):F(minValue)/(maxValue)/(showErrors);
    If the third parameter is specified and not (FALSE), values outside specified range are reported using regular ERM error reporting dialog.

[+] Implemented automatical static and dynamical index checking for ERM 2.0 arrays. Invalid indexes are reported and forced to valid range.

  Example:

  !#VA(msgType[7]:y) (msgColor[7]:y);

  !!re i/(PLAYER_FIRST)/(PLAYER_LAST);
    !!VR(msgType[i]):S(PIC_TYPE_FLAG); Here we get error. Array size is 7, while number of game players is 8. i = 7 is outside of valid 0..6 range
    !!VR(msgColor[i]):Si;              Here we get error. Array size is 7, while number of game players is 8. i = 7 is outside of valid 0..6 range
  !!en:;

  Let's rewrite the example without bugs:

  !#VA(msgType[NUM_PLAYERS]:y) (msgColor[NUM_PLAYERS]:y);

  !!re i/(PLAYER_FIRST)/(PLAYER_LAST);
    !!VR(msgType[i]):S(PIC_TYPE_FLAG);
    !!VR(msgColor[i]):Si;
  !!en:;

[+] Event DL/(OnCustomDialogEvent) now receive all mouse/keyboard parameters, accessible via !!CM and tracks clicks outside dialogs main area.
    Check CM:T or i^dlg_action^ value for:
      (DLG_ACTION_INDLG_CLICK)
      (DLG_ACTION_OUTDLG_CLICK)
      (DLG_ACTION_MOUSE_WHEEL)
      (DLG_ACTION_KEY_PRESSED)

    Example:

      !?DL&i^dlg_action^=(DLG_ACTION_OUTDLG_CLICK);
      !!IF:M^You clicked outside dialog!^;

    For (DLG_ACTION_MOUSE_WHEEL) action CM:S or i^mouse_action^ can be one of:
      (MOUSE_WHEEL_UP)
      (MOUSE_WHEEL_DOWN)

    Example:

      !?DL&i^dlg_action^=(DLG_ACTION_MOUSE_WHEEL);
      !!IF:M^Wheel: %i(mouse_action)^; display 1/-1 for wheel up/down

    Keyboard presses in dialog can be handled now using Era Erm Framework:

      !?DL&i^dlg_action^=(DLG_ACTION_KEY_PRESSED)/i^key^=(KEY_Q);
      !!IF:M^Good buy any dialog!^;
      !!DLi^dlg_id^:C(TRUE);

    Added two global variables to Era Erm Framework:
    - i^dlg_action^ with CM:T value (action type). Specially useful for DL-dialog events. See DLG_ACTION_XXX constants.
    - i^dlg_id^ with active DL-dialog ID.

[-] Fixed bug in Era Erm Framework: NewIntArray and NewStrArray function were ignoring (storageType) argument.
[-] Fixed bug in Era Erm Framework: mouse/keyboard event data was not restored on trigger end.

[!] SN:Q is deprecated and shoudn't be used because it may break any ERM library/mod/script functionality.
    In particular, SN:Q usage breaks Era Erm Framework work flow.



RE: ERA III. Новые версии - Berserker - 01.04.2021 03:05

Обновление до версии 3.3.9
Скачать

[+] Добавлены новые события ERM:
    "OnWinGame" происходит, когда игрок выигрывает сценарий.
    "OnLoseGame" происходит, когда игрок проигрывает сценарий.
    "OnHeroTransfer" происходит после ERM инструкций, но до PI (OnAfterErmInstructions).
    Единственным аргументом является ИД героя, который переносится из предыдущего сценария, как указано в настройках файла кампании.

[+] Добавлены следующие экспортированные функции era.dll:

- функция IsCampaign: TDwordBool;


- процедура GetCampaignFileName (Buf: pchar);


- процедура GetMapFileName (Buf: pchar);


[+] Добавлены следующие новые функции в Era Erm Framework:


[-] Исправлена ошибка со случайной задержкой ввода в элементах управления вводом текста.

Code:
[+] Added new ERM events:
  'OnWinGame'      occurs when player wins scenario.
  'OnLoseGame'     occurs when player loses scenario.
  'OnHeroTransfer' occurs after instructions but before PI (OnAfterErmInstructions).
                   The only argument is ID of hero, which is transferred from the previous scenario, as specified in campaign file settings.

[+] Added the following exported functions to era.dll:

  - function IsCampaign: TDwordBool;

  !!SN:F^IsCampaign^; v1 = (TRUE) or (FALSE)

  - procedure GetCampaignFileName (Buf: pchar);

  !!SN:F^GetCampaignFileName^/?(campaignFileName:z);

  - procedure GetMapFileName (Buf: pchar);

  !!SN:F^GetMapFileName^/?(mapFileName:z);

[+] Added the following new functions to Era Erm Framework:

  !?FU(FileExists);
  ; Returns true if file (not directory) exists.
  !#VA(filePathPtr:x); Absolute or relative path to file
  !#VA(result:x);      Boolean. (TRUE) if file exists and is not a directory

  !?FU(DirExists);
  ; Returns true if a directory (not a file) exists.
  !#VA(dirPathPtr:x); Absolute or relative path to directory
  !#VA(result:x);     Boolean. (TRUE) if directory exists and is not a directory

  !?FU(DeleteFile);
  ; Deletes specified file and returns success flag.
  !#VA(filePathPtr:x); Absolute or relative path to directory
  !#VA(result:x);      Boolean. (TRUE) if file existed and was deleted.

  !?FU(ClearIniCache);
  ; Erases all cached ini file data from memory. You can safely delete ini file afterwards.
  !#VA(filePathPtr:x); Absolute or relative path to ini file

  !?FU(CreateDir);
  ; Creates new directory if it does not exist.
  !#VA(dirPathPtr:x); Absolute or relative path to directory

[-] Fixed bug with random input delay in text input controls.



RE: ERA III. Новые версии - Berserker - 07.04.2021 20:45

Обновление до версии 3.3.10
Только для истории изменений.

[+] Исправлена передача командиров WoG с героями в кампаниях. Ранее передача не работала, если герой был неактивен в переходной зоне.
"OnTransferHero" теперь называется для всех перенесенных героев, даже для неактивных, которые будут использоваться в других зонах.

[+] Добавлена возможность использования анимированных дефов в DL-диалогах. Просто добавьте "анимированный" к имени элемента диалога, чтобы сделать его анимированным. Пример: "Def" => "Def animated".
Для каждого диалога поддерживается до 10 анимированных дефов. Скорость анимации составляет 10 кадров в секунду. Используется одна единственная группа кадров DEF.

[+] Добавлена возможность указывать индекс группы кадров для defs в DL-диалогах. Запишите индекс фрейма как GROUP_INDEX * 100000 + FRAME_INDEX. Групповые индексы отсчитываются от 0.

[+] Другие изменения и исправления.

Code:
[+] Fixed transferring of WoG commanders with heroes in campaigns. Previously transferring didn't work if hero was inactive in transition zone.
    "OnTransferHero" is now called for all transferred heroes, even for inactive ones, which will be used in other zones.

[+] Added possibility to use animated defs in DL-dialogs. Just append " animated" to dialog item name to make it animated. Example: "Def" => "Def animated".
    Up to 10 animated defs are supported for each dialog. Animation speed is 10 frames per second. One single DEF group of frames is used.

[+] Added possibility to specify frames group index for defs in DL-dialogs. Write frame index as GROUP_INDEX * 100000 + FRAME_INDEX. Group indexes are counted from 0.



RE: ERA III. Новые версии - Berserker - 09.04.2021 04:02

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.4.0

Image: f09f9383.png Что нового ?

Image: e2ad90.png Поддержка анимации и выбора группы def-кадров в пользовательских диалогах;
Image: e2ad90.png Поддержка горизонтального выравнивания текста и встраиваемых блочных изображений;
Image: e2ad90.png Поддержка pcx-картинок с глубиной цвета 16 бит в пользовательских диалогах;
Image: e2ad90.png Поддержка обращения к ERM массивам по динамическим индексам;
Image: e2ad90.png Возможность обработки событий клавиатуры, колеса прокрутки и щелчков вне основной области для пользовательских диалогов;
Image: e2ad90.png Новые события победы, поражения, переноса героя между кампаниями, выбора навыков при повышении уровня. Локальные события карты.
Image: e2ad90.png Новые экспортируемые функции для работы с файлами и папками.
Image: e2ad90.png Исправленный перенос командиров в компаниях через транзитные зоны.
Image: e2ad90.png Поддержка 32-битных цветов в монотонных фонах текстовых элементов пользовательских диалогов.
Image: e2ad90.png Поддержка комбинаций клавиш и щелчков с зажатой ALT.
Image: e2ad90.png Обновлённый редактор ЕРМ, исправление багов.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 11.04.2021 06:53

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.4.1

Image: f09f9383.png Что нового ?

Image: e2ad90.png Константа (CURRENT_HERO) (-1) теперь может безопасно использоваться в триггерах. Ранее глобальное значение текущего героя могло быть перезаписано вложенными событиями.

Пример:


Image: e2ad90.png Реализован высокоуровневый API для WoG радио-диалогов. Диалоговое окно настраивается перед показом. Опционально устанавливается значение и строковая метка для любого элемента. Опциональный пункт «Отмена». Возврат результата в виде индекса элемента, значения и строковой метки. Больше не нужно преобразовывать биты вручную.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%20Update.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 13.04.2021 02:39

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.4.2

Image: f09f9383.png Что нового ?

[+] Добавлены следующие функции в Era Erm Framework:


[+] Обновлен редактор ERM.
[-] Исправлен черный фон в меню «Авторы».

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%20Update.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 13.04.2021 05:04

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.4.3

Image: f09f9383.png Что нового ?

[+] Добавлена новая команда ERM VR:B. Она преобразует любое число в логическое значение (1 или 0). Любое ненулевое значение становится 1.

Пример:


Image: e29884.png Скачать: https://mods.hmm35.ru/Era%20Update.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 16.04.2021 06:58

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.5.0

Image: f09f9383.png Что нового ?

[+] Переписана часть старого ERM-движка, который отвечал за вычисление условий команд.

- Можно использовать пробелы и переводы строк для оформления сложных условий.

Пример:


- Можно использовать числа в левой части сравнений. Раньше к ним относились как к флагам.

Пример 1:


Пример 2:


- Одиночные числовые или строковые значения теперь преобразуются в логические. Для чисел это то же самое, что <> 0. Для строк это то же самое, что <> ^^ (пустая строка).

Примеры:


Image: e29884.png Скачать: https://mods.hmm35.ru/Era%20Update.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 18.04.2021 04:05

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.5.1

Image: f09f9383.png Что нового ?

[-] Исправлена ошибка: пробелы после операторов сравнения (<, >, =, <>) все ещё не игнорировались.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%20Update.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 28.04.2021 06:34

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.6.0

Image: f09f9383.png Что нового ?

[+] Реализована замена кадров def на изображения png. Замена происходит на лету, когда игра просит нарисовать def-кадр. Реальный кадр def может отсутствовать, но сам файл def должен существовать. Он может иметь любые размеры, но предпочтительная высота должна быть больше или равна максимальной высоте всех кадров. Png-кадр может иметь любой размер, но всегда будет отображаться в координатах (0, 0) def.

Текущие поддерживаемые типы def: интерфейсные defs, интерфейсные defs с несколькими группами кадров.
Поддерживаемые функции: горизонтальное зеркальное отображение.

Шаблон пути к кадру png: "Data/Defs/[defname.def]/[group_index]_[frame_index].png".
Индексы групп и кадров отсчитываются от 0.
Пример: "Data/Defs/zmenulg.def/0_2.png". Это пункт меню "Загрузить игру", группа 0, кадр 2.

Поддерживаются все форматы png, включая все типы прозрачности.
Самая быстрая отрисовка выполняется для png без прозрачности и 32-битного режима HD.

Язык разметки Era (EML) полностью поддерживает defs с кадрами png. Таким образом, любое изображение png может отображаться практически в любом месте, где выводится текст.
Кадры автоматически обрезаются перед отображением.
Пример: "{~>cndrgn.def:12:2 block mirror}"

Примечание: движок Heroes 3 перерисовывает диалоговые кнопки при каждом движении мыши, поэтому кнопки с частичной прозрачностью рисуются много раз на одном и том же фоне.

[!] Единственным рекомендуемым способом распространения измененных значков артефактов/заклинаний/монстров в модах является использование кадров png.
Кадры png имеют приоритет над файлами def, даже если кадр находится в моде с более низким приоритетом.

[+] Добавлен глобальный менеджер ресурсов, который в настоящее время используется для кэширования png кадров def. Укажите максимальный размер кэша в файле heroes3.ini в ключе "ResourceCacheSize".

[*] ERA больше не поставляется с файлом "heroes3.ini". Вместо этого она поставляется с файлом "default heroes3.ini", который содержит значения по умолчанию для всех настроек, отсутствующих в "heroes3.ini". Таким образом, "heroes3.ini" никогда не будет перезаписан и сохранит настройки пользователя. "heroes 3.ini" будет автоматически создан при изменении любых настроек в игре.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%20Update.exe

Image: image.png Image: image.png

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 30.04.2021 05:47

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.7.0

Image: f09f9383.png Что нового ?

[+] Добавлен новый синтаксис SN:H для работы с текстами заклинаний.

    !!SN:H^spell^/#spell_id/#spell_text_type/$text

    где #spell_text_type-одна из констант SPELL_TEXT_XXX.

    Эта команда делает устаревшим использование SS для текстов.
    Синтаксис удаления работает частично. Настройки сбрасываются, но текст будет восстановлен только при загрузке сохраненной игры.

    Пример:


[+] SN:Команда V#1/#2/#3 теперь применяет операцию "mod 32" к аргументу № 2, позволяя использовать команды на картах XXL без ошибок.

[+] Добавлены глобальные экспортируемые функции для работы с глобальными именованными переменными ERM (i^..^ и s^...^):

int (__stdcall) GetAssocVarIntValue (const char *VarName);
char* (__stdcall) GetAssocVarStrValue (const char *VarName);
void (__stdcall) SetAssocVarIntValue (const char *VarName, int newValue);
void (__stdcall) SetAssocVarStrValue (const char *VarName, const char *newValue);

Не забудьте вызвать (__stdcall) MemFree (void* Addr) для освобождения памяти, возвращаемой строковыми функциями.

[+] Добавлены глобальные экспортированные функции для работы с общим глобальным реестром в памяти ERA.
Реестр может использоваться плагинами для обмена значениями конфигурации и сигналами.

int (__stdcall) GetEraRegistryIntValue (const char *VarName);
char* (__stdcall) GetEraRegistryStrValue (const char *VarName);
void (__stdcall) SetEraRegistryIntValue (const char *VarName, int newValue);
void (__stdcall) SetEraRegistryStrValue (const char *VarName, const char *newValue);

Не забудьте вызвать (__stdcall) MemFree (void* Addr) для освобождения памяти, возвращаемой строковыми функциями.

[+] Добавлены отсутствующие файлы crtrait0.txt и crtraits.txt в hmm35wog.pac.
[*] Сообщение "Не удалось загрузить изображение %s" больше не будет отображаться для отсутствующих изображений в родных диалогах WoG.
[*] Обновлен редактор Erm и Era Erm Framework.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 20.05.2021 05:18

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.0

Image: f09f9383.png Что нового ?

[+] Улучшена поддержка png для кадров def. Исправлены известные ошибки и добавлена поддержка объектов карты приключений.

Для теней используйте 12,5%..75% прозрачного черного цвета. Наиболее часто используемая тень — чёрный 50% прозрачности.
Для объектов карты приключений с флагами используйте цвет $FFFF00 (желтый) в качестве заполнителя цвета флага.

Png-кадры могут иметь разные размеры, но рекомендуется сохранять их значения в пределах def. Для текстов EML кадры png могут иметь любые размеры.
F12 очищает кэш кадров png, позволяя немедленно протестировать изменения.

Png-изображения без прозрачности рисуются как минимум в 4 раза быстрее, чем изображения с хотя бы одним прозрачным пикселем.

[+] Добавлена поддержка замены pcx изображениями png. Замененные файлы pcx могут не существовать, если существует соответствующий файл png.
Чтобы заменить изображение pcx на изображение png, поместите файл png в следующее место:
"Mods/YourMod/Data/Pcx/[любые каталоги, возможно вложенные...]\[имя файла pcx без расширения].png".
Пример: "Heroes 3/Mods/Mixed Neutrals/Data/Pcx/Тест/zpic1005.png" для фона главного меню (zpic1005.pcx).

Многие изображения интерфейса pcx в игре раскрашены текущим цветом игрока с использованием 32-цветных палитр.
Например, фон интерфейса города (hd_towns.pcx в HD mod). Era поддерживает два способа раскрашивания изображений в формате png.
Первый использует одно изображение для всех цветов игрока, как это делается в оригинальных игровых ресурсах.
Используйте специальные 32 цвета из следующих файлов для рисования раскрашиваемых областей:

    - Help/player interface palette.pal
    - Help/player interface palette.png

Второй способ - предоставить уникальное изображение для определенного цвета игрока, например, для фиолетового (ID: 5).
В этом случае ваше изображение png должно иметь следующее имя:
"Mods/YourMod/Data/Pcx/[любые каталоги, возможно вложенные...]\[имя файла pcx без расширения]_p[идентификатор игрока].png".
Пример: "Heroes 3/Mods/Mixed Neutrals/Data/Pcx/Тест/HD_TownS_p5.png" для фиолетового игрока.

    0 красный
    1 синий
    2 коричневый
    3 зеленый
    4 апельсина
    5 фиолетовый
    6 чирок
    7 розовый

Оба метода могут быть объединены. Если Era не находит отдельного изображения для конкретного игрока, она пытается использовать общий png,
заменяя фиксированные 32 кода цвета цветами палитры активного игрока.

[+] Удвоена производительность ассоциативных массивов Era, что повлияло на большую часть кода Era и VFS. Обновлена библиотека vfs.dll.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%20Update.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 16.06.2021 03:41

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.1

Image: f09f9383.png Что нового ?

[+] Реализована поддержка композитных изображений png.
При загрузке любого изображения png для формирования окончательного композитного изображения может быть применен фон из другого изображения pcx8/pcx16 (или их замены png).
Это поведение контролируется с помощью конфигураций json. Например, можно сделать все кадры кнопки "Загрузить игру" составными изображениями:

Code:
{
  "era": {
    "png_backs": {
      "data/defs/zmenulg.def/0_0.png": {
        "file": "zpic1005.pcx16",
        "x": "533",
        "y": "132",
      },

      "data/defs/zmenulg.def/0_1.png": {
        "file": "zpic1005.pcx16",
        "x": "533",
        "y": "132",
      },

      "data/defs/zmenulg.def/0_2.png": {
        "file": "zpic1005.pcx16",
        "x": "533",
        "y": "132",
      },

      "data/defs/zmenulg.def/0_3.png": {
        "file": "zpic1005.pcx16",
        "x": "533",
        "y": "132",
      },
    }
  }
}

Здесь "era.png_backs" - это раздел конфигурации. Укажите относительный путь к изображению png в нижнем регистре как подраздел и следующие параметры в значении:
- "file": имя файла pcx фона. Используйте расширение "*.pcx" для pcx8 (256 цветов с прозрачностью) и "*.pcx16" для pcx16 (65536 цветов без прозрачности).
Реальное используемое имя ресурса для "*. pcx16" — "*. pcx", но расширение указывает Era, какой формат изображения использовать. Если есть замена png для pcx изображения, то она будет использоваться вместо pcx.
- "x": начальная x-координата в фоновом изображении.
- "y": начальная y-координата в фоновом изображении.

Составные изображения позволяют применять полупрозрачность в игровых кнопках. Оригинальные кадры игровых кнопок были сделаны с предварительно нанесенным фоном, таким как фон главного меню (zpic1005.pcx). Таким образом, все разработчики интерфейсных модов должны были применять фиксированный фон к каждому кадру кнопки. Отныне мы можем выпускать скины, которые подойдут для любого фона. Мы также можем применять фиксированный фон для иконок, портретов монстров и навыков, предоставляя изображения переднего плана в формате png с прозрачными областями.

[+] Реализована реальная обрезка png в памяти. Потребление памяти было значительно снижено для изображений с большими прозрачными областями по периметру.

[+] Реализована поддержка стабильных многопользовательских сражений путем введения детерминированного генератора псевдослучайных чисел в PvP-сражениях. Спасибо ZVS за идею.
Детерминированный генератор влияет на все вызовы функции rand(), включая собственные способности существ, возможности опыта стека и команду VR:R.
Состояние генератора формируется следующими значениями: [Боевой раунд, Минимальное значение для генерации, Идентификатор боя, Максимальное значение для генерации, Идентификатор боевого действия], где Идентификатор боя — действительно случайное значение для каждого боя, Боевой раунд — счетчик раундов, а идентификатор боевого действия — счетчик действий.

[+] Добавлена опция "Debug.Rng" в heroes3.ini. Если установлено значение 1, команды rand/srand/VR:R будут генерировать отладочные сообщения.

[+] Положение анимации главного меню acredit.smk больше не зависит от переключателя Rus/Eng в zmess00.txt. Теперь координаты не жестко закодированы,а хранятся в конфигурационном файле json в ключах "era.acredit_pos.x" и "era.acredit_pos.y".

[+] Добавлена новая утилита на javascript для преобразования патчей UN:C в двоичные патчи. См. "Tools/UncToBin/index.html".
[+] Добавлен дополнительный бинарный патч "disable darkness dragons map shadowing.bin.off" в мод WoG.
[+] Добавлены недостающие константы в Era Erm Framework. Новые константы для классов героев: HERO_CLASS_XXX.
[+] Обновлен редактор Erm.
[*] Бинарный патч "no prisons on random maps.bin" включен по умолчанию.
[-] Исправлено поведение генератора случайных чисел в игре: установка состояния родного генератора больше не влияет на состояние генератора Вихря Мерсенна. VR:T не будет возвращать идентичные значения после боя.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 18.06.2021 04:24

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.2

Image: f09f9383.png Что нового ?

[+] Обновлена библиотека patcher_x86.dll. Благодарности: baratorch.
[+] Обновлен плагин "wog native dialogs.era". Благодарности: igrik.
[+] Обновлен плагин "game bug fixes extended.era". Благодарности: igrik.

[*] В Era Erm Framework были внесены следующие изменения:
- Константа (MON_ANTICHRIST) была переименована в (MON_HELL_BARON). Благодарности: Archer30.
- Изменена функция "GetMaxMonsterId", чтобы использовать адрес SoD вместо WoG для лучшей совместимости с другими плагинами.

[+] Обновлен редактор Erm.
[-] Исправлен патч "disable darkness dragons map shadowing.bin.off". Благодарности: Hawaiing.
[-] Удален бинарный патч "campaign heroes as start heroes.bin.off", который был несовместим с HD модом.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 26.06.2021 04:38

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.3

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[-] Исправлена команда HE:P. Ранее, если новые координаты совпадали с предыдущими координатами героя, визуальное обновление не выполнялось.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 03.07.2021 00:50

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.4

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[+] Теперь Era использует два отдельных генератора Вихря Мерсенна.
Первый используется в качестве родной замены rand()/srand()/VR:R для всех случаев, кроме конфигурации перед боем, сетевого PvP-боя и команды VR:T.
Второй используется для VR:T и всегда создает уникальные значения, на которые не влияет повторное заполнение игрового генератора.
Конфигурация перед боем использует оригинальную реализацию rand(), чтобы сохранить препятствия на поле боя такими же, какими их видел картограф во время разработки. Во время сетевого PvP-боя используется полностью детерминированный генератор случайных чисел, как было описано ранее в журнале изменений. Этот генератор в основном зависит от счетчиков раундов и действий.

[-] Исправлена ошибка WoG: NoMoreTactic функция не вызывалась для противоположной стороны в бою, что могло привести к неправильным номерам раундов и десинхронизации.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 23.07.2021 01:04

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.5

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[+] Добавлено новое событие "OnBattleActionEnd", происходящее сразу после действия в бою, но перед проверкой, закончена ли битва, перед выбором следующего активного стека и перед началом нового раунда или автозакрытием рва.

Порядок событий следующий:
    "OnBeforeBattleAction"
    >>> "OnBattleActionEnd" <<<
    "OnBattleRound"
    "OnBeforeBattleStackTurn"
    "OnBattleStackObtainsTurn"
    "OnAfterBattleAction"

[+] В Era Erm Framework были внесены следующие изменения:
- Добавлена константа (DLG_CMD_SET_DEF).

[*] Обновлен редактор Erm.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 31.07.2021 20:33

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.6

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[+] Добавлена поддержка png кадров для def-файлов анимаций заклинаний.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 01.08.2021 02:09

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.7

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[+] Исправлено расположение кадров png с анимацией заклинаний для разрешений игры, отличных от 800x600.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 12.08.2021 23:02

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.8

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[+] PNG замены def-кадров или pcx-изображений теперь учитывают перенаправления def/pcx (SN:R).
[-] Исправлен возможный вылет в функциях рисования png.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 19.08.2021 05:09

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.9

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[-] Исправлены проблемы с отрисовкой отражённых png-изображений. Спасибо helgtla за тест-моды и детализированные отчёты.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 21.08.2021 21:22

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.8.10

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[+] Добавлены константы уровня артефактов в Era Erm Framework. См. ART_LEVEL_XXX.
[-] Исправлена еще одна проблема с отрисовкой отражённых png картинок.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 18.09.2021 21:17

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.9.0

Image: f09f9383.png Что нового ?

[+] Добавлена поддержка zip-архивов. Все zip-архивы из каталога "Data" автоматически сканируются на наличие файлов PNG при запуске игры.
Внутренняя структура zip-архивов должна быть такой же, как если бы все файлы/каталоги хранились непосредственно в корневом каталоге игры.
Например, zip-архив "Mods/TestMod/Data/test_archive.zip" может иметь следующее содержание:
- Данные/Defs/cefres.def/0_0.png
- Данные/Defs/cefres.def/0_1.png
- Данные/Defs/cefres.def/0_2.png

Лучший подход — сжимать каждое изображение PNG с помощью таких инструментов, как "pngcrush", и создавать zip-архивы с 0-уровневым сжатием.
Ненулевое сжатие zip-файлов увеличит общий размер файлов и замедлит процесс загрузки ресурсов.
Файлы в реальных каталогах имеют приоритет над файлами в zip-архивах, и поэтому их следует избегать.

[+] Добавлена поддержка PNG для боевых существ, включая поддержку эффектов клонирования/жажды крови/окаменения.

[+] Добавлена поддержка теней в PNG кадрах для объектов карты приключений и боевых существ. Тень теперь может быть реализована не только в виде черного цвета с альфа-каналом, но и с использованием следующих непрозрачных зарезервированных цветов:
- #FF00FF (непрозрачность тени 50%)
- #FF96FF (непрозрачность тени 37,5%)
- #FF64FF (непрозрачности тени 25%)
- #FF32FF (непрозрачность тени 12,5%)

[+] Добавлена поддержка отдельных перенаправлений кадров PNG в формате DEF.
Шаблон команды: SN:R^defname.def:groupIndex_frameIndex.png^/^новый путь к png относительно корневого каталога.png^.
Предпочитайте использовать одиночные обратные косые черты в качестве разделителей путей, чтобы избежать загрузки и кэширования "a\test.png" и "a/test.png" в виде разных изображений.

Пример:
!!SN:R^cefres.def:1_0.png^/^Data\Defs\cefres.def\5_6.png^;

[+] В Era Erm Framework добавлены следующие функции:

!?FU(ShowAnimatedDefDlg);
; Отображает диалоговое окно сообщения с кнопкой "ОК", текстом и вступительным анимированным DEF-ом.
!#VA(textPtr:x); Текст для отображения
!#VA(defNamePtr:x); Необязательно. Имя def для отображения анимации или пустая строка.

!?FU(GetHeroPrimarySkillsWithoutArts);
; Возвращает герою реальные первичные навыки без артефактов. Снимает все артефакты для получения значений и надевает после. Запускаются события OnEquipArt и OnUnequipArt.
!#VA(hero:x); Идентификатор героя или (ТЕКУЩИЙ герой).
!#VA(attack:x); Выходное значение. Атака.
!#VA(defense:x); Выходное значение. Защита.
!#VA(power:x); Выходное значение. Сила.
!#VA(knowledge:x); Выходное значение. Знание.

!?FU(EquipArtToSlot);
; Пытается поместить артефакт в указанный слот куклы героя, вызывая событие OnEquipArt. Возвращает флаг успеха.
!#VA(герой:x); идентификатор героя, которому нужно присвоить артефакт.
!#VA(арт:x); идентификатор артефакта для одевания.
!#VA(слот:x); идентификатор слота куклы героя для размещения артефакта или (NO_ART_SLOT) для автоматического определения подходящего слота.
!#VA(результат:x); Логическое значение. Флаг успеха.

!?FU(UnequipArtFromSlot);
; Пытается извлечь артефакт из указанного слота куклы героя, вызывая событие OnUnequipArt.
!#VA(герой:x); идентификатор героя, с которого нужно снять артефакт.
!#VA(слот:x); идентификатор слота куклы героя, с которого нужно снять артефакт

[+] Увеличено количество боевых раундов перед мгновенным завершением в быстрых боях с 30 до 100.

[+] Восстановлено расположение по умолчанию диалогов подсказок карты приключений. Они больше не будут центрироваться, а появятся в месте щелчка мыши. Кроме того, большинство всплывающих диалоговых окон с текстом и 1..3 картинками будут появляться в месте щелчка мыши, но только на экране карты приключений, экране города, экране героя, экране встречи героя и экране битвы.

[+] Обновлен менеджер модов до бета-версии 0.96.6.16. Благодарности: SyDr.
[*] Изменена библиотека dpwsockx.dll на версию 4.07.00.0700, что используется в сборке Era Launcher Edition.
[-] Исправлена ошибка WoG: у кровавых драконов раньше был только 20% шанс старения вместо 40%.
[-] Удалены все файлы *.msg из файла hmm35wog.pac.
[-] Удалены heroscr3.pcx и heroscr4.pcx из hmm35wog.pac.
[-] Исправлен неправильный порядок значков в pskl32.def. Благодарности: Archer.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 26.09.2021 00:54

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.9.1

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

Image: f09f9383.png Что нового ?

[+] Улучшено расположение всплывающих подсказок по ПКМ на всех игровых экранах для диалогов с текстом и 0..3 картинками.

[+] Добавлена утилита "Tools/pngcrush" для оптимизации изображений png и скрипт "optimize_png.bat" для пакетной оптимизации изображений.
Скопируйте "pngcrush.exe " и "optimize_png.bat" в корневой каталог с файлами png и подкаталогами или запустите "optimize_png.bat", передав путь к каталогу png в качестве единственного аргумента.

[+] Координаты анимации главного меню acredit.smk, указанные в конфигурационных ключах json "era.acredit_pos.x" и "era.acredit_pos.y", теперь могут выходить за пределы 800x600.
Установите для них значение -1 /-1, чтобы вообще отключить smk-видео в главном меню.

[*] Замены PNG не будут использоваться для каких-либо резервных ресурсов (ресурсы, указанные в качестве значений в конфигурациях "Data\Redirections\Missing\*.json").
Вместо этого используйте имена ресурсов WoG. Пример: "zpic1005.png" для фона главного меню вместо "gamselbk.png".

[-] Исправлена ошибка SoD: текст и картинки не были правильно центрированы в диалогах с текстом и 0-3 картинками.
[-] Исправлена ошибка: специальные цвета теней не работали для объектов карты приключений без флагов.
[-] Исправлена ошибка: невозможно было использовать имена ресурсов WoG, если ресурсы перенаправлялись на другие ресурсы с помощью механизма "Data\Redirections\Missing\*.json".
[-] Исправлена ошибка: некорректно перекрашивалась палитра png в цветах игрока. Для одного и того же изображения использовалось несколько цветов игроков.
[-] Исправлена ошибка: составные изображения не работали с zip-архивами.

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 04.09.2022 09:35

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.9.3

Image: e29884.png Скачать патч-обновление: https://mods.hmm35.ru/Era%20Update.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 06.03.2023 14:04

Image: era3_update_poster.jpg

Image: e29aa1.png Вышло обновление для HoMM 3 ERA
Текущая версия: 3.9.4

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений: (Click to View)



RE: ERA III. Новые версии - Berserker - 30.12.2023 01:10

Code:
Version 3.9.9 (01/2024)
------------------------
[+] Added the following functions to Era Erm Framework:

  !?FU(Hash32);
  ; Calculates int32 digest (hash sum) of arbitrary sequence of bytes.
  !#VA(data:x);    Pointer to data first byte or string
  !#VA(dataLen:x); Length of data in bytes
  !#VA(result:x);  Result hash

  !?FU(MakeRngSeed);
  ; Generates deterministic int32 seed for pseudo random number generator, consuming up to 15 arbitrary int32 parameters.
  ; Example: FU(MakeRngSeed):P(x)/(y)/(z)/(heroId)/?(seed:y); get prng seed, which will be the same for given coordinates and hero
  !#VA(firstArg:x);

  !?FU(SplitMix32);
  ; Generates new random value using SplitMix32 algorithm and modifies input seed value.
  ; Possible syntaxes:
  ;  FU:P?(seed:y) ?(result:y);             Generate random int32 value (negative or positive)
  ;  FU:P?(seed:y)/(min)/(max) ?(result:y); Generate random int32 value in [min..max] range
  !#VA(seed:x);   OUT. Previous generator seed. Pass by reference (using ?), because this value will change after generation
  !#VA(min:x);    Minimum value.
  !#VA(max:x);    Maximum value.
  !#VA(result:x); OUT. Result number

[+] Added the following exported function to era.dll:
  // Calculates data hash sum of arbitrary length
  function Hash32 (Data: pchar; DataSize: integer): integer; stdcall;

  // Generates new random value using SplitMix32 algorithm and provided Seed value. Seed is passed by reference and modified on return.
  function SplitMix32 (var Seed: integer; MinValue, MaxValue: integer): integer; stdcall;

[*] Era now uses SplitMix32 algorithm for seeding Xoroshiro128 PRNG.


Version 3.9.8 (01/2024)
------------------------
[*] Improved network PvP battles stability. The game will always send original (unmodified) battle stack action info to remote side, thus no desynchronization will occur when any script or plugin alters battle action parameters.


Version 3.9.7 (12/2023)
------------------------
[+] Added support for arrays and primitive types in language json files, because they are often used as config files. Numbers are converted to strings, booleans are converted to "0" and "1", null values are ignored (the same, as key-value pair didn't exist at all). Arrays are treated as objects with monotonically increasing string keys ("0", "1", "2").

  Example json:

  {
    "creatures": [
      {
        "id": 2000
      },

      {
        "id":       150,
        "name":     "SuperRobot",
        "isGod":    true,
        "power":    77.345,
        "copyFrom": null
      }
    ]
  }

  Example script:

  !?FU(OnAfterErmInstructions);
  !!IF:M^%T(creatures.0.id) %T(creatures.1.id) %T(creatures.1.name) %T(creatures.1.isGod) %T(creatures.1.power) %T(creatures.1.copyFrom)^;

[-] Fixed bug: png resources where cached forever, causing visual glitches in mods like Random Wallpaper.
[-] Fixed bug: battle obstacles placement differed from SoD.


Version 3.9.6 (12/2023)
------------------------
[+] Added support for multiple language files in a single mod. Json files from Lang\[Language] directory have priority over files in Lang directory root. Current language is stored in heroes3.ini in "Era" section under "Language" key and defaults to "en".

It's recommended to keep any mod main language data in root "Lang" directory and alternative localizations in appropriate subdirectories (en, pl, ru, fr).

[+] Added new exported function to era.dll:
  // Changes current language code in memory without altering ini files or reloading already loaded data
  SetLanguage (NewLanguage: pchar): TDwordBool; stdcall;

  // Reloads all json files from "Lang" directory and current language subdirectory.
  ReloadLanguageData; stdcall;

[-] Fixed "SN:H" command and "OnAdvMapTileHint" event behavior. No hint is applied and no event is generated if tile is not visible by current player.

Автоперевод (Click to View)