Делюсь новостями:
-) Перенёс, доработал и адаптировал много правок из ветки 2.55. ЕРМ скрипты из событий карт больше не грузятся, mapname.erm, mapname.cmd тоже. Баги, связанные с тем, что в памяти оставались прежние скрипты при начале новой игры или переходе между миссиями, соответственно, исчезли.
-) Движок загрузки/сохранения/экспорта скриптов свой. Больше нет ограничения на 100 скриптов (ранее те, что больше 99, сливались в один на лету).
-) Загрузка игры с тем же набором скриптов происходит почти мгновенно, ЕРМ не интерпретируется повторно.
-) Память ЕРМ увеличена до 128 МБ в пике.
-) Сильно улучшена и исправлена от багов система отчётов об ошибках как на этапе анализа ЕРМ, так и на этапе исполнения. Точные имя файла, строка и позиция, аккуратный контекст ошибки, отсутствие надоедливых двойных и тройных сообщений об ошибках, пропуск всего ресивера при ошибке в его подкоманде.
-) Производительность кода ВоГ значительно подросла. Этого удалось добиться за счёт умного зануления в исполняемом файле прологов и эпилогов функций ВоГ, в которых сохранялся отладочный мусор (потому как он Эрой не используется вообще). В результате многие простые и часто вызываемые функции сильно разгрузились.
-) Каждая карта может иметь свою папку по имени файла карты, например, Maps\Arrogance. Там может быть папка Data\s с произвольным набором ЕРМ скриптов. Эти скрипты всегда грузятся первыми, могут иметь любые имена, тоже сохраняются в файлах сохранений и даже экпортируются по F11 и перезагружаются по F12.
-) Помимо своих скриптов карта может иметь свои Lang\*.json файлы, которые так же сохраняются в файле сохранений, применяются, экспортируются, перезагружаются. Таким образом, можно распространить свою карту со скриптовыми особенностями в локализуемом формате и с поддержкой отладки.
-) Если карта — часть кампании, её имя берётся из имени файла кампании + "_" + индекс карты, начиная с нуля. Для Доброго Самаритянина это Maps\Zc2_0, Maps\Zc2_1 и т.д.
Поэтому скриптовые кампании тоже распространяются в паре h3c + папка.
-) Предупреждение о проблемах с log.txt больше не будет беспокоить Феанора.
-) Новые API Splice и HookCode доработаны, поддерживают передачу пользовательских параметров и разные соглашения о вызовах.
-) Старые сохранения загрузить не удастся, потому как ранее Воговский код по-своему сохранял и загружал скрипты. Это вынужденная мера.
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|